azext_edge/edge/providers/orchestration/common.py (106 lines of code) (raw):

# coding=utf-8 # ---------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License file in the project root for license information. # ---------------------------------------------------------------------------------------------- from enum import Enum # Urls ARM_ENDPOINT = "https://management.azure.com/" MCR_ENDPOINT = "https://mcr.microsoft.com/" GRAPH_ENDPOINT = "https://graph.microsoft.com/" GRAPH_V1_ENDPOINT = f"{GRAPH_ENDPOINT}v1.0" GRAPH_V1_SP_ENDPOINT = f"{GRAPH_V1_ENDPOINT}/servicePrincipals" CUSTOM_LOCATIONS_RP_APP_ID = "bc313c14-388c-4e7d-a58e-70017303ee3b" CONTRIBUTOR_ROLE_ID = "b24988ac-6180-42a0-ab88-20f7382dd24c" EXTENDED_LOCATION_ROLE_BINDING = "AzureArc-Microsoft.ExtendedLocation-RP-RoleBinding" ARC_CONFIG_MAP = "azure-clusterconfig" ARC_NAMESPACE = "azure-arc" PROVISIONING_STATE_SUCCESS = "Succeeded" # Key Vault KPIs KEYVAULT_CLOUD_API_VERSION = "2022-07-01" # Custom Locations KPIs CUSTOM_LOCATIONS_API_VERSION = "2021-08-31-preview" AIO_INSECURE_LISTENER_NAME = "default-insecure" AIO_INSECURE_LISTENER_SERVICE_NAME = "aio-broker-insecure" AIO_INSECURE_LISTENER_SERVICE_PORT = 1883 TRUST_ISSUER_KIND_KEY = "issuerKind" TRUST_SETTING_KEYS = ["issuerName", TRUST_ISSUER_KIND_KEY, "configMapName", "configMapKey"] EXTENSION_TYPE_PLATFORM = "microsoft.iotoperations.platform" EXTENSION_TYPE_OSM = "microsoft.openservicemesh" EXTENSION_TYPE_ACS = "microsoft.arc.containerstorage" EXTENSION_TYPE_SSC = "microsoft.azure.secretstore" EXTENSION_TYPE_OPS = "microsoft.iotoperations" OPS_EXTENSION_DEPS = frozenset([EXTENSION_TYPE_PLATFORM, EXTENSION_TYPE_SSC, EXTENSION_TYPE_ACS]) EXTENSION_TYPE_TO_MONIKER_MAP = { EXTENSION_TYPE_PLATFORM: "platform", EXTENSION_TYPE_OSM: "openServiceMesh", EXTENSION_TYPE_ACS: "containerStorage", EXTENSION_TYPE_SSC: "secretStore", EXTENSION_TYPE_OPS: "iotOperations", } EXTENSION_MONIKER_TO_ALIAS_MAP = { "platform": "plat", "openServiceMesh": "osm", "secretStore": "ssc", "containerStorage": "acs", "iotOperations": "ops", } EXTENSION_ALIAS_TO_TYPE_MAP = { "plat": EXTENSION_TYPE_PLATFORM, "osm": EXTENSION_TYPE_OSM, "ssc": EXTENSION_TYPE_SSC, "acs": EXTENSION_TYPE_ACS, "ops": EXTENSION_TYPE_OPS, } class ClusterConnectStatus(Enum): CONNECTED = "Connected" class MqMode(Enum): auto = "auto" distributed = "distributed" class MqMemoryProfile(Enum): tiny = "Tiny" low = "Low" medium = "Medium" high = "High" class MqServiceType(Enum): CLUSTERIP = "ClusterIp" LOADBALANCER = "LoadBalancer" NODEPORT = "NodePort" class KubernetesDistroType(Enum): k3s = "K3s" k8s = "K8s" microk8s = "MicroK8s" class IdentityUsageType(Enum): dataflow = "dataflow" class SchemaType(Enum): """value is user friendly, full_value is the service friendly""" message = "message" @property def full_value(self) -> str: type_map = {SchemaType.message: "MessageSchema"} return type_map[self] class SchemaFormat(Enum): """value is user friendly, full_value is the service friendly""" json = "json" delta = "delta" @property def full_value(self) -> str: format_map = {SchemaFormat.json: "JsonSchema/draft-07", SchemaFormat.delta: "Delta/1.0"} return format_map[self] class ConfigSyncModeType(Enum): ADD = "add" FULL = "full" NONE = "none" class ListenerProtocol(Enum): MQTT = "Mqtt" WEBSOCKETS = "WebSockets" class TlsKeyAlgo(Enum): EC256 = "Ec256" EC384 = "Ec384" EC521 = "Ec521" ED25519 = "Ed25519" RSA2048 = "Rsa2048" RSA4096 = "Rsa4096" RSA8192 = "Rsa8192" class TlsKeyRotation(Enum): ALWAYS = "Always" NEVER = "Never" X509_ISSUER_REF_KEYS = ["group", "kind", "name"] # Clone CLONE_INSTANCE_VERS_MAX = "1.2.0" CLONE_INSTANCE_VERS_MIN = "1.0.34" class CloneSummaryMode(Enum): SIMPLE = "simple" DETAILED = "detailed" class CloneTemplateMode(Enum): NESTED = "nested" LINKED = "linked"