azext_iot/deviceupdate/common.py (43 lines of code) (raw):

# coding=utf-8 # -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- """ shared: Define shared data types(enums) and constant strings. """ from enum import Enum from typing import List class ADUPublicNetworkAccessType(Enum): """ ADU public network access type. """ ENABLED = "Enabled" DISABLED = "Disabled" class ADUPrivateLinkServiceConnectionStatus(Enum): """ ADU private link service connection status. """ PENDING = "Pending" APPROVED = "Approved" REJECTED = "Rejected" class ADUAccountSKUType(Enum): """ ADU account sku types. """ STANDARD = "Standard" FREE = "Free" class ADUInstanceDiagnosticStorageAuthType(Enum): """ ADU instance diagnostic storage auth type. """ KEYBASED = "KeyBased" class ADUManageDeviceImportType(Enum): """ ADU management device import type. """ #: Import only devices but not modules. DEVICES = "Devices" #: Import only modules but not devices. MODULES = "Modules" #: Import both devices and modules. ALL = "All" class ADUValidHashAlgorithmType(Enum): """ ADU valid cryptographic hash algorithms. """ SHA256 = "sha256" class ADUContentHandlerType(Enum): """ ADU first-party content handler types. """ APT_V1 = "microsoft/apt:1" SCRIPT_V1 = "microsoft/script:1" SIMULATOR_V1 = "microsoft/simulator:1" SWUPDATE_V1 = "microsoft/swupdate:1" SWUPDATE_V2 = "microsoft/swupdate:2" FP_HANDLERS: List[str] = [ ADUContentHandlerType.APT_V1.value, ADUContentHandlerType.SCRIPT_V1.value, ADUContentHandlerType.SIMULATOR_V1.value, ADUContentHandlerType.SWUPDATE_V1.value, ADUContentHandlerType.SWUPDATE_V2.value, ] FP_HANDLERS_REQUIRE_CRITERIA: List[str] = [ ADUContentHandlerType.APT_V1.value, ADUContentHandlerType.SWUPDATE_V1.value, ADUContentHandlerType.SWUPDATE_V2.value, ] SYSTEM_IDENTITY_ARG = "[system]" AUTH_RESOURCE_ID = "https://api.adu.microsoft.com/" CACHE_RESOURCE_TYPE = "DeviceUpdate" def get_cache_entry_name(account_name: str, instance_name: str): return f"{account_name}_{instance_name}_importUpdate"