From 09e09665f577ad81a7b46a7a2bfd259ea8d7cc0b Mon Sep 17 00:00:00 2001 From: Michael Boucher Date: Sat, 28 Mar 2020 23:49:22 -0400 Subject: [PATCH 1/3] Fix Azure Environment Selector #133 --- src/tree/integration-account/IntegrationAccountsProvider.ts | 2 +- src/tree/logic-app/LogicAppsProvider.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tree/integration-account/IntegrationAccountsProvider.ts b/src/tree/integration-account/IntegrationAccountsProvider.ts index 93acf30e..a3f96703 100644 --- a/src/tree/integration-account/IntegrationAccountsProvider.ts +++ b/src/tree/integration-account/IntegrationAccountsProvider.ts @@ -24,7 +24,7 @@ export class IntegrationAccountProvider implements IChildProvider { this.nextLink = undefined; } - const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId); + const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId, node.environment.resourceManagerEndpointUrl); addExtensionUserAgent(client); const integrationAccounts = this.nextLink === undefined diff --git a/src/tree/logic-app/LogicAppsProvider.ts b/src/tree/logic-app/LogicAppsProvider.ts index 4bbb8924..4bbfcbcc 100644 --- a/src/tree/logic-app/LogicAppsProvider.ts +++ b/src/tree/logic-app/LogicAppsProvider.ts @@ -28,7 +28,7 @@ export class LogicAppsProvider implements IChildProvider { this.nextLink = undefined; } - const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId); + const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId, node.environment.resourceManagerEndpointUrl); addExtensionUserAgent(client); const logicApps = this.nextLink === undefined From 13d1a78f8cf4275397fe9f37450b80aa4bf8c9d9 Mon Sep 17 00:00:00 2001 From: Michael Boucher Date: Sun, 29 Mar 2020 02:40:24 -0400 Subject: [PATCH 2/3] Fix Azure Environment Selector #133 for WizardContext --- src/models/wizard/wizard.ts | 11 +++++++++++ src/utils/integration-account/partnerUtils.ts | 6 +++--- .../agreements/agreementCreateStep.ts | 2 +- .../agreements/agreementNameStep.ts | 2 +- .../agreements/createAgreementWizard.ts | 5 +++-- .../createIntegrationAccountWizard.ts | 5 +++-- .../integrationAccountCreateStep.ts | 2 +- .../integration-account/integrationAccountNameStep.ts | 2 +- .../integration-account/maps/createMapWizard.ts | 5 +++-- src/wizard/integration-account/maps/mapCreateStep.ts | 2 +- src/wizard/integration-account/maps/mapNameStep.ts | 2 +- .../partners/createPartnerWizard.ts | 5 +++-- .../integration-account/partners/partnerCreateStep.ts | 2 +- .../integration-account/schemas/createSchemaWizard.ts | 5 +++-- .../integration-account/schemas/schemaCreateStep.ts | 2 +- .../integration-account/schemas/schemaNameStep.ts | 2 +- src/wizard/logic-app/LogicAppCreateStep.ts | 2 +- src/wizard/logic-app/LogicAppNameStep.ts | 2 +- src/wizard/logic-app/createLogicApp.ts | 5 +++-- 19 files changed, 43 insertions(+), 26 deletions(-) create mode 100644 src/models/wizard/wizard.ts diff --git a/src/models/wizard/wizard.ts b/src/models/wizard/wizard.ts new file mode 100644 index 00000000..563845a0 --- /dev/null +++ b/src/models/wizard/wizard.ts @@ -0,0 +1,11 @@ +import { AzureEnvironment } from "ms-rest-azure"; +import { ServiceClientCredentials } from "ms-rest"; +import { ILocationWizardContext, IResourceGroupWizardContext } from "vscode-azureextensionui"; + +export interface IWizardCredentials extends ServiceClientCredentials { + environment?: AzureEnvironment; +} + +export interface IWizardContext extends ILocationWizardContext, IResourceGroupWizardContext { + credentials: IWizardCredentials; +} \ No newline at end of file diff --git a/src/utils/integration-account/partnerUtils.ts b/src/utils/integration-account/partnerUtils.ts index 456ea0de..ef0a8133 100644 --- a/src/utils/integration-account/partnerUtils.ts +++ b/src/utils/integration-account/partnerUtils.ts @@ -5,7 +5,7 @@ import LogicAppsManagementClient from "azure-arm-logic"; import { IntegrationAccountPartner } from "azure-arm-logic/lib/models"; -import { ServiceClientCredentials } from "ms-rest"; +import { IWizardCredentials } from "../../models/wizard/wizard"; import { addExtensionUserAgent } from "vscode-azureextensionui"; export enum PartnerType { @@ -31,8 +31,8 @@ export async function createNewPartner(partnerName: string, qualifier: string, v return partner; } -export async function getAllPartners(credentials: ServiceClientCredentials, subscriptionId: string, resourceGroup: string, integrationAccount: string): Promise { - const client = new LogicAppsManagementClient(credentials, subscriptionId); +export async function getAllPartners(credentials: IWizardCredentials, subscriptionId: string, resourceGroup: string, integrationAccount: string): Promise { + const client = new LogicAppsManagementClient(credentials, subscriptionId, credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); const partners = await client.integrationAccountPartners.list(resourceGroup, integrationAccount); diff --git a/src/wizard/integration-account/agreements/agreementCreateStep.ts b/src/wizard/integration-account/agreements/agreementCreateStep.ts index 4f5d18cd..9e8f370b 100644 --- a/src/wizard/integration-account/agreements/agreementCreateStep.ts +++ b/src/wizard/integration-account/agreements/agreementCreateStep.ts @@ -12,7 +12,7 @@ import { IAgreementWizardContext } from "./createAgreementWizard"; export class AgreementCreateStep extends AzureWizardExecuteStep { public async execute(wizardContext: IAgreementWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); const newAgreement: IntegrationAccountAgreement = await client.integrationAccountAgreements.createOrUpdate(wizardContext.resourceGroup!.name!, diff --git a/src/wizard/integration-account/agreements/agreementNameStep.ts b/src/wizard/integration-account/agreements/agreementNameStep.ts index 80faa6c1..c4749b17 100644 --- a/src/wizard/integration-account/agreements/agreementNameStep.ts +++ b/src/wizard/integration-account/agreements/agreementNameStep.ts @@ -41,7 +41,7 @@ export class AgreementNameStep extends AzureWizardPromptStep { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); let agreements = await client.integrationAccountAgreements.list(wizardContext.resourceGroup!.name!, wizardContext.integrationAccountName); diff --git a/src/wizard/integration-account/agreements/createAgreementWizard.ts b/src/wizard/integration-account/agreements/createAgreementWizard.ts index f0046349..eea8fcfa 100644 --- a/src/wizard/integration-account/agreements/createAgreementWizard.ts +++ b/src/wizard/integration-account/agreements/createAgreementWizard.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { BusinessIdentity, IntegrationAccount, IntegrationAccountPartner } from "azure-arm-logic/lib/models"; -import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem, ILocationWizardContext, IResourceGroupWizardContext } from "vscode-azureextensionui"; +import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem } from "vscode-azureextensionui"; import { IntegrationAccountAgreementTreeItem } from "../../../tree/integration-account/IntegrationAccountAgreementTreeItem"; import { AgreementCreateStep } from "./agreementCreateStep"; import { AgreementNameStep } from "./agreementNameStep"; @@ -13,8 +13,9 @@ import { GuestIdentityStep } from "./guestIdentityStep"; import { GuestPartnerStep } from "./guestPartnerStep"; import { HostIdentityStep } from "./hostIdentityStep"; import { HostPartnerStep } from "./hostPartnerStep"; +import { IWizardContext } from "../../../models/wizard/wizard"; -export interface IAgreementWizardContext extends ILocationWizardContext, IResourceGroupWizardContext { +export interface IAgreementWizardContext extends IWizardContext { integrationAccountName: string; agreement?: IntegrationAccountAgreementTreeItem; agreementName?: string; diff --git a/src/wizard/integration-account/createIntegrationAccountWizard.ts b/src/wizard/integration-account/createIntegrationAccountWizard.ts index 0a6f4d02..ff2b7f8f 100644 --- a/src/wizard/integration-account/createIntegrationAccountWizard.ts +++ b/src/wizard/integration-account/createIntegrationAccountWizard.ts @@ -3,13 +3,14 @@ * Licensed under the MIT License. See LICENSE in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem, ILocationWizardContext, IResourceGroupWizardContext, LocationListStep, ResourceGroupCreateStep, ResourceGroupListStep } from "vscode-azureextensionui"; +import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem, LocationListStep, ResourceGroupCreateStep, ResourceGroupListStep } from "vscode-azureextensionui"; import { IntegrationAccountTreeItem } from "../../tree/integration-account/IntegrationAccountTreeItem"; import { IntegrationAccountCreateStep } from "./integrationAccountCreateStep"; import { IntegrationAccountNameStep } from "./integrationAccountNameStep"; import { IntegrationAccountSkuStep } from "./integrationAccountSkuStep"; +import { IWizardContext } from "../../models/wizard/wizard"; -export interface IIntegrationAccountWizardContext extends ILocationWizardContext, IResourceGroupWizardContext { +export interface IIntegrationAccountWizardContext extends IWizardContext { integrationAccount?: IntegrationAccountTreeItem; integrationAccountName?: string; sku?: string; diff --git a/src/wizard/integration-account/integrationAccountCreateStep.ts b/src/wizard/integration-account/integrationAccountCreateStep.ts index 6920e5a5..7e0e87bc 100644 --- a/src/wizard/integration-account/integrationAccountCreateStep.ts +++ b/src/wizard/integration-account/integrationAccountCreateStep.ts @@ -12,7 +12,7 @@ import { IIntegrationAccountWizardContext } from "./createIntegrationAccountWiza export class IntegrationAccountCreateStep extends AzureWizardExecuteStep { public async execute(wizardContext: IIntegrationAccountWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); const newIntegrationAccount: IntegrationAccount = await client.integrationAccounts.createOrUpdate(wizardContext.resourceGroup!.name!, diff --git a/src/wizard/integration-account/integrationAccountNameStep.ts b/src/wizard/integration-account/integrationAccountNameStep.ts index e7301e67..617bc69f 100644 --- a/src/wizard/integration-account/integrationAccountNameStep.ts +++ b/src/wizard/integration-account/integrationAccountNameStep.ts @@ -52,7 +52,7 @@ export class IntegrationAccountNameStep extends AzureWizardPromptStep { public async execute(wizardContext: IMapWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); const newMap: IntegrationAccountMap = await client.integrationAccountMaps.createOrUpdate(wizardContext.resourceGroup!.name!, diff --git a/src/wizard/integration-account/maps/mapNameStep.ts b/src/wizard/integration-account/maps/mapNameStep.ts index 7ab11771..bd7d0295 100644 --- a/src/wizard/integration-account/maps/mapNameStep.ts +++ b/src/wizard/integration-account/maps/mapNameStep.ts @@ -41,7 +41,7 @@ export class MapNameStep extends AzureWizardPromptStep { } private async isNameAvailable(name: string, wizardContext: IMapWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); let maps = await client.integrationAccountMaps.list(wizardContext.resourceGroup!.name!, wizardContext.integrationAccountName); diff --git a/src/wizard/integration-account/partners/createPartnerWizard.ts b/src/wizard/integration-account/partners/createPartnerWizard.ts index ff206dfd..ffb628ca 100644 --- a/src/wizard/integration-account/partners/createPartnerWizard.ts +++ b/src/wizard/integration-account/partners/createPartnerWizard.ts @@ -4,14 +4,15 @@ *--------------------------------------------------------------------------------------------*/ import { IntegrationAccount } from "azure-arm-logic/lib/models"; -import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem, ILocationWizardContext, IResourceGroupWizardContext } from "vscode-azureextensionui"; +import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem } from "vscode-azureextensionui"; import { IntegrationAccountPartnerTreeItem } from "../../../tree/integration-account/IntegrationAccountPartnerTreeItem"; import { PartnerCreateStep } from "./partnerCreateStep"; import { PartnerNameStep } from "./partnerNameStep"; import { PartnerQualifierStep } from "./partnerQualifierStep"; import { PartnerValueStep } from "./partnerValueStep"; +import { IWizardContext } from "../../../models/wizard/wizard"; -export interface IPartnerWizardContext extends ILocationWizardContext, IResourceGroupWizardContext { +export interface IPartnerWizardContext extends IWizardContext { integrationAccountName: string; partner?: IntegrationAccountPartnerTreeItem; partnerName?: string; diff --git a/src/wizard/integration-account/partners/partnerCreateStep.ts b/src/wizard/integration-account/partners/partnerCreateStep.ts index dfe76a6b..7951202a 100644 --- a/src/wizard/integration-account/partners/partnerCreateStep.ts +++ b/src/wizard/integration-account/partners/partnerCreateStep.ts @@ -12,7 +12,7 @@ import { IPartnerWizardContext } from "./createPartnerWizard"; export class PartnerCreateStep extends AzureWizardExecuteStep { public async execute(wizardContext: IPartnerWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); const newPartner: IntegrationAccountPartner = await client.integrationAccountPartners.createOrUpdate(wizardContext.resourceGroup!.name!, diff --git a/src/wizard/integration-account/schemas/createSchemaWizard.ts b/src/wizard/integration-account/schemas/createSchemaWizard.ts index 8af1da0b..2a3935e1 100644 --- a/src/wizard/integration-account/schemas/createSchemaWizard.ts +++ b/src/wizard/integration-account/schemas/createSchemaWizard.ts @@ -4,12 +4,13 @@ *--------------------------------------------------------------------------------------------*/ import { IntegrationAccount } from "azure-arm-logic/lib/models"; -import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem, ILocationWizardContext, IResourceGroupWizardContext } from "vscode-azureextensionui"; +import { AzureWizard, AzureWizardExecuteStep, AzureWizardPromptStep, IActionContext, IAzureNode, IAzureTreeItem } from "vscode-azureextensionui"; import { IntegrationAccountSchemaTreeItem } from "../../../tree/integration-account/IntegrationAccountSchemaTreeItem"; import { SchemaCreateStep } from "./schemaCreateStep"; import { SchemaNameStep } from "./schemaNameStep"; +import { IWizardContext } from "../../../models/wizard/wizard"; -export interface ISchemaWizardContext extends ILocationWizardContext, IResourceGroupWizardContext { +export interface ISchemaWizardContext extends IWizardContext { integrationAccountName: string; schema?: IntegrationAccountSchemaTreeItem; schemaName?: string; diff --git a/src/wizard/integration-account/schemas/schemaCreateStep.ts b/src/wizard/integration-account/schemas/schemaCreateStep.ts index 9125672a..6424304d 100644 --- a/src/wizard/integration-account/schemas/schemaCreateStep.ts +++ b/src/wizard/integration-account/schemas/schemaCreateStep.ts @@ -12,7 +12,7 @@ import { ISchemaWizardContext } from "./createSchemaWizard"; export class SchemaCreateStep extends AzureWizardExecuteStep { public async execute(wizardContext: ISchemaWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); const newSchema: IntegrationAccountSchema = await client.integrationAccountSchemas.createOrUpdate(wizardContext.resourceGroup!.name!, diff --git a/src/wizard/integration-account/schemas/schemaNameStep.ts b/src/wizard/integration-account/schemas/schemaNameStep.ts index 17b1eb32..a4701c1c 100644 --- a/src/wizard/integration-account/schemas/schemaNameStep.ts +++ b/src/wizard/integration-account/schemas/schemaNameStep.ts @@ -41,7 +41,7 @@ export class SchemaNameStep extends AzureWizardPromptStep } private async isNameAvailable(name: string, wizardContext: ISchemaWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); let schemas = await client.integrationAccountSchemas.list(wizardContext.resourceGroup!.name!, wizardContext.integrationAccountName); diff --git a/src/wizard/logic-app/LogicAppCreateStep.ts b/src/wizard/logic-app/LogicAppCreateStep.ts index fbecd5c4..7b5ba1fe 100644 --- a/src/wizard/logic-app/LogicAppCreateStep.ts +++ b/src/wizard/logic-app/LogicAppCreateStep.ts @@ -11,7 +11,7 @@ import { IAzureLogicAppWizardContext } from "./createLogicApp"; export class LogicAppCreateStep extends AzureWizardExecuteStep { public async execute(wizardContext: IAzureLogicAppWizardContext): Promise { - const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId); + const client = new LogicAppsManagementClient(wizardContext.credentials, wizardContext.subscriptionId, wizardContext.credentials.environment?.resourceManagerEndpointUrl); addExtensionUserAgent(client); const location = wizardContext.location!.name!; diff --git a/src/wizard/logic-app/LogicAppNameStep.ts b/src/wizard/logic-app/LogicAppNameStep.ts index 315cfd8e..8aabe1a6 100644 --- a/src/wizard/logic-app/LogicAppNameStep.ts +++ b/src/wizard/logic-app/LogicAppNameStep.ts @@ -53,7 +53,7 @@ export class LogicAppNameStep extends AzureWizardPromptStep Date: Sun, 29 Mar 2020 21:36:07 -0400 Subject: [PATCH 3/3] Revert "Fix Azure Environment Selector #133" This reverts commit 09e09665f577ad81a7b46a7a2bfd259ea8d7cc0b. --- src/tree/integration-account/IntegrationAccountsProvider.ts | 2 +- src/tree/logic-app/LogicAppsProvider.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tree/integration-account/IntegrationAccountsProvider.ts b/src/tree/integration-account/IntegrationAccountsProvider.ts index a3f96703..93acf30e 100644 --- a/src/tree/integration-account/IntegrationAccountsProvider.ts +++ b/src/tree/integration-account/IntegrationAccountsProvider.ts @@ -24,7 +24,7 @@ export class IntegrationAccountProvider implements IChildProvider { this.nextLink = undefined; } - const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId, node.environment.resourceManagerEndpointUrl); + const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId); addExtensionUserAgent(client); const integrationAccounts = this.nextLink === undefined diff --git a/src/tree/logic-app/LogicAppsProvider.ts b/src/tree/logic-app/LogicAppsProvider.ts index 4bbfcbcc..4bbb8924 100644 --- a/src/tree/logic-app/LogicAppsProvider.ts +++ b/src/tree/logic-app/LogicAppsProvider.ts @@ -28,7 +28,7 @@ export class LogicAppsProvider implements IChildProvider { this.nextLink = undefined; } - const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId, node.environment.resourceManagerEndpointUrl); + const client = new LogicAppsManagementClient(node.credentials, node.subscriptionId); addExtensionUserAgent(client); const logicApps = this.nextLink === undefined