diff --git a/sdk/compute/arm-compute/CHANGELOG.md b/sdk/compute/arm-compute/CHANGELOG.md index bc6d704710b2..270c6ddfbd79 100644 --- a/sdk/compute/arm-compute/CHANGELOG.md +++ b/sdk/compute/arm-compute/CHANGELOG.md @@ -1,15 +1,13 @@ # Release History + +## 19.2.0 (2022-08-17) + +**Features** -## 19.1.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added Interface PriorityMixPolicy + - Interface VirtualMachineScaleSet has a new optional parameter priorityMixPolicy + + ## 19.1.0 (2022-06-27) **Features** diff --git a/sdk/compute/arm-compute/_meta.json b/sdk/compute/arm-compute/_meta.json index e0d49b3045bd..63a5f1d6b472 100644 --- a/sdk/compute/arm-compute/_meta.json +++ b/sdk/compute/arm-compute/_meta.json @@ -1,8 +1,8 @@ { - "commit": "fda2db441da3f1fab31bb235e97da3e33c8e3903", + "commit": "07de72f0909de98067e225d48f648723df291ad6", "readme": "specification/compute/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\compute\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.1 --generate-sample=true", + "autorest_command": "autorest --version=3.8.4 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/compute/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.3.2", + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.2", "use": "@autorest/typescript@6.0.0-rc.1" } \ No newline at end of file diff --git a/sdk/compute/arm-compute/package.json b/sdk/compute/arm-compute/package.json index be47957c6a14..352341a0896f 100644 --- a/sdk/compute/arm-compute/package.json +++ b/sdk/compute/arm-compute/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for ComputeManagementClient.", - "version": "19.1.1", + "version": "19.2.0", "engines": { "node": ">=12.0.0" }, @@ -46,8 +46,7 @@ "@types/chai": "^4.2.8", "chai": "^4.2.0", "cross-env": "^7.0.2", - "@azure/dev-tool": "^1.0.0", - "@azure/arm-network": "^26.0.0" + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/compute/arm-compute", "repository": { @@ -110,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-compute?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/compute/arm-compute/review/arm-compute.api.md b/sdk/compute/arm-compute/review/arm-compute.api.md index 700a1f1cbb7e..96c8e16846e5 100644 --- a/sdk/compute/arm-compute/review/arm-compute.api.md +++ b/sdk/compute/arm-compute/review/arm-compute.api.md @@ -4067,6 +4067,12 @@ export interface Plan { publisher?: string; } +// @public +export interface PriorityMixPolicy { + baseRegularPriorityCount?: number; + regularPriorityPercentageAboveBase?: number; +} + // @public export interface PrivateEndpoint { readonly id?: string; @@ -4992,7 +4998,7 @@ export interface ShareInfoElement { // @public export interface SharingProfile { - communityGalleryInfo?: any; + communityGalleryInfo?: CommunityGalleryInfo; readonly groups?: SharingProfileGroup[]; permissions?: GallerySharingPermissionTypes; } @@ -6213,6 +6219,7 @@ export interface VirtualMachineScaleSet extends Resource { overprovision?: boolean; plan?: Plan; platformFaultDomainCount?: number; + priorityMixPolicy?: PriorityMixPolicy; readonly provisioningState?: string; proximityPlacementGroup?: SubResource; scaleInPolicy?: ScaleInPolicy; diff --git a/sdk/compute/arm-compute/src/computeManagementClient.ts b/sdk/compute/arm-compute/src/computeManagementClient.ts index fcad09ae3ed1..673fad3a5618 100644 --- a/sdk/compute/arm-compute/src/computeManagementClient.ts +++ b/sdk/compute/arm-compute/src/computeManagementClient.ts @@ -145,12 +145,15 @@ export class ComputeManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-compute/19.1.1`; + const packageDetails = `azsdk-js-arm-compute/19.2.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; + if (!options.credentialScopes) { + options.credentialScopes = ["https://management.azure.com/.default"]; + } const optionsWithDefaults = { ...defaults, ...options, diff --git a/sdk/compute/arm-compute/src/models/index.ts b/sdk/compute/arm-compute/src/models/index.ts index 8d5fc8a46e68..d4eecfd60f08 100644 --- a/sdk/compute/arm-compute/src/models/index.ts +++ b/sdk/compute/arm-compute/src/models/index.ts @@ -245,7 +245,7 @@ export interface VirtualMachineScaleSetVMProfile { capacityReservation?: CapacityReservationProfile; /** Specifies the gallery applications that should be made available to the VM/VMSS */ applicationProfile?: ApplicationProfile; - /** Specifies the hardware profile related details of a scale set.

Minimum api-version: 2022-03-01. */ + /** Specifies the hardware profile related details of a scale set.

Minimum api-version: 2021-11-01. */ hardwareProfile?: VirtualMachineScaleSetHardwareProfile; } @@ -644,7 +644,7 @@ export interface VMGalleryApplication { /** Specifies the hardware settings for the virtual machine scale set. */ export interface VirtualMachineScaleSetHardwareProfile { - /** Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2022-03-01.

Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. */ + /** Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01.

Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. */ vmSizeProperties?: VMSizeProperties; } @@ -680,6 +680,14 @@ export interface SpotRestorePolicy { restoreTimeout?: string; } +/** Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode.

With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. */ +export interface PriorityMixPolicy { + /** The base number of regular priority VMs that will be created in this scale set as it scales out. */ + baseRegularPriorityCount?: number; + /** The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. */ + regularPriorityPercentageAboveBase?: number; +} + /** Identity for the virtual machine scale set. */ export interface VirtualMachineScaleSetIdentity { /** @@ -3221,7 +3229,7 @@ export interface SharingProfile { */ readonly groups?: SharingProfileGroup[]; /** Information of community gallery if current gallery is shared to community. */ - communityGalleryInfo?: any; + communityGalleryInfo?: CommunityGalleryInfo; } /** Group of the gallery sharing profile */ @@ -3232,6 +3240,28 @@ export interface SharingProfileGroup { ids?: string[]; } +/** Information of community gallery if current gallery is shared to community */ +export interface CommunityGalleryInfo { + /** The link to the publisher website. Visible to all users. */ + publisherUri?: string; + /** Community gallery publisher support email. The email address of the publisher. Visible to all users. */ + publisherContact?: string; + /** End-user license agreement for community gallery image. */ + eula?: string; + /** The prefix of the gallery name that will be displayed publicly. Visible to all users. */ + publicNamePrefix?: string; + /** + * Contains info about whether community gallery sharing is enabled. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly communityGalleryEnabled?: boolean; + /** + * Community gallery public name list. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly publicNames?: string[]; +} + /** Contains information about the soft deletion policy of the gallery. */ export interface SoftDeletePolicy { /** Enables soft-deletion for resources in this gallery, allowing them to be recovered within retention time. */ @@ -4275,28 +4305,6 @@ export interface OSFamilyListResult { nextLink?: string; } -/** Information of community gallery if current gallery is shared to community */ -export interface CommunityGalleryInfo { - /** The link to the publisher website. Visible to all users. */ - publisherUri?: string; - /** Community gallery publisher support email. The email address of the publisher. Visible to all users. */ - publisherContact?: string; - /** End-user license agreement for community gallery image. */ - eula?: string; - /** The prefix of the gallery name that will be displayed publicly. Visible to all users. */ - publicNamePrefix?: string; - /** - * Contains info about whether community gallery sharing is enabled. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly communityGalleryEnabled?: boolean; - /** - * Community gallery public name list. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly publicNames?: string[]; -} - /** The source image from which the Image Version is going to be created. */ export interface GalleryArtifactSource { /** The managed artifact. */ @@ -4689,8 +4697,10 @@ export interface VirtualMachineScaleSet extends Resource { orchestrationMode?: OrchestrationMode; /** Specifies the Spot Restore properties for the virtual machine scale set. */ spotRestorePolicy?: SpotRestorePolicy; + /** Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. */ + priorityMixPolicy?: PriorityMixPolicy; /** - * Specifies the time at which the Virtual Machine Scale Set resource was created.

Minimum api-version: 2022-03-01. + * Specifies the time at which the Virtual Machine Scale Set resource was created.

Minimum api-version: 2021-11-01. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly timeCreated?: Date; @@ -4872,7 +4882,7 @@ export interface VirtualMachine extends Resource { /** Specifies the gallery applications that should be made available to the VM/VMSS */ applicationProfile?: ApplicationProfile; /** - * Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2022-03-01. + * Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2021-11-01. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly timeCreated?: Date; @@ -4996,7 +5006,7 @@ export interface DedicatedHost extends Resource { */ readonly instanceView?: DedicatedHostInstanceView; /** - * Specifies the time at which the Dedicated Host resource was created.

Minimum api-version: 2022-03-01. + * Specifies the time at which the Dedicated Host resource was created.

Minimum api-version: 2021-11-01. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly timeCreated?: Date; @@ -5099,7 +5109,7 @@ export interface CapacityReservation extends Resource { */ readonly instanceView?: CapacityReservationInstanceView; /** - * Specifies the time at which the Capacity Reservation resource was created.

Minimum api-version: 2022-03-01. + * Specifies the time at which the Capacity Reservation resource was created.

Minimum api-version: 2021-11-01. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly timeCreated?: Date; @@ -5592,7 +5602,7 @@ export interface VirtualMachineUpdate extends UpdateResource { /** Specifies the gallery applications that should be made available to the VM/VMSS */ applicationProfile?: ApplicationProfile; /** - * Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2022-03-01. + * Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2021-11-01. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly timeCreated?: Date; @@ -5676,7 +5686,7 @@ export interface DedicatedHostUpdate extends UpdateResource { */ readonly instanceView?: DedicatedHostInstanceView; /** - * Specifies the time at which the Dedicated Host resource was created.

Minimum api-version: 2022-03-01. + * Specifies the time at which the Dedicated Host resource was created.

Minimum api-version: 2021-11-01. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly timeCreated?: Date; @@ -5773,7 +5783,7 @@ export interface CapacityReservationUpdate extends UpdateResource { */ readonly instanceView?: CapacityReservationInstanceView; /** - * Specifies the time at which the Capacity Reservation resource was created.

Minimum api-version: 2022-03-01. + * Specifies the time at which the Capacity Reservation resource was created.

Minimum api-version: 2021-11-01. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly timeCreated?: Date; @@ -5860,7 +5870,7 @@ export interface DedicatedHostInstanceViewWithName export interface ImageOSDisk extends ImageDisk { /** This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

Possible values are:

**Windows**

**Linux** */ osType: OperatingSystemTypes; - /** The OS State. */ + /** The OS State. For managed images, use Generalized. */ osState: OperatingSystemStateTypes; } diff --git a/sdk/compute/arm-compute/src/models/mappers.ts b/sdk/compute/arm-compute/src/models/mappers.ts index 36e07b6457b7..ca03f3d542a4 100644 --- a/sdk/compute/arm-compute/src/models/mappers.ts +++ b/sdk/compute/arm-compute/src/models/mappers.ts @@ -1960,6 +1960,34 @@ export const SpotRestorePolicy: coreClient.CompositeMapper = { } }; +export const PriorityMixPolicy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PriorityMixPolicy", + modelProperties: { + baseRegularPriorityCount: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "baseRegularPriorityCount", + type: { + name: "Number" + } + }, + regularPriorityPercentageAboveBase: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "regularPriorityPercentageAboveBase", + type: { + name: "Number" + } + } + } + } +}; + export const VirtualMachineScaleSetIdentity: coreClient.CompositeMapper = { type: { name: "Composite", @@ -8374,7 +8402,8 @@ export const SharingProfile: coreClient.CompositeMapper = { communityGalleryInfo: { serializedName: "communityGalleryInfo", type: { - name: "any" + name: "Composite", + className: "CommunityGalleryInfo" } } } @@ -8407,6 +8436,58 @@ export const SharingProfileGroup: coreClient.CompositeMapper = { } }; +export const CommunityGalleryInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CommunityGalleryInfo", + modelProperties: { + publisherUri: { + serializedName: "publisherUri", + type: { + name: "String" + } + }, + publisherContact: { + serializedName: "publisherContact", + type: { + name: "String" + } + }, + eula: { + serializedName: "eula", + type: { + name: "String" + } + }, + publicNamePrefix: { + serializedName: "publicNamePrefix", + type: { + name: "String" + } + }, + communityGalleryEnabled: { + serializedName: "communityGalleryEnabled", + readOnly: true, + type: { + name: "Boolean" + } + }, + publicNames: { + serializedName: "publicNames", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const SoftDeletePolicy: coreClient.CompositeMapper = { type: { name: "Composite", @@ -10923,58 +11004,6 @@ export const OSFamilyListResult: coreClient.CompositeMapper = { } }; -export const CommunityGalleryInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CommunityGalleryInfo", - modelProperties: { - publisherUri: { - serializedName: "publisherUri", - type: { - name: "String" - } - }, - publisherContact: { - serializedName: "publisherContact", - type: { - name: "String" - } - }, - eula: { - serializedName: "eula", - type: { - name: "String" - } - }, - publicNamePrefix: { - serializedName: "publicNamePrefix", - type: { - name: "String" - } - }, - communityGalleryEnabled: { - serializedName: "communityGalleryEnabled", - readOnly: true, - type: { - name: "Boolean" - } - }, - publicNames: { - serializedName: "publicNames", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - } - } - } -}; - export const GalleryArtifactSource: coreClient.CompositeMapper = { type: { name: "Composite", @@ -12082,6 +12111,13 @@ export const VirtualMachineScaleSet: coreClient.CompositeMapper = { className: "SpotRestorePolicy" } }, + priorityMixPolicy: { + serializedName: "properties.priorityMixPolicy", + type: { + name: "Composite", + className: "PriorityMixPolicy" + } + }, timeCreated: { serializedName: "properties.timeCreated", readOnly: true, diff --git a/sdk/compute/arm-compute/src/models/parameters.ts b/sdk/compute/arm-compute/src/models/parameters.ts index cb61af9aba6d..34da2c466dfb 100644 --- a/sdk/compute/arm-compute/src/models/parameters.ts +++ b/sdk/compute/arm-compute/src/models/parameters.ts @@ -110,7 +110,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-03-01", + defaultValue: "2022-08-01", isConstant: true, serializedName: "api-version", type: { diff --git a/sdk/compute/arm-compute/test/sampleTest.ts b/sdk/compute/arm-compute/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/compute/arm-compute/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/compute/arm-compute/tsconfig.json b/sdk/compute/arm-compute/tsconfig.json index b84abc8423ab..3e6ae96443f3 100644 --- a/sdk/compute/arm-compute/tsconfig.json +++ b/sdk/compute/arm-compute/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-compute": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"