Skip to content

Commit cc32ac0

Browse files
authored
Fix errors related to updating "@azure/arm-containerregistry" dependency (#284)
* Fix errors from updating dependency * Suggested changes
1 parent 2a0cc09 commit cc32ac0

File tree

8 files changed

+54
-31
lines changed

8 files changed

+54
-31
lines changed

package-lock.json

Lines changed: 36 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@
321321
},
322322
"dependencies": {
323323
"@azure/arm-appcontainers": "^1.1.0",
324-
"@azure/arm-containerregistry": "^8.1.1",
324+
"@azure/arm-containerregistry": "^10.0.0",
325325
"@azure/arm-operationalinsights": "^8.0.0",
326326
"@azure/arm-resources": "^4.2.2",
327327
"@azure/container-registry": "1.0.0-beta.5",

src/commands/deploy/deployFromRegistry/IDeployFromRegistryContext.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import type { ContainerRegistryManagementModels } from '@azure/arm-containerregistry';
6+
import type { Registry } from '@azure/arm-containerregistry';
77
import { SupportedRegistries } from '../../../constants';
88
import { IDeployBaseContext } from "../IDeployBaseContext";
99

1010
export interface IDeployFromRegistryContext extends IDeployBaseContext {
1111
registryDomain?: SupportedRegistries;
12-
registry?: ContainerRegistryManagementModels.Registry;
12+
registry?: Registry;
1313
dockerHubNamespace?: string;
1414

1515
repositoryName?: string;

src/commands/deploy/deployFromRegistry/acr/AcrListStep.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { ContainerRegistryManagementClient, ContainerRegistryManagementModels } from "@azure/arm-containerregistry";
6+
import type { ContainerRegistryManagementClient, Registry } from "@azure/arm-containerregistry";
7+
import { uiUtils } from "@microsoft/vscode-azext-azureutils";
78
import { AzureWizardPromptStep, IAzureQuickPickItem, IWizardOptions } from "@microsoft/vscode-azext-utils";
89
import { createContainerRegistryManagementClient } from "../../../../utils/azureClients";
910
import { localize } from "../../../../utils/localize";
@@ -29,9 +30,9 @@ export class AcrListStep extends AzureWizardPromptStep<IDeployFromRegistryContex
2930
return undefined;
3031
}
3132

32-
public async getPicks(context: IDeployFromRegistryContext): Promise<IAzureQuickPickItem<ContainerRegistryManagementModels.Registry>[]> {
33+
public async getPicks(context: IDeployFromRegistryContext): Promise<IAzureQuickPickItem<Registry>[]> {
3334
const client: ContainerRegistryManagementClient = await createContainerRegistryManagementClient(context);
34-
const registries = await client.registries.list();
35+
const registries = await uiUtils.listAllIterator(client.registries.list());
3536
return registries.map((r) => { return { label: nonNullProp(r, 'name'), data: r, description: r.loginServer } });
3637
}
3738
}

src/commands/deploy/deployFromRegistry/acr/RegistryEnableAdminUserStep.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export class RegistryEnableAdminUserStep extends AzureWizardPromptStep<IDeployFr
2323
registry.adminUserEnabled = true;
2424

2525
const client: ContainerRegistryManagementClient = await createContainerRegistryManagementClient(context);
26-
const updatedRegistry = await client.registries.update(getResourceGroupFromId(nonNullProp(registry, 'id')), nonNullProp(registry, 'name'), registry);
26+
const updatedRegistry = await client.registries.beginUpdateAndWait(getResourceGroupFromId(nonNullProp(registry, 'id')), nonNullProp(registry, 'name'), registry);
2727

2828
if (!updatedRegistry.adminUserEnabled) {
2929
throw new Error(localize('failedToUpdate', 'Failed to enable admin user for registry "{0}". Go to the portal to manually update.', registry.name));

src/commands/deploy/deployFromRegistry/acr/listCredentialsFromRegistry.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { ContainerRegistryManagementClient, ContainerRegistryManagementModels } from "@azure/arm-containerregistry";
6+
import type { ContainerRegistryManagementClient, Registry, RegistryPassword } from "@azure/arm-containerregistry";
77
import { getResourceGroupFromId } from "@microsoft/vscode-azext-azureutils";
88
import { createContainerRegistryManagementClient } from "../../../../utils/azureClients";
99
import { nonNullProp, nonNullValue } from "../../../../utils/nonNull";
1010
import { IDeployFromRegistryContext } from "../IDeployFromRegistryContext";
1111

12-
export async function listCredentialsFromRegistry(context: IDeployFromRegistryContext, registry: ContainerRegistryManagementModels.Registry):
13-
Promise<{ username: string, password: ContainerRegistryManagementModels.RegistryPassword }> {
12+
export async function listCredentialsFromRegistry(context: IDeployFromRegistryContext, registry: Registry):
13+
Promise<{ username: string, password: RegistryPassword }> {
1414

1515
const containerClient: ContainerRegistryManagementClient = await createContainerRegistryManagementClient(context);
1616
const credentials = await containerClient.registries.listCredentials(getResourceGroupFromId(nonNullProp(registry, 'id')), nonNullProp(registry, 'name'));

src/utils/azureClients.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { ContainerAppsAPIClient } from "@azure/arm-appcontainers";
7-
import { ContainerRegistryManagementClient, ContainerRegistryManagementModels } from '@azure/arm-containerregistry';
7+
import type { ContainerRegistryManagementClient, Registry } from '@azure/arm-containerregistry';
88
import { OperationalInsightsManagementClient } from '@azure/arm-operationalinsights';
99
import { ContainerRegistryClient, KnownContainerRegistryAudience } from '@azure/container-registry';
1010
import { AzExtClientContext, createAzureClient, parseClientContext } from '@microsoft/vscode-azext-azureutils';
@@ -26,7 +26,7 @@ export async function createContainerRegistryManagementClient(context: AzExtClie
2626
return createAzureClient(context, (await import('@azure/arm-containerregistry')).ContainerRegistryManagementClient);
2727
}
2828

29-
export function createContainerRegistryClient(context: AzExtClientContext, registry: ContainerRegistryManagementModels.Registry): ContainerRegistryClient {
29+
export function createContainerRegistryClient(context: AzExtClientContext, registry: Registry): ContainerRegistryClient {
3030
const clientContext = parseClientContext(context);
3131
// @azure/container-registry doesn't support ADAL tokens at all. If it sees `signRequest` is defined
3232
// it errors, but we don't actually need `signRequest` because this is a T2 package

src/utils/imageNameUtils.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import type { ContainerRegistryManagementClient, ContainerRegistryManagementModels } from "@azure/arm-containerregistry";
6+
import type { ContainerRegistryManagementClient, Registry } from "@azure/arm-containerregistry";
7+
import { uiUtils } from "@microsoft/vscode-azext-azureutils";
78
import { ISubscriptionActionContext } from "@microsoft/vscode-azext-utils";
89
import { acrDomain, dockerHubDomain, SupportedRegistries } from "../constants";
910
import { createContainerRegistryManagementClient } from "./azureClients";
@@ -24,8 +25,8 @@ export function detectRegistryDomain(registryName: string): SupportedRegistries
2425
/**
2526
* @param acrName When parsed from a full ACR image name, everything before the first slash
2627
*/
27-
export async function getRegistryFromAcrName(context: ISubscriptionActionContext, acrName: string): Promise<ContainerRegistryManagementModels.Registry> {
28+
export async function getRegistryFromAcrName(context: ISubscriptionActionContext, acrName: string): Promise<Registry> {
2829
const client: ContainerRegistryManagementClient = await createContainerRegistryManagementClient(context);
29-
const registries = await client.registries.list();
30-
return registries.find(r => r.loginServer === acrName) as ContainerRegistryManagementModels.Registry;
30+
const registries = await uiUtils.listAllIterator(client.registries.list());
31+
return registries.find(r => r.loginServer === acrName) as Registry;
3132
}

0 commit comments

Comments
 (0)