1# --------------------------------------------------------------------------------------------
2# Copyright (c) Microsoft Corporation. All rights reserved.
3# Licensed under the MIT License. See License.txt in the project root for license information.
4# --------------------------------------------------------------------------------------------
5
6from enum import Enum
7
8CONST_OUTBOUND_TYPE_LOAD_BALANCER = "loadBalancer"
9CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING = "userDefinedRouting"
10
11CONST_SCALE_SET_PRIORITY_REGULAR = "Regular"
12CONST_SCALE_SET_PRIORITY_SPOT = "Spot"
13
14CONST_SPOT_EVICTION_POLICY_DELETE = "Delete"
15CONST_SPOT_EVICTION_POLICY_DEALLOCATE = "Deallocate"
16
17CONST_OS_DISK_TYPE_MANAGED = "Managed"
18CONST_OS_DISK_TYPE_EPHEMERAL = "Ephemeral"
19
20CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME = "httpApplicationRouting"
21CONST_MONITORING_ADDON_NAME = "omsagent"
22CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID = "logAnalyticsWorkspaceResourceID"
23CONST_VIRTUAL_NODE_ADDON_NAME = "aciConnector"
24CONST_VIRTUAL_NODE_SUBNET_NAME = "SubnetName"
25CONST_KUBE_DASHBOARD_ADDON_NAME = "kubeDashboard"
26CONST_AZURE_POLICY_ADDON_NAME = "azurepolicy"
27
28# IngressApplicaitonGateway configuration keys
29CONST_INGRESS_APPGW_ADDON_NAME = "ingressApplicationGateway"
30CONST_INGRESS_APPGW_APPLICATION_GATEWAY_NAME = "applicationGatewayName"
31CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID = "applicationGatewayId"
32CONST_INGRESS_APPGW_SUBNET_ID = "subnetId"
33CONST_INGRESS_APPGW_SUBNET_CIDR = "subnetCIDR"
34CONST_INGRESS_APPGW_WATCH_NAMESPACE = "watchNamespace"
35
36# confcom addon keys
37CONST_CONFCOM_ADDON_NAME = "ACCSGXDevicePlugin"
38CONST_ACC_SGX_QUOTE_HELPER_ENABLED = "ACCSGXQuoteHelperEnabled"
39
40# private dns zone mode
41CONST_PRIVATE_DNS_ZONE_SYSTEM = "system"
42CONST_PRIVATE_DNS_ZONE_NONE = "none"
43
44# Open Service Mesh addon keys
45CONST_OPEN_SERVICE_MESH_ADDON_NAME = "openServiceMesh"
46
47ADDONS = {
48    'http_application_routing': CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME,
49    'monitoring': CONST_MONITORING_ADDON_NAME,
50    'virtual-node': CONST_VIRTUAL_NODE_ADDON_NAME,
51    'kube-dashboard': CONST_KUBE_DASHBOARD_ADDON_NAME,
52    'azure-policy': CONST_AZURE_POLICY_ADDON_NAME,
53    'ingress-appgw': CONST_INGRESS_APPGW_ADDON_NAME,
54    "confcom": CONST_CONFCOM_ADDON_NAME,
55    'open-service-mesh': CONST_OPEN_SERVICE_MESH_ADDON_NAME,
56}
57
58CONST_CANIPULL_IMAGE = "mcr.microsoft.com/aks/canipull:0.0.3-alpha"
59
60CONST_MANAGED_IDENTITY_OPERATOR_ROLE = 'Managed Identity Operator'
61CONST_MANAGED_IDENTITY_OPERATOR_ROLE_ID = 'f1a07417-d97a-45cb-824c-7a7467783830'
62
63
64# decorator mode
65class DecoratorMode(Enum):
66    CREATE = 1
67    UPDATE = 2
68