public IIoTEnvironment( AzureEnvironment azureEnvironment, Guid tenantId, // IoT Hub IotHubDescription iotHub, string iotHubOwnerConnectionString, string iotHubEventHubEventsEndpointName, EventHubConsumerGroupInfo iotHubEventHubConsumerGroupEvents, EventHubConsumerGroupInfo iotHubEventHubConsumerGroupTelemetry, EventHubConsumerGroupInfo iotHubEventHubConsumerGroupTunnel, EventHubConsumerGroupInfo iotHubEventHubConsumerGroupOnboarding, // Cosmos DB string cosmosDBAccountConnectionString, // Storage Account string storageAccountConectionString, string storageAccountContainerDataprotection, // ADLS Gen2 Storage Account string adlsAccount, string adlsAccountKey, string adlsEndpointSuffix, string adlsConectionString, string adlsContainerCdm, string adlsContainerCdmRootFolder, // Event Hub Namespace EventhubInner eventHub, string eventHubConnectionString, ConsumerGroupInner telemetryCdm, ConsumerGroupInner telemetryUx, // Service Bus string serviceBusConnectionString, // SignalR string signalRConnectionString, string signalRServiceMode, // Key Vault VaultInner keyVault, string dataprotectionKeyName, // Application Insights ApplicationInsightsComponent applicationInsightsComponent, // Log Analytics Workspace Workspace workspace, string workspaceKey, // Service URL string serviceURL, // App Registrations Application serviceApplication, string serviceApplicationSecret, Application clientApplication, string clientApplicationSecret ) { // IoT Hub PCS_IOTHUB_CONNSTRING = iotHubOwnerConnectionString; PCS_IOTHUB_EVENTHUBENDPOINT = iotHub.Properties.EventHubEndpoints[iotHubEventHubEventsEndpointName].Endpoint; PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_EVENTS = iotHubEventHubConsumerGroupEvents.Name; PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TELEMETRY = iotHubEventHubConsumerGroupTelemetry.Name; PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TUNNEL = iotHubEventHubConsumerGroupTunnel.Name; PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_ONBOARDING = iotHubEventHubConsumerGroupOnboarding.Name; // Cosmos DB PCS_COSMOSDB_CONNSTRING = cosmosDBAccountConnectionString; // Storage Account PCS_STORAGE_CONNSTRING = storageAccountConectionString; PCS_STORAGE_CONTAINER_DATAPROTECTION = storageAccountContainerDataprotection; // ADLS Gen2 Storage Account // NOTE: PCS_ADLSG2_ACCOUNT, PCS_ADLSG2_ACCOUNT_KEY and PCS_ADLSG2_ENDPOINTSUFFIX are required // for <2.8.5 version of components as processing of PCS_ADLSG2_CONNSTRING is not present there. PCS_ADLSG2_ACCOUNT = adlsAccount; PCS_ADLSG2_ACCOUNT_KEY = adlsAccountKey; PCS_ADLSG2_ENDPOINTSUFFIX = adlsEndpointSuffix; PCS_ADLSG2_CONNSTRING = adlsConectionString; PCS_ADLSG2_CONTAINER_CDM = adlsContainerCdm; PCS_ADLSG2_CONTAINER_CDM_ROOTFOLDER = adlsContainerCdmRootFolder; // Event Hub Namespace PCS_EVENTHUB_CONNSTRING = eventHubConnectionString; PCS_EVENTHUB_NAME = eventHub.Name; PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_CDM = telemetryCdm.Name; PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_UX = telemetryUx.Name; // Service Bus PCS_SERVICEBUS_CONNSTRING = serviceBusConnectionString; // Key Vault PCS_KEYVAULT_URL = keyVault.Properties.VaultUri; PCS_KEYVAULT_KEY_DATAPROTECTION = dataprotectionKeyName; PCS_KEYVAULT_APPID = serviceApplication.AppId; PCS_KEYVAULT_SECRET = serviceApplicationSecret; // Application Insights PCS_APPINSIGHTS_INSTRUMENTATIONKEY = applicationInsightsComponent.InstrumentationKey; // Log Analytics Workspace PCS_WORKSPACE_ID = workspace.Id; PCS_WORKSPACE_KEY = workspaceKey; // Service URLs PCS_SERVICE_URL = serviceURL; // Service URLs that will be consumed by microservices. PCS_TWIN_REGISTRY_URL = $"{serviceURL}/registry/"; PCS_TWIN_SERVICE_URL = $"{serviceURL}/twin/"; PCS_HISTORY_SERVICE_URL = $"{serviceURL}/history/"; PCS_VAULT_SERVICE_URL = $"{serviceURL}/vault/"; PCS_PUBLISHER_SERVICE_URL = $"{serviceURL}/publisher/"; PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL = $"{serviceURL}/edge/publisher/"; PCS_EVENTS_SERVICE_URL = $"{serviceURL}/events/"; // SignalR PCS_SIGNALR_CONNSTRING = signalRConnectionString; PCS_SIGNALR_MODE = signalRServiceMode; // Authentication PCS_AUTH_REQUIRED = $"{true}"; PCS_AUTH_TENANT = $"{tenantId}"; // ToDo: Check value of PCS_AUTH_INSTANCE. //PCS_AUTH_INSTANCE = "https://login.microsoftonline.com/"; PCS_AUTH_INSTANCE = azureEnvironment.AuthenticationEndpoint; PCS_AUTH_ISSUER = $"https://sts.windows.net/{tenantId}/"; PCS_AUTH_HTTPSREDIRECTPORT = $"{0}"; PCS_AUTH_AUDIENCE = serviceApplication.IdentifierUris.First(); PCS_AUTH_CLIENT_APPID = clientApplication.AppId; PCS_AUTH_CLIENT_SECRET = clientApplicationSecret; PCS_AUTH_SERVICE_APPID = serviceApplication.AppId; PCS_AUTH_SERVICE_SECRET = serviceApplicationSecret; // CORS Whitelist PCS_CORS_WHITELIST = "*"; // Service URL path bases PCS_TWIN_REGISTRY_SERVICE_PATH_BASE = "/registry"; PCS_TWIN_SERVICE_PATH_BASE = "/twin"; PCS_HISTORY_SERVICE_PATH_BASE = "/history"; PCS_GATEWAY_SERVICE_PATH_BASE = "/ua"; PCS_VAULT_SERVICE_PATH_BASE = "/vault"; PCS_PUBLISHER_SERVICE_PATH_BASE = "/publisher"; PCS_PUBLISHER_ORCHESTRATOR_SERVICE_PATH_BASE = "/edge/publisher"; PCS_EVENTS_SERVICE_PATH_BASE = "/events"; PCS_FRONTEND_APP_SERVICE_PATH_BASE = "/frontend"; // AspNetCore ASPNETCORE_FORWARDEDHEADERS_ENABLED = $"{true}"; ASPNETCORE_FORWARDEDHEADERS_FORWARDLIMIT = $"{1}"; // OpenAPI PCS_OPENAPI_SERVER_HOST = ""; Dict = new Dictionary <string, string> { // IoT Hub { $"{nameof(PCS_IOTHUB_CONNSTRING)}", PCS_IOTHUB_CONNSTRING }, { $"{nameof(PCS_IOTHUB_EVENTHUBENDPOINT)}", PCS_IOTHUB_EVENTHUBENDPOINT }, { $"{nameof(PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_EVENTS)}", PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_EVENTS }, { $"{nameof(PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TELEMETRY)}", PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TELEMETRY }, { $"{nameof(PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TUNNEL)}", PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TUNNEL }, { $"{nameof(PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_ONBOARDING)}", PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_ONBOARDING }, // Cosmos DB { $"{nameof(PCS_COSMOSDB_CONNSTRING)}", PCS_COSMOSDB_CONNSTRING }, // Storage Account { $"{nameof(PCS_STORAGE_CONNSTRING)}", PCS_STORAGE_CONNSTRING }, { $"{nameof(PCS_STORAGE_CONTAINER_DATAPROTECTION)}", PCS_STORAGE_CONTAINER_DATAPROTECTION }, // ADLS Gen2 Storage Account { $"{nameof(PCS_ADLSG2_ACCOUNT)}", PCS_ADLSG2_ACCOUNT }, { $"{nameof(PCS_ADLSG2_ACCOUNT_KEY)}", PCS_ADLSG2_ACCOUNT_KEY }, { $"{nameof(PCS_ADLSG2_ENDPOINTSUFFIX)}", PCS_ADLSG2_ENDPOINTSUFFIX }, { $"{nameof(PCS_ADLSG2_CONNSTRING)}", PCS_ADLSG2_CONNSTRING }, { $"{nameof(PCS_ADLSG2_CONTAINER_CDM)}", PCS_ADLSG2_CONTAINER_CDM }, { $"{nameof(PCS_ADLSG2_CONTAINER_CDM_ROOTFOLDER)}", PCS_ADLSG2_CONTAINER_CDM_ROOTFOLDER }, // Event Hub Namespace { $"{nameof(PCS_EVENTHUB_CONNSTRING)}", PCS_EVENTHUB_CONNSTRING }, { $"{nameof(PCS_EVENTHUB_NAME)}", PCS_EVENTHUB_NAME }, { $"{nameof(PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_CDM)}", PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_CDM }, { $"{nameof(PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_UX)}", PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_UX }, // Service Bus { $"{nameof(PCS_SERVICEBUS_CONNSTRING)}", PCS_SERVICEBUS_CONNSTRING }, // Key Vault { $"{nameof(PCS_KEYVAULT_URL)}", PCS_KEYVAULT_URL }, { $"{nameof(PCS_KEYVAULT_KEY_DATAPROTECTION)}", PCS_KEYVAULT_KEY_DATAPROTECTION }, { $"{nameof(PCS_KEYVAULT_APPID)}", PCS_KEYVAULT_APPID }, { $"{nameof(PCS_KEYVAULT_SECRET)}", PCS_KEYVAULT_SECRET }, // Application Insights { $"{nameof(PCS_APPINSIGHTS_INSTRUMENTATIONKEY)}", PCS_APPINSIGHTS_INSTRUMENTATIONKEY }, // Log Analytics Workspace { $"{nameof(PCS_WORKSPACE_ID)}", PCS_WORKSPACE_ID }, { $"{nameof(PCS_WORKSPACE_KEY)}", PCS_WORKSPACE_KEY }, // Service URLs { $"{nameof(PCS_SERVICE_URL)}", PCS_SERVICE_URL }, // Service URLs that will be consumed by microservices. { $"{nameof(PCS_TWIN_REGISTRY_URL)}", PCS_TWIN_REGISTRY_URL }, { $"{nameof(PCS_TWIN_SERVICE_URL)}", PCS_TWIN_SERVICE_URL }, { $"{nameof(PCS_HISTORY_SERVICE_URL)}", PCS_HISTORY_SERVICE_URL }, { $"{nameof(PCS_VAULT_SERVICE_URL)}", PCS_VAULT_SERVICE_URL }, { $"{nameof(PCS_PUBLISHER_SERVICE_URL)}", PCS_PUBLISHER_SERVICE_URL }, { $"{nameof(PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL)}", PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL }, { $"{nameof(PCS_EVENTS_SERVICE_URL)}", PCS_EVENTS_SERVICE_URL }, // SignalR { $"{nameof(PCS_SIGNALR_CONNSTRING)}", PCS_SIGNALR_CONNSTRING }, { $"{nameof(PCS_SIGNALR_MODE)}", PCS_SIGNALR_MODE }, // Authentication { $"{nameof(PCS_AUTH_REQUIRED)}", PCS_AUTH_REQUIRED }, { $"{nameof(PCS_AUTH_TENANT)}", PCS_AUTH_TENANT }, { $"{nameof(PCS_AUTH_INSTANCE)}", PCS_AUTH_INSTANCE }, { $"{nameof(PCS_AUTH_ISSUER)}", PCS_AUTH_ISSUER }, { $"{nameof(PCS_AUTH_HTTPSREDIRECTPORT)}", PCS_AUTH_HTTPSREDIRECTPORT }, { $"{nameof(PCS_AUTH_AUDIENCE)}", PCS_AUTH_AUDIENCE }, { $"{nameof(PCS_AUTH_CLIENT_APPID)}", PCS_AUTH_CLIENT_APPID }, { $"{nameof(PCS_AUTH_CLIENT_SECRET)}", PCS_AUTH_CLIENT_SECRET }, { $"{nameof(PCS_AUTH_SERVICE_APPID)}", PCS_AUTH_SERVICE_APPID }, { $"{nameof(PCS_AUTH_SERVICE_SECRET)}", PCS_AUTH_SERVICE_SECRET }, // CORS Whitelist { $"{nameof(PCS_CORS_WHITELIST)}", PCS_CORS_WHITELIST }, // Service URL path bases { $"{nameof(PCS_TWIN_REGISTRY_SERVICE_PATH_BASE)}", PCS_TWIN_REGISTRY_SERVICE_PATH_BASE }, { $"{nameof(PCS_TWIN_SERVICE_PATH_BASE)}", PCS_TWIN_SERVICE_PATH_BASE }, { $"{nameof(PCS_HISTORY_SERVICE_PATH_BASE)}", PCS_HISTORY_SERVICE_PATH_BASE }, { $"{nameof(PCS_GATEWAY_SERVICE_PATH_BASE)}", PCS_GATEWAY_SERVICE_PATH_BASE }, { $"{nameof(PCS_VAULT_SERVICE_PATH_BASE)}", PCS_VAULT_SERVICE_PATH_BASE }, { $"{nameof(PCS_PUBLISHER_SERVICE_PATH_BASE)}", PCS_PUBLISHER_SERVICE_PATH_BASE }, { $"{nameof(PCS_PUBLISHER_ORCHESTRATOR_SERVICE_PATH_BASE)}", PCS_PUBLISHER_ORCHESTRATOR_SERVICE_PATH_BASE }, { $"{nameof(PCS_EVENTS_SERVICE_PATH_BASE)}", PCS_EVENTS_SERVICE_PATH_BASE }, { $"{nameof(PCS_FRONTEND_APP_SERVICE_PATH_BASE)}", PCS_FRONTEND_APP_SERVICE_PATH_BASE }, // AspNetCore { $"{nameof(ASPNETCORE_FORWARDEDHEADERS_ENABLED)}", ASPNETCORE_FORWARDEDHEADERS_ENABLED }, { $"{nameof(ASPNETCORE_FORWARDEDHEADERS_FORWARDLIMIT)}", ASPNETCORE_FORWARDEDHEADERS_FORWARDLIMIT }, // OpenAPI { $"{nameof(PCS_OPENAPI_SERVER_HOST)}", PCS_OPENAPI_SERVER_HOST }, }; }
public IIoTEnvironment( AzureEnvironment azureEnvironment, Guid tenantId, // IoT Hub IotHubDescription iotHub, string iotHubOwnerConnectionString, string iotHubEventHubEventsEndpointName, EventHubConsumerGroupInfo iotHubEventHubEventsConsumerGroup, EventHubConsumerGroupInfo iotHubEventHubTelemetryConsumerGroup, // Cosmos DB string cosmosDBAccountConnectionString, // Storage Account string storageAccountConectionString, string storageAccountContainerDataprotection, // ADLS Gen2 Storage Account string adlsConectionString, string adlsContainerCdm, string adlsContainerCdmRootFolder, // Event Hub Namespace EventhubInner eventHub, string eventHubConnectionString, ConsumerGroupInner telemetryCdm, ConsumerGroupInner telemetryUx, // Service Bus string serviceBusConnectionString, // SignalR string signalRConnectionString, // Key Vault VaultInner keyVault, string dataprotectionKeyName, // Application Insights ApplicationInsightsComponent applicationInsightsComponent, string serviceURL, Application serviceApplication, string serviceApplicationSecret, Application clientApplication, string clientApplicationSecret ) { // IoT Hub PCS_IOTHUB_CONNSTRING = iotHubOwnerConnectionString; PCS_IOTHUB_EVENTHUBENDPOINT = iotHub.Properties.EventHubEndpoints[iotHubEventHubEventsEndpointName].Endpoint; PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_EVENTS = iotHubEventHubEventsConsumerGroup.Name; PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TELEMETRY = iotHubEventHubTelemetryConsumerGroup.Name; // Cosmos DB PCS_COSMOSDB_CONNSTRING = cosmosDBAccountConnectionString; // Storage Account PCS_STORAGE_CONNSTRING = storageAccountConectionString; PCS_STORAGE_CONTAINER_DATAPROTECTION = storageAccountContainerDataprotection; // ADLS Gen2 Storage Account PCS_ADLSG2_CONNSTRING = adlsConectionString; PCS_ADLSG2_CONTAINER_CDM = adlsContainerCdm; PCS_ADLSG2_CONTAINER_CDM_ROOTFOLDER = adlsContainerCdmRootFolder; // Event Hub Namespace PCS_EVENTHUB_CONNSTRING = eventHubConnectionString; PCS_EVENTHUB_NAME = eventHub.Name; PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_CDM = telemetryCdm.Name; PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_UX = telemetryUx.Name; // Service Bus PCS_SERVICEBUS_CONNSTRING = serviceBusConnectionString; // Key Vault PCS_KEYVAULT_URL = keyVault.Properties.VaultUri; PCS_KEYVAULT_KEY_DATAPROTECTION = dataprotectionKeyName; PCS_KEYVAULT_APPID = serviceApplication.AppId; PCS_KEYVAULT_SECRET = serviceApplicationSecret; // Application Insights PCS_APPINSIGHTS_INSTRUMENTATIONKEY = applicationInsightsComponent.InstrumentationKey; // Service URLs PCS_SERVICE_URL = serviceURL; var iiotNamespace = "industrial-iot"; // AKS internal service URLs PCS_TWIN_REGISTRY_URL_INTERNAL = $"http://{"registry-service"}.{iiotNamespace}:{9042}"; PCS_TWIN_SERVICE_URL_INTERNAL = $"http://{"twin-service"}.{iiotNamespace}:{9041}"; PCS_HISTORY_SERVICE_URL_INTERNAL = $"http://{"history-service"}.{iiotNamespace}:{9043}"; PCS_VAULT_SERVICE_URL_INTERNAL = $"http://{"vault-service"}.{iiotNamespace}:{9044}"; PCS_PUBLISHER_SERVICE_URL_INTERNAL = $"http://{"publisher-service"}.{iiotNamespace}:{9045}"; PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL_INTERNAL = $"http://{"edge-jobs-service"}.{iiotNamespace}:{9051}"; PCS_EVENTS_SERVICE_URL_INTERNAL = $"http://{"events-service"}.{iiotNamespace}:{9050}"; // Externally accessible service URLs serviceURL = serviceURL.TrimEnd('/'); PCS_TWIN_REGISTRY_URL_EXTERNAL = $"{serviceURL}/registry/"; PCS_TWIN_SERVICE_URL_EXTERNAL = $"{serviceURL}/twin/"; PCS_HISTORY_SERVICE_URL_EXTERNAL = $"{serviceURL}/history/"; PCS_VAULT_SERVICE_URL_EXTERNAL = $"{serviceURL}/vault/"; PCS_PUBLISHER_SERVICE_URL_EXTERNAL = $"{serviceURL}/publisher/"; PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL_EXTERNAL = $"{serviceURL}/edge/publisher/"; PCS_EVENTS_SERVICE_URL_EXTERNAL = $"{serviceURL}/events/"; // Service URLs that will be consumed by microservices. PCS_TWIN_REGISTRY_URL = PCS_TWIN_REGISTRY_URL_INTERNAL; PCS_TWIN_SERVICE_URL = PCS_TWIN_SERVICE_URL_INTERNAL; PCS_HISTORY_SERVICE_URL = PCS_HISTORY_SERVICE_URL_INTERNAL; PCS_VAULT_SERVICE_URL = PCS_VAULT_SERVICE_URL_INTERNAL; PCS_PUBLISHER_SERVICE_URL = PCS_PUBLISHER_SERVICE_URL_INTERNAL; // NOTE: PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL should be externally accessible URL. PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL = PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL_EXTERNAL; PCS_EVENTS_SERVICE_URL = PCS_EVENTS_SERVICE_URL_INTERNAL; // SignalR PCS_SIGNALR_CONNSTRING = signalRConnectionString; // Authentication PCS_AUTH_REQUIRED = $"{true}"; PCS_AUTH_TENANT = $"{tenantId}"; // ToDo: Check value of PCS_AUTH_INSTANCE. //PCS_AUTH_INSTANCE = "https://login.microsoftonline.com/"; PCS_AUTH_INSTANCE = azureEnvironment.AuthenticationEndpoint; PCS_AUTH_ISSUER = $"https://sts.windows.net/{tenantId}/"; PCS_AUTH_HTTPSREDIRECTPORT = $"{0}"; PCS_AUTH_AUDIENCE = serviceApplication.IdentifierUris.First(); PCS_AUTH_CLIENT_APPID = clientApplication.AppId; PCS_AUTH_CLIENT_SECRET = clientApplicationSecret; PCS_AUTH_SERVICE_APPID = serviceApplication.AppId; PCS_AUTH_SERVICE_SECRET = serviceApplicationSecret; // CORS Whitelist PCS_CORS_WHITELIST = "*"; // Service URL path bases PCS_TWIN_REGISTRY_SERVICE_PATH_BASE = "/registry"; PCS_TWIN_SERVICE_PATH_BASE = "/twin"; PCS_HISTORY_SERVICE_PATH_BASE = "/history"; PCS_GATEWAY_SERVICE_PATH_BASE = "/ua"; PCS_VAULT_SERVICE_PATH_BASE = "/vault"; PCS_PUBLISHER_SERVICE_PATH_BASE = "/publisher"; PCS_EVENTS_SERVICE_PATH_BASE = "/events"; PCS_FRONTEND_APP_SERVICE_PATH_BASE = "/frontend"; PCS_PUBLISHER_ORCHESTRATOR_SERVICE_PATH_BASE = "/edge/publisher"; // AspNetCore ASPNETCORE_FORWARDEDHEADERS_ENABLED = $"{true}"; ASPNETCORE_FORWARDEDHEADERS_FORWARDLIMIT = $"{1}"; // OpenAPI PCS_OPENAPI_SERVER_HOST = ""; Dict = new Dictionary <string, string> { // IoT Hub { $"{nameof(PCS_IOTHUB_CONNSTRING)}", PCS_IOTHUB_CONNSTRING }, { $"{nameof(PCS_IOTHUB_EVENTHUBENDPOINT)}", PCS_IOTHUB_EVENTHUBENDPOINT }, { $"{nameof(PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_EVENTS)}", PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_EVENTS }, { $"{nameof(PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TELEMETRY)}", PCS_IOTHUB_EVENTHUB_CONSUMER_GROUP_TELEMETRY }, // Cosmos DB { $"{nameof(PCS_COSMOSDB_CONNSTRING)}", PCS_COSMOSDB_CONNSTRING }, // Storage Account { $"{nameof(PCS_STORAGE_CONNSTRING)}", PCS_STORAGE_CONNSTRING }, { $"{nameof(PCS_STORAGE_CONTAINER_DATAPROTECTION)}", PCS_STORAGE_CONTAINER_DATAPROTECTION }, // ADLS Gen2 Storage Account { $"{nameof(PCS_ADLSG2_CONNSTRING)}", PCS_ADLSG2_CONNSTRING }, { $"{nameof(PCS_ADLSG2_CONTAINER_CDM)}", PCS_ADLSG2_CONTAINER_CDM }, { $"{nameof(PCS_ADLSG2_CONTAINER_CDM_ROOTFOLDER)}", PCS_ADLSG2_CONTAINER_CDM_ROOTFOLDER }, // Event Hub Namespace { $"{nameof(PCS_EVENTHUB_CONNSTRING)}", PCS_EVENTHUB_CONNSTRING }, { $"{nameof(PCS_EVENTHUB_NAME)}", PCS_EVENTHUB_NAME }, { $"{nameof(PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_CDM)}", PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_CDM }, { $"{nameof(PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_UX)}", PCS_EVENTHUB_CONSUMERGROUP_TELEMETRY_UX }, // Service Bus { $"{nameof(PCS_SERVICEBUS_CONNSTRING)}", PCS_SERVICEBUS_CONNSTRING }, // Key Vault { $"{nameof(PCS_KEYVAULT_URL)}", PCS_KEYVAULT_URL }, { $"{nameof(PCS_KEYVAULT_KEY_DATAPROTECTION)}", PCS_KEYVAULT_KEY_DATAPROTECTION }, { $"{nameof(PCS_KEYVAULT_APPID)}", PCS_KEYVAULT_APPID }, { $"{nameof(PCS_KEYVAULT_SECRET)}", PCS_KEYVAULT_SECRET }, // Application Insights { $"{nameof(PCS_APPINSIGHTS_INSTRUMENTATIONKEY)}", PCS_APPINSIGHTS_INSTRUMENTATIONKEY }, // Service URLs { $"{nameof(PCS_SERVICE_URL)}", PCS_SERVICE_URL }, { $"{nameof(PCS_TWIN_REGISTRY_URL)}", PCS_TWIN_REGISTRY_URL }, { $"{nameof(PCS_TWIN_SERVICE_URL)}", PCS_TWIN_SERVICE_URL }, { $"{nameof(PCS_HISTORY_SERVICE_URL)}", PCS_HISTORY_SERVICE_URL }, { $"{nameof(PCS_VAULT_SERVICE_URL)}", PCS_VAULT_SERVICE_URL }, { $"{nameof(PCS_PUBLISHER_SERVICE_URL)}", PCS_PUBLISHER_SERVICE_URL }, { $"{nameof(PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL)}", PCS_PUBLISHER_ORCHESTRATOR_SERVICE_URL }, { $"{nameof(PCS_EVENTS_SERVICE_URL)}", PCS_EVENTS_SERVICE_URL }, // SignalR { $"{nameof(PCS_SIGNALR_CONNSTRING)}", PCS_SIGNALR_CONNSTRING }, // Authentication { $"{nameof(PCS_AUTH_REQUIRED)}", PCS_AUTH_REQUIRED }, { $"{nameof(PCS_AUTH_TENANT)}", PCS_AUTH_TENANT }, { $"{nameof(PCS_AUTH_INSTANCE)}", PCS_AUTH_INSTANCE }, { $"{nameof(PCS_AUTH_ISSUER)}", PCS_AUTH_ISSUER }, { $"{nameof(PCS_AUTH_HTTPSREDIRECTPORT)}", PCS_AUTH_HTTPSREDIRECTPORT }, { $"{nameof(PCS_AUTH_AUDIENCE)}", PCS_AUTH_AUDIENCE }, { $"{nameof(PCS_AUTH_CLIENT_APPID)}", PCS_AUTH_CLIENT_APPID }, { $"{nameof(PCS_AUTH_CLIENT_SECRET)}", PCS_AUTH_CLIENT_SECRET }, { $"{nameof(PCS_AUTH_SERVICE_APPID)}", PCS_AUTH_SERVICE_APPID }, { $"{nameof(PCS_AUTH_SERVICE_SECRET)}", PCS_AUTH_SERVICE_SECRET }, // CORS Whitelist { $"{nameof(PCS_CORS_WHITELIST)}", PCS_CORS_WHITELIST }, // Service URL path bases { $"{nameof(PCS_TWIN_REGISTRY_SERVICE_PATH_BASE)}", PCS_TWIN_REGISTRY_SERVICE_PATH_BASE }, { $"{nameof(PCS_TWIN_SERVICE_PATH_BASE)}", PCS_TWIN_SERVICE_PATH_BASE }, { $"{nameof(PCS_HISTORY_SERVICE_PATH_BASE)}", PCS_HISTORY_SERVICE_PATH_BASE }, { $"{nameof(PCS_GATEWAY_SERVICE_PATH_BASE)}", PCS_GATEWAY_SERVICE_PATH_BASE }, { $"{nameof(PCS_VAULT_SERVICE_PATH_BASE)}", PCS_VAULT_SERVICE_PATH_BASE }, { $"{nameof(PCS_PUBLISHER_SERVICE_PATH_BASE)}", PCS_PUBLISHER_SERVICE_PATH_BASE }, { $"{nameof(PCS_EVENTS_SERVICE_PATH_BASE)}", PCS_EVENTS_SERVICE_PATH_BASE }, { $"{nameof(PCS_FRONTEND_APP_SERVICE_PATH_BASE)}", PCS_FRONTEND_APP_SERVICE_PATH_BASE }, { $"{nameof(PCS_PUBLISHER_ORCHESTRATOR_SERVICE_PATH_BASE)}", PCS_PUBLISHER_ORCHESTRATOR_SERVICE_PATH_BASE }, // AspNetCore { $"{nameof(ASPNETCORE_FORWARDEDHEADERS_ENABLED)}", ASPNETCORE_FORWARDEDHEADERS_ENABLED }, { $"{nameof(ASPNETCORE_FORWARDEDHEADERS_FORWARDLIMIT)}", ASPNETCORE_FORWARDEDHEADERS_FORWARDLIMIT }, // OpenAPI { $"{nameof(PCS_OPENAPI_SERVER_HOST)}", PCS_OPENAPI_SERVER_HOST }, }; }