From 19bb462f8b7a26956735d2f3e36c41b2ba1ae4c7 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 9 Oct 2023 02:27:10 +0000 Subject: [PATCH] CodeGen from PR 17666 in Azure/azure-rest-api-specs Merge 68714be2680d2d993d24582080aba9cfbfc495d4 into 663ea6835c33bca216b63f777227db6a459a06b3 --- common/config/rush/pnpm-lock.yaml | 19 +- sdk/devtestlabs/arm-devtestlabs/CHANGELOG.md | 815 +- sdk/devtestlabs/arm-devtestlabs/LICENSE | 2 +- sdk/devtestlabs/arm-devtestlabs/_meta.json | 10 +- sdk/devtestlabs/arm-devtestlabs/package.json | 35 +- .../review/arm-devtestlabs.api.md | 1797 +++- .../arm-devtestlabs/src/devTestLabsClient.ts | 50 +- .../arm-devtestlabs/src/lroImpl.ts | 54 +- .../arm-devtestlabs/src/models/index.ts | 4243 ++++++--- .../arm-devtestlabs/src/models/mappers.ts | 7969 ++++++++++++----- .../arm-devtestlabs/src/models/parameters.ts | 135 +- .../src/operations/armTemplates.ts | 15 +- .../src/operations/artifactSources.ts | 24 +- .../src/operations/artifacts.ts | 17 +- .../src/operations/bastionHosts.ts | 603 ++ .../arm-devtestlabs/src/operations/costs.ts | 127 - .../src/operations/customImages.ts | 82 +- .../arm-devtestlabs/src/operations/disks.ts | 129 +- .../src/operations/environments.ts | 89 +- .../src/operations/formulas.ts | 63 +- .../src/operations/galleryImages.ts | 57 +- .../src/operations/globalSchedules.ts | 88 +- .../arm-devtestlabs/src/operations/index.ts | 5 +- .../src/operations/labSecrets.ts | 637 ++ .../arm-devtestlabs/src/operations/labs.ts | 246 +- .../src/operations/notificationChannels.ts | 28 +- .../src/operations/operations.ts | 7 +- .../src/operations/policies.ts | 23 +- .../src/operations/policySets.ts | 172 +- .../src/operations/providerOperations.ts | 1 - .../src/operations/schedules.ts | 63 +- .../arm-devtestlabs/src/operations/secrets.ts | 63 +- .../src/operations/serviceFabricSchedules.ts | 56 +- .../src/operations/serviceFabrics.ts | 145 +- .../src/operations/serviceRunners.ts | 264 +- .../src/operations/sharedGalleries.ts | 387 + .../src/operations/sharedImages.ts | 435 + .../arm-devtestlabs/src/operations/users.ts | 87 +- .../src/operations/virtualMachineSchedules.ts | 56 +- .../src/operations/virtualMachines.ts | 419 +- .../src/operations/virtualNetworks.ts | 83 +- .../src/operationsInterfaces/armTemplates.ts | 4 +- .../operationsInterfaces/artifactSources.ts | 13 +- .../src/operationsInterfaces/artifacts.ts | 6 +- .../src/operationsInterfaces/bastionHosts.ts | 141 + .../src/operationsInterfaces/costs.ts | 47 - .../src/operationsInterfaces/customImages.ts | 24 +- .../src/operationsInterfaces/disks.ts | 36 +- .../src/operationsInterfaces/environments.ts | 24 +- .../src/operationsInterfaces/formulas.ts | 24 +- .../src/operationsInterfaces/galleryImages.ts | 22 +- .../operationsInterfaces/globalSchedules.ts | 26 +- .../src/operationsInterfaces/index.ts | 5 +- .../src/operationsInterfaces/labSecrets.ts | 147 + .../src/operationsInterfaces/labs.ts | 64 +- .../notificationChannels.ts | 17 +- .../src/operationsInterfaces/policies.ts | 12 +- .../src/operationsInterfaces/policySets.ts | 17 +- .../src/operationsInterfaces/schedules.ts | 22 +- .../src/operationsInterfaces/secrets.ts | 20 +- .../serviceFabricSchedules.ts | 20 +- .../operationsInterfaces/serviceFabrics.ts | 42 +- .../operationsInterfaces/serviceRunners.ts | 42 +- .../operationsInterfaces/sharedGalleries.ts | 94 + .../src/operationsInterfaces/sharedImages.ts | 103 + .../src/operationsInterfaces/users.ts | 28 +- .../virtualMachineSchedules.ts | 20 +- .../operationsInterfaces/virtualMachines.ts | 113 +- .../operationsInterfaces/virtualNetworks.ts | 25 +- .../arm-devtestlabs/src/pagingHelper.ts | 8 +- .../arm-devtestlabs/test/sampleTest.ts | 43 + sdk/devtestlabs/arm-devtestlabs/tsconfig.json | 10 +- 72 files changed, 15331 insertions(+), 5488 deletions(-) create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operations/bastionHosts.ts delete mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operations/costs.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operations/labSecrets.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operations/sharedGalleries.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operations/sharedImages.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/bastionHosts.ts delete mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/costs.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labSecrets.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedGalleries.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedImages.ts create mode 100644 sdk/devtestlabs/arm-devtestlabs/test/sampleTest.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index bde321a58542..a6c8e58b1582 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -3962,7 +3962,7 @@ packages: resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dependencies: - ms: 2.1.1 + ms: 2.1.3 dev: false /debug@3.2.7: @@ -4214,7 +4214,7 @@ packages: dependencies: semver: 7.5.4 shelljs: 0.8.5 - typescript: 5.3.0-dev.20231005 + typescript: 5.3.0-dev.20231008 dev: false /eastasianwidth@0.2.0: @@ -8963,8 +8963,8 @@ packages: hasBin: true dev: false - /typescript@5.3.0-dev.20231005: - resolution: {integrity: sha512-Twm3wBauTO94CSWbjXFMpsHsbaOUVssreq6pUo4wr8YsaIp0jim8EeCa9LfawFetQ+P4PODMmiM+uBhhWRVX0Q==} + /typescript@5.3.0-dev.20231008: + resolution: {integrity: sha512-yIhJnBiRy/xd23P14x7UA5p/41U1WFoZ0PohzZoAuyVNH2DlhtLxng9CI1zVYo6amjknPb4t4apAcImtPkyXYQ==} engines: {node: '>=14.17'} hasBin: true dev: false @@ -12304,10 +12304,11 @@ packages: dev: false file:projects/arm-devtestlabs.tgz: - resolution: {integrity: sha512-zvR51Q1/epYHaVvsPMEM3zC27upLKuYeOoT/D8hwB9RsSjYciEepUeY9V/WrtDYzUBapRAWrSse1/MNE4cJouw==, tarball: file:projects/arm-devtestlabs.tgz} + resolution: {integrity: sha512-wn2qwR9QGGfom7jJZ9uxNgmDuWmumcXxW7kuFHkDMG1SdnVE6fNWHz7myGzAqu5fMBGH9paC1nQGT1BRFuDyLQ==, tarball: file:projects/arm-devtestlabs.tgz} name: '@rush-temp/arm-devtestlabs' version: 0.0.0 dependencies: + '@azure/identity': 2.1.0 '@microsoft/api-extractor': 7.38.0(@types/node@14.18.63) '@rollup/plugin-commonjs': 24.1.0(rollup@2.79.1) '@rollup/plugin-json': 6.0.0(rollup@2.79.1) @@ -12317,9 +12318,10 @@ packages: '@types/node': 14.18.63 chai: 4.3.10 cross-env: 7.0.3 - mkdirp: 1.0.4 - mocha: 10.2.0 - rimraf: 3.0.2 + dotenv: 16.3.1 + mkdirp: 2.1.6 + mocha: 7.2.0 + rimraf: 5.0.5 rollup: 2.79.1 rollup-plugin-sourcemaps: 0.6.3(@types/node@14.18.63)(rollup@2.79.1) ts-node: 10.9.1(@types/node@14.18.63)(typescript@5.0.4) @@ -12329,6 +12331,7 @@ packages: transitivePeerDependencies: - '@swc/core' - '@swc/wasm' + - supports-color dev: false file:projects/arm-digitaltwins.tgz: diff --git a/sdk/devtestlabs/arm-devtestlabs/CHANGELOG.md b/sdk/devtestlabs/arm-devtestlabs/CHANGELOG.md index 41ac9f463b6c..937132d4c81f 100644 --- a/sdk/devtestlabs/arm-devtestlabs/CHANGELOG.md +++ b/sdk/devtestlabs/arm-devtestlabs/CHANGELOG.md @@ -1,15 +1,812 @@ # Release History + +## 5.0.0 (2023-10-09) + +**Features** -## 4.1.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed + - Added operation group BastionHosts + - Added operation group LabSecrets + - Added operation group SharedGalleries + - Added operation group SharedImages + - Added operation GalleryImages.get + - Added operation Labs.ensureCurrentUserProfile + - Added operation PolicySets.list + - Added operation ServiceRunners.beginDelete + - Added operation ServiceRunners.beginDeleteAndWait + - Added operation ServiceRunners.list + - Added operation VirtualMachines.clearArtifactResults + - Added Interface BastionHost + - Added Interface BastionHostFragment + - Added Interface BastionHostList + - Added Interface BastionHostsCreateOrUpdateOptionalParams + - Added Interface BastionHostsDeleteHeaders + - Added Interface BastionHostsDeleteOptionalParams + - Added Interface BastionHostsGetOptionalParams + - Added Interface BastionHostsListNextOptionalParams + - Added Interface BastionHostsListOptionalParams + - Added Interface BastionHostsUpdateOptionalParams + - Added Interface CustomImagePropertiesFromPlanFragment + - Added Interface CustomImagesDeleteHeaders + - Added Interface DisksAttachHeaders + - Added Interface DisksDeleteHeaders + - Added Interface DisksDetachHeaders + - Added Interface EnvironmentsDeleteHeaders + - Added Interface GalleryImagesGetOptionalParams + - Added Interface GlobalSchedulesExecuteHeaders + - Added Interface GlobalSchedulesRetargetHeaders + - Added Interface ImageVersionProperties + - Added Interface LabsClaimAnyVmHeaders + - Added Interface LabsCreateEnvironmentHeaders + - Added Interface LabsDeleteHeaders + - Added Interface LabSecret + - Added Interface LabSecretFragment + - Added Interface LabSecretList + - Added Interface LabSecretsCreateOrUpdateOptionalParams + - Added Interface LabSecretsDeleteHeaders + - Added Interface LabSecretsDeleteOptionalParams + - Added Interface LabSecretsGetOptionalParams + - Added Interface LabSecretsListNextOptionalParams + - Added Interface LabSecretsListOptionalParams + - Added Interface LabSecretsUpdateHeaders + - Added Interface LabSecretsUpdateOptionalParams + - Added Interface LabsEnsureCurrentUserProfileOptionalParams + - Added Interface LabsExportResourceUsageHeaders + - Added Interface LabsImportVirtualMachineHeaders + - Added Interface OperationsGetHeaders + - Added Interface PolicySet + - Added Interface PolicySetList + - Added Interface PolicySetsListNextOptionalParams + - Added Interface PolicySetsListOptionalParams + - Added Interface SchedulesExecuteHeaders + - Added Interface SecurityProfile + - Added Interface ServiceFabricSchedulesExecuteHeaders + - Added Interface ServiceFabricsDeleteHeaders + - Added Interface ServiceFabricsStartHeaders + - Added Interface ServiceFabricsStopHeaders + - Added Interface ServiceRunnersDeleteHeaders + - Added Interface ServiceRunnersListNextOptionalParams + - Added Interface ServiceRunnersListOptionalParams + - Added Interface SharedGalleriesCreateOrUpdateOptionalParams + - Added Interface SharedGalleriesDeleteOptionalParams + - Added Interface SharedGalleriesGetOptionalParams + - Added Interface SharedGalleriesListNextOptionalParams + - Added Interface SharedGalleriesListOptionalParams + - Added Interface SharedGalleriesUpdateOptionalParams + - Added Interface SharedGallery + - Added Interface SharedGalleryFragment + - Added Interface SharedGalleryList + - Added Interface SharedImage + - Added Interface SharedImageFragment + - Added Interface SharedImageList + - Added Interface SharedImagesCreateOrUpdateOptionalParams + - Added Interface SharedImagesDeleteOptionalParams + - Added Interface SharedImagesGetOptionalParams + - Added Interface SharedImagesListNextOptionalParams + - Added Interface SharedImagesListOptionalParams + - Added Interface SharedImagesUpdateOptionalParams + - Added Interface SystemData + - Added Interface UefiSettings + - Added Interface UsersDeleteHeaders + - Added Interface VirtualMachinesAddDataDiskHeaders + - Added Interface VirtualMachinesApplyArtifactsHeaders + - Added Interface VirtualMachineSchedulesExecuteHeaders + - Added Interface VirtualMachinesClaimHeaders + - Added Interface VirtualMachinesClearArtifactResultsOptionalParams + - Added Interface VirtualMachinesDeleteHeaders + - Added Interface VirtualMachinesDetachDataDiskHeaders + - Added Interface VirtualMachinesRedeployHeaders + - Added Interface VirtualMachinesResizeHeaders + - Added Interface VirtualMachinesRestartHeaders + - Added Interface VirtualMachinesStartHeaders + - Added Interface VirtualMachinesStopHeaders + - Added Interface VirtualMachinesTransferDisksHeaders + - Added Interface VirtualMachinesUnClaimHeaders + - Added Interface VirtualNetworksDeleteHeaders + - Added Interface WeekDetailsFragment + - Added Type Alias BastionHostsCreateOrUpdateResponse + - Added Type Alias BastionHostsGetResponse + - Added Type Alias BastionHostsListNextResponse + - Added Type Alias BastionHostsListResponse + - Added Type Alias BastionHostsUpdateResponse + - Added Type Alias CreatedByType + - Added Type Alias EnableState + - Added Type Alias EncryptionType + - Added Type Alias GalleryImagesGetResponse + - Added Type Alias ImageType + - Added Type Alias LabSecretsCreateOrUpdateResponse + - Added Type Alias LabSecretsGetResponse + - Added Type Alias LabSecretsListNextResponse + - Added Type Alias LabSecretsListResponse + - Added Type Alias LabSecretsUpdateResponse + - Added Type Alias OsType + - Added Type Alias PolicySetsListNextResponse + - Added Type Alias PolicySetsListResponse + - Added Type Alias SecurityTypes + - Added Type Alias ServiceRunnersListNextResponse + - Added Type Alias ServiceRunnersListResponse + - Added Type Alias SharedGalleriesCreateOrUpdateResponse + - Added Type Alias SharedGalleriesGetResponse + - Added Type Alias SharedGalleriesListNextResponse + - Added Type Alias SharedGalleriesListResponse + - Added Type Alias SharedGalleriesUpdateResponse + - Added Type Alias SharedImagesCreateOrUpdateResponse + - Added Type Alias SharedImagesGetResponse + - Added Type Alias SharedImagesListNextResponse + - Added Type Alias SharedImagesListResponse + - Added Type Alias SharedImagesUpdateResponse + - Added Type Alias StorageTypes + - Interface ApplicableSchedule has a new optional parameter createdDatePropertiesLabVmsShutdownPropertiesCreatedDate + - Interface ApplicableSchedule has a new optional parameter createdDatePropertiesLabVmsStartupPropertiesCreatedDate + - Interface ApplicableSchedule has a new optional parameter emailRecipientPropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient + - Interface ApplicableSchedule has a new optional parameter emailRecipientPropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient + - Interface ApplicableSchedule has a new optional parameter idPropertiesLabVmsShutdownId + - Interface ApplicableSchedule has a new optional parameter idPropertiesLabVmsStartupId + - Interface ApplicableSchedule has a new optional parameter locationPropertiesLabVmsShutdownLocation + - Interface ApplicableSchedule has a new optional parameter locationPropertiesLabVmsStartupLocation + - Interface ApplicableSchedule has a new optional parameter minutePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute + - Interface ApplicableSchedule has a new optional parameter minutePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute + - Interface ApplicableSchedule has a new optional parameter namePropertiesLabVmsShutdownName + - Interface ApplicableSchedule has a new optional parameter namePropertiesLabVmsStartupName + - Interface ApplicableSchedule has a new optional parameter notificationLocalePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale + - Interface ApplicableSchedule has a new optional parameter notificationLocalePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale + - Interface ApplicableSchedule has a new optional parameter provisioningStatePropertiesLabVmsShutdownPropertiesProvisioningState + - Interface ApplicableSchedule has a new optional parameter provisioningStatePropertiesLabVmsStartupPropertiesProvisioningState + - Interface ApplicableSchedule has a new optional parameter statusPropertiesLabVmsShutdownPropertiesNotificationSettingsStatus + - Interface ApplicableSchedule has a new optional parameter statusPropertiesLabVmsShutdownPropertiesStatus + - Interface ApplicableSchedule has a new optional parameter statusPropertiesLabVmsStartupPropertiesNotificationSettingsStatus + - Interface ApplicableSchedule has a new optional parameter statusPropertiesLabVmsStartupPropertiesStatus + - Interface ApplicableSchedule has a new optional parameter systemData + - Interface ApplicableSchedule has a new optional parameter systemDataPropertiesLabVmsShutdownSystemData + - Interface ApplicableSchedule has a new optional parameter systemDataPropertiesLabVmsStartupSystemData + - Interface ApplicableSchedule has a new optional parameter tagsPropertiesLabVmsShutdownTags + - Interface ApplicableSchedule has a new optional parameter tagsPropertiesLabVmsStartupTags + - Interface ApplicableSchedule has a new optional parameter targetResourceIdPropertiesLabVmsShutdownPropertiesTargetResourceId + - Interface ApplicableSchedule has a new optional parameter targetResourceIdPropertiesLabVmsStartupPropertiesTargetResourceId + - Interface ApplicableSchedule has a new optional parameter taskTypePropertiesLabVmsShutdownPropertiesTaskType + - Interface ApplicableSchedule has a new optional parameter taskTypePropertiesLabVmsStartupPropertiesTaskType + - Interface ApplicableSchedule has a new optional parameter timeInMinutesPropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes + - Interface ApplicableSchedule has a new optional parameter timeInMinutesPropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes + - Interface ApplicableSchedule has a new optional parameter timePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime + - Interface ApplicableSchedule has a new optional parameter timePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime + - Interface ApplicableSchedule has a new optional parameter timePropertiesLabVmsStartupPropertiesDailyRecurrenceTime + - Interface ApplicableSchedule has a new optional parameter timePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime + - Interface ApplicableSchedule has a new optional parameter timeZoneIdPropertiesLabVmsShutdownPropertiesTimeZoneId + - Interface ApplicableSchedule has a new optional parameter timeZoneIdPropertiesLabVmsStartupPropertiesTimeZoneId + - Interface ApplicableSchedule has a new optional parameter typePropertiesLabVmsShutdownType + - Interface ApplicableSchedule has a new optional parameter typePropertiesLabVmsStartupType + - Interface ApplicableSchedule has a new optional parameter uniqueIdentifierPropertiesLabVmsShutdownPropertiesUniqueIdentifier + - Interface ApplicableSchedule has a new optional parameter uniqueIdentifierPropertiesLabVmsStartupPropertiesUniqueIdentifier + - Interface ApplicableSchedule has a new optional parameter webhookUrlPropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl + - Interface ApplicableSchedule has a new optional parameter webhookUrlPropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl + - Interface ApplicableSchedule has a new optional parameter weekdaysPropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays + - Interface ApplicableSchedule has a new optional parameter weekdaysPropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays + - Interface ArmTemplate has a new optional parameter systemData + - Interface Artifact has a new optional parameter systemData + - Interface ArtifactSource has a new optional parameter systemData + - Interface CustomImage has a new optional parameter idPropertiesCustomImagePlanId + - Interface CustomImage has a new optional parameter imageName + - Interface CustomImage has a new optional parameter linuxOsState + - Interface CustomImage has a new optional parameter offer + - Interface CustomImage has a new optional parameter osType + - Interface CustomImage has a new optional parameter publisher + - Interface CustomImage has a new optional parameter sourceVmId + - Interface CustomImage has a new optional parameter sysPrep + - Interface CustomImage has a new optional parameter systemData + - Interface CustomImage has a new optional parameter windowsOsState + - Interface DataDiskProperties has a new optional parameter diskName + - Interface DataDiskProperties has a new optional parameter diskSizeGiB + - Interface DataDiskProperties has a new optional parameter diskType + - Interface Disk has a new optional parameter systemData + - Interface DtlEnvironment has a new optional parameter armTemplateId + - Interface DtlEnvironment has a new optional parameter parameters + - Interface DtlEnvironment has a new optional parameter systemData + - Interface Formula has a new optional parameter allowClaim + - Interface Formula has a new optional parameter artifacts + - Interface Formula has a new optional parameter artifactsApplied + - Interface Formula has a new optional parameter canApplyArtifacts + - Interface Formula has a new optional parameter computeId + - Interface Formula has a new optional parameter createdByUser + - Interface Formula has a new optional parameter createdByUserId + - Interface Formula has a new optional parameter createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate + - Interface Formula has a new optional parameter createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate + - Interface Formula has a new optional parameter createdDatePropertiesFormulaContentPropertiesCreatedDate + - Interface Formula has a new optional parameter customImageId + - Interface Formula has a new optional parameter dataDiskIds + - Interface Formula has a new optional parameter dataDiskParameters + - Interface Formula has a new optional parameter dataDisks + - Interface Formula has a new optional parameter deploymentStatus + - Interface Formula has a new optional parameter disallowPublicIpAddress + - Interface Formula has a new optional parameter dnsName + - Interface Formula has a new optional parameter emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient + - Interface Formula has a new optional parameter emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient + - Interface Formula has a new optional parameter environmentId + - Interface Formula has a new optional parameter expirationDate + - Interface Formula has a new optional parameter fqdn + - Interface Formula has a new optional parameter galleryImageVersionId + - Interface Formula has a new optional parameter idPropertiesFormulaContentPropertiesApplicableScheduleId + - Interface Formula has a new optional parameter idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownId + - Interface Formula has a new optional parameter idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupId + - Interface Formula has a new optional parameter inboundNatRules + - Interface Formula has a new optional parameter instanceCount + - Interface Formula has a new optional parameter isAuthenticationWithSshKey + - Interface Formula has a new optional parameter labSubnetName + - Interface Formula has a new optional parameter labVirtualNetworkId + - Interface Formula has a new optional parameter labVmId + - Interface Formula has a new optional parameter lastKnownPowerState + - Interface Formula has a new optional parameter locationPropertiesFormulaContentLocation + - Interface Formula has a new optional parameter locationPropertiesFormulaContentPropertiesApplicableScheduleLocation + - Interface Formula has a new optional parameter locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation + - Interface Formula has a new optional parameter locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupLocation + - Interface Formula has a new optional parameter minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute + - Interface Formula has a new optional parameter minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute + - Interface Formula has a new optional parameter namePropertiesFormulaContentName + - Interface Formula has a new optional parameter namePropertiesFormulaContentPropertiesApplicableScheduleName + - Interface Formula has a new optional parameter namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownName + - Interface Formula has a new optional parameter namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupName + - Interface Formula has a new optional parameter networkInterfaceId + - Interface Formula has a new optional parameter notes + - Interface Formula has a new optional parameter notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale + - Interface Formula has a new optional parameter notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale + - Interface Formula has a new optional parameter offer + - Interface Formula has a new optional parameter osDiskId + - Interface Formula has a new optional parameter osDiskSizeGb + - Interface Formula has a new optional parameter osTypePropertiesFormulaContentPropertiesComputeVmOsType + - Interface Formula has a new optional parameter osTypePropertiesFormulaContentPropertiesGalleryImageReferenceOsType + - Interface Formula has a new optional parameter osTypePropertiesFormulaContentPropertiesOsType + - Interface Formula has a new optional parameter osTypePropertiesOsType + - Interface Formula has a new optional parameter ownerObjectId + - Interface Formula has a new optional parameter ownerUserPrincipalName + - Interface Formula has a new optional parameter password + - Interface Formula has a new optional parameter planId + - Interface Formula has a new optional parameter privateIpAddress + - Interface Formula has a new optional parameter provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState + - Interface Formula has a new optional parameter provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState + - Interface Formula has a new optional parameter provisioningStatePropertiesFormulaContentPropertiesProvisioningState + - Interface Formula has a new optional parameter provisioningStatePropertiesProvisioningState + - Interface Formula has a new optional parameter publicIpAddress + - Interface Formula has a new optional parameter publicIpAddressId + - Interface Formula has a new optional parameter publisher + - Interface Formula has a new optional parameter rdpAuthority + - Interface Formula has a new optional parameter scheduleParameters + - Interface Formula has a new optional parameter securityProfile + - Interface Formula has a new optional parameter sharedImageId + - Interface Formula has a new optional parameter sharedImageVersion + - Interface Formula has a new optional parameter size + - Interface Formula has a new optional parameter sku + - Interface Formula has a new optional parameter sshAuthority + - Interface Formula has a new optional parameter sshKey + - Interface Formula has a new optional parameter statuses + - Interface Formula has a new optional parameter statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus + - Interface Formula has a new optional parameter statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus + - Interface Formula has a new optional parameter statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus + - Interface Formula has a new optional parameter statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus + - Interface Formula has a new optional parameter storageType + - Interface Formula has a new optional parameter subnetId + - Interface Formula has a new optional parameter systemData + - Interface Formula has a new optional parameter systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData + - Interface Formula has a new optional parameter systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData + - Interface Formula has a new optional parameter systemDataPropertiesFormulaContentPropertiesApplicableScheduleSystemData + - Interface Formula has a new optional parameter tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownTags + - Interface Formula has a new optional parameter tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupTags + - Interface Formula has a new optional parameter tagsPropertiesFormulaContentPropertiesApplicableScheduleTags + - Interface Formula has a new optional parameter tagsPropertiesFormulaContentTags + - Interface Formula has a new optional parameter targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId + - Interface Formula has a new optional parameter targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId + - Interface Formula has a new optional parameter taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType + - Interface Formula has a new optional parameter taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType + - Interface Formula has a new optional parameter timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes + - Interface Formula has a new optional parameter timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes + - Interface Formula has a new optional parameter timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime + - Interface Formula has a new optional parameter timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime + - Interface Formula has a new optional parameter timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime + - Interface Formula has a new optional parameter timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime + - Interface Formula has a new optional parameter timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId + - Interface Formula has a new optional parameter timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId + - Interface Formula has a new optional parameter totalArtifacts + - Interface Formula has a new optional parameter typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownType + - Interface Formula has a new optional parameter typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupType + - Interface Formula has a new optional parameter typePropertiesFormulaContentPropertiesApplicableScheduleType + - Interface Formula has a new optional parameter uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier + - Interface Formula has a new optional parameter uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier + - Interface Formula has a new optional parameter uniqueIdentifierPropertiesFormulaContentPropertiesUniqueIdentifier + - Interface Formula has a new optional parameter uniqueIdentifierPropertiesUniqueIdentifier + - Interface Formula has a new optional parameter userName + - Interface Formula has a new optional parameter version + - Interface Formula has a new optional parameter virtualMachineCreationSource + - Interface Formula has a new optional parameter virtualNetworkId + - Interface Formula has a new optional parameter vmSize + - Interface Formula has a new optional parameter webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl + - Interface Formula has a new optional parameter webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl + - Interface Formula has a new optional parameter weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays + - Interface Formula has a new optional parameter weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays + - Interface GalleryImage has a new optional parameter offer + - Interface GalleryImage has a new optional parameter osType + - Interface GalleryImage has a new optional parameter publisher + - Interface GalleryImage has a new optional parameter sku + - Interface GalleryImage has a new optional parameter systemData + - Interface GalleryImage has a new optional parameter version + - Interface IdentityProperties has a new optional parameter userAssignedIdentities + - Interface Lab has a new optional parameter browserConnect + - Interface Lab has a new optional parameter clientSecretUrl + - Interface Lab has a new optional parameter defaultSecretName + - Interface Lab has a new optional parameter disableAutoUpgradeCseMinorVersion + - Interface Lab has a new optional parameter diskEncryptionSetId + - Interface Lab has a new optional parameter enabledPropertiesAnnouncementEnabled + - Interface Lab has a new optional parameter enabledPropertiesSupportEnabled + - Interface Lab has a new optional parameter expirationDate + - Interface Lab has a new optional parameter expired + - Interface Lab has a new optional parameter isolateLabResources + - Interface Lab has a new optional parameter managementIdentities + - Interface Lab has a new optional parameter markdownPropertiesAnnouncementMarkdown + - Interface Lab has a new optional parameter markdownPropertiesSupportMarkdown + - Interface Lab has a new optional parameter principalId + - Interface Lab has a new optional parameter provisioningStatePropertiesAnnouncementProvisioningState + - Interface Lab has a new optional parameter provisioningStatePropertiesProvisioningState + - Interface Lab has a new optional parameter systemData + - Interface Lab has a new optional parameter tenantId + - Interface Lab has a new optional parameter title + - Interface Lab has a new optional parameter typeIdentityType + - Interface Lab has a new optional parameter typePropertiesEncryptionType + - Interface Lab has a new optional parameter uniqueIdentifierPropertiesAnnouncementUniqueIdentifier + - Interface Lab has a new optional parameter uniqueIdentifierPropertiesUniqueIdentifier + - Interface Lab has a new optional parameter userAssignedIdentities + - Interface LabVirtualMachine has a new optional parameter artifactsApplied + - Interface LabVirtualMachine has a new optional parameter canApplyArtifacts + - Interface LabVirtualMachine has a new optional parameter createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate + - Interface LabVirtualMachine has a new optional parameter createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate + - Interface LabVirtualMachine has a new optional parameter createdDatePropertiesCreatedDate + - Interface LabVirtualMachine has a new optional parameter dataDiskIds + - Interface LabVirtualMachine has a new optional parameter dataDisks + - Interface LabVirtualMachine has a new optional parameter deploymentStatus + - Interface LabVirtualMachine has a new optional parameter dnsName + - Interface LabVirtualMachine has a new optional parameter emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient + - Interface LabVirtualMachine has a new optional parameter emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient + - Interface LabVirtualMachine has a new optional parameter galleryImageVersionId + - Interface LabVirtualMachine has a new optional parameter idPropertiesApplicableScheduleId + - Interface LabVirtualMachine has a new optional parameter idPropertiesApplicableSchedulePropertiesLabVmsShutdownId + - Interface LabVirtualMachine has a new optional parameter idPropertiesApplicableSchedulePropertiesLabVmsStartupId + - Interface LabVirtualMachine has a new optional parameter inboundNatRules + - Interface LabVirtualMachine has a new optional parameter locationPropertiesApplicableScheduleLocation + - Interface LabVirtualMachine has a new optional parameter locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation + - Interface LabVirtualMachine has a new optional parameter locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation + - Interface LabVirtualMachine has a new optional parameter minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute + - Interface LabVirtualMachine has a new optional parameter minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute + - Interface LabVirtualMachine has a new optional parameter namePropertiesApplicableScheduleName + - Interface LabVirtualMachine has a new optional parameter namePropertiesApplicableSchedulePropertiesLabVmsShutdownName + - Interface LabVirtualMachine has a new optional parameter namePropertiesApplicableSchedulePropertiesLabVmsStartupName + - Interface LabVirtualMachine has a new optional parameter networkInterfaceId + - Interface LabVirtualMachine has a new optional parameter notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale + - Interface LabVirtualMachine has a new optional parameter notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale + - Interface LabVirtualMachine has a new optional parameter offer + - Interface LabVirtualMachine has a new optional parameter osDiskId + - Interface LabVirtualMachine has a new optional parameter osDiskSizeGb + - Interface LabVirtualMachine has a new optional parameter osTypePropertiesComputeVmOsType + - Interface LabVirtualMachine has a new optional parameter osTypePropertiesGalleryImageReferenceOsType + - Interface LabVirtualMachine has a new optional parameter osTypePropertiesOsType + - Interface LabVirtualMachine has a new optional parameter privateIpAddress + - Interface LabVirtualMachine has a new optional parameter provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState + - Interface LabVirtualMachine has a new optional parameter provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState + - Interface LabVirtualMachine has a new optional parameter provisioningStatePropertiesProvisioningState + - Interface LabVirtualMachine has a new optional parameter publicIpAddress + - Interface LabVirtualMachine has a new optional parameter publicIpAddressId + - Interface LabVirtualMachine has a new optional parameter publisher + - Interface LabVirtualMachine has a new optional parameter rdpAuthority + - Interface LabVirtualMachine has a new optional parameter securityProfile + - Interface LabVirtualMachine has a new optional parameter sharedImageId + - Interface LabVirtualMachine has a new optional parameter sharedImageVersion + - Interface LabVirtualMachine has a new optional parameter sku + - Interface LabVirtualMachine has a new optional parameter sshAuthority + - Interface LabVirtualMachine has a new optional parameter statuses + - Interface LabVirtualMachine has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus + - Interface LabVirtualMachine has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus + - Interface LabVirtualMachine has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus + - Interface LabVirtualMachine has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus + - Interface LabVirtualMachine has a new optional parameter subnetId + - Interface LabVirtualMachine has a new optional parameter systemData + - Interface LabVirtualMachine has a new optional parameter systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData + - Interface LabVirtualMachine has a new optional parameter systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData + - Interface LabVirtualMachine has a new optional parameter systemDataPropertiesApplicableScheduleSystemData + - Interface LabVirtualMachine has a new optional parameter tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags + - Interface LabVirtualMachine has a new optional parameter tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags + - Interface LabVirtualMachine has a new optional parameter tagsPropertiesApplicableScheduleTags + - Interface LabVirtualMachine has a new optional parameter targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId + - Interface LabVirtualMachine has a new optional parameter targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId + - Interface LabVirtualMachine has a new optional parameter taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType + - Interface LabVirtualMachine has a new optional parameter taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType + - Interface LabVirtualMachine has a new optional parameter timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes + - Interface LabVirtualMachine has a new optional parameter timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes + - Interface LabVirtualMachine has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime + - Interface LabVirtualMachine has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime + - Interface LabVirtualMachine has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime + - Interface LabVirtualMachine has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime + - Interface LabVirtualMachine has a new optional parameter timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId + - Interface LabVirtualMachine has a new optional parameter timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId + - Interface LabVirtualMachine has a new optional parameter totalArtifacts + - Interface LabVirtualMachine has a new optional parameter typePropertiesApplicableSchedulePropertiesLabVmsShutdownType + - Interface LabVirtualMachine has a new optional parameter typePropertiesApplicableSchedulePropertiesLabVmsStartupType + - Interface LabVirtualMachine has a new optional parameter typePropertiesApplicableScheduleType + - Interface LabVirtualMachine has a new optional parameter uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier + - Interface LabVirtualMachine has a new optional parameter uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier + - Interface LabVirtualMachine has a new optional parameter uniqueIdentifierPropertiesUniqueIdentifier + - Interface LabVirtualMachine has a new optional parameter version + - Interface LabVirtualMachine has a new optional parameter virtualNetworkId + - Interface LabVirtualMachine has a new optional parameter vmSize + - Interface LabVirtualMachine has a new optional parameter webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl + - Interface LabVirtualMachine has a new optional parameter webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl + - Interface LabVirtualMachine has a new optional parameter weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays + - Interface LabVirtualMachine has a new optional parameter weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays + - Interface LabVirtualMachineCreationParameter has a new optional parameter artifactsApplied + - Interface LabVirtualMachineCreationParameter has a new optional parameter canApplyArtifacts + - Interface LabVirtualMachineCreationParameter has a new optional parameter computeId + - Interface LabVirtualMachineCreationParameter has a new optional parameter createdByUser + - Interface LabVirtualMachineCreationParameter has a new optional parameter createdByUserId + - Interface LabVirtualMachineCreationParameter has a new optional parameter createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate + - Interface LabVirtualMachineCreationParameter has a new optional parameter createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate + - Interface LabVirtualMachineCreationParameter has a new optional parameter createdDatePropertiesCreatedDate + - Interface LabVirtualMachineCreationParameter has a new optional parameter dataDiskIds + - Interface LabVirtualMachineCreationParameter has a new optional parameter dataDisks + - Interface LabVirtualMachineCreationParameter has a new optional parameter deploymentStatus + - Interface LabVirtualMachineCreationParameter has a new optional parameter dnsName + - Interface LabVirtualMachineCreationParameter has a new optional parameter emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient + - Interface LabVirtualMachineCreationParameter has a new optional parameter emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient + - Interface LabVirtualMachineCreationParameter has a new optional parameter fqdn + - Interface LabVirtualMachineCreationParameter has a new optional parameter galleryImageVersionId + - Interface LabVirtualMachineCreationParameter has a new optional parameter idPropertiesApplicableScheduleId + - Interface LabVirtualMachineCreationParameter has a new optional parameter idPropertiesApplicableSchedulePropertiesLabVmsShutdownId + - Interface LabVirtualMachineCreationParameter has a new optional parameter idPropertiesApplicableSchedulePropertiesLabVmsStartupId + - Interface LabVirtualMachineCreationParameter has a new optional parameter inboundNatRules + - Interface LabVirtualMachineCreationParameter has a new optional parameter instanceCount + - Interface LabVirtualMachineCreationParameter has a new optional parameter lastKnownPowerState + - Interface LabVirtualMachineCreationParameter has a new optional parameter locationPropertiesApplicableScheduleLocation + - Interface LabVirtualMachineCreationParameter has a new optional parameter locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation + - Interface LabVirtualMachineCreationParameter has a new optional parameter locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation + - Interface LabVirtualMachineCreationParameter has a new optional parameter minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute + - Interface LabVirtualMachineCreationParameter has a new optional parameter minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute + - Interface LabVirtualMachineCreationParameter has a new optional parameter namePropertiesApplicableScheduleName + - Interface LabVirtualMachineCreationParameter has a new optional parameter namePropertiesApplicableSchedulePropertiesLabVmsShutdownName + - Interface LabVirtualMachineCreationParameter has a new optional parameter namePropertiesApplicableSchedulePropertiesLabVmsStartupName + - Interface LabVirtualMachineCreationParameter has a new optional parameter networkInterfaceId + - Interface LabVirtualMachineCreationParameter has a new optional parameter notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale + - Interface LabVirtualMachineCreationParameter has a new optional parameter notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale + - Interface LabVirtualMachineCreationParameter has a new optional parameter offer + - Interface LabVirtualMachineCreationParameter has a new optional parameter osDiskId + - Interface LabVirtualMachineCreationParameter has a new optional parameter osDiskSizeGb + - Interface LabVirtualMachineCreationParameter has a new optional parameter osTypePropertiesComputeVmOsType + - Interface LabVirtualMachineCreationParameter has a new optional parameter osTypePropertiesGalleryImageReferenceOsType + - Interface LabVirtualMachineCreationParameter has a new optional parameter osTypePropertiesOsType + - Interface LabVirtualMachineCreationParameter has a new optional parameter privateIpAddress + - Interface LabVirtualMachineCreationParameter has a new optional parameter provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState + - Interface LabVirtualMachineCreationParameter has a new optional parameter provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState + - Interface LabVirtualMachineCreationParameter has a new optional parameter provisioningStatePropertiesProvisioningState + - Interface LabVirtualMachineCreationParameter has a new optional parameter publicIpAddress + - Interface LabVirtualMachineCreationParameter has a new optional parameter publicIpAddressId + - Interface LabVirtualMachineCreationParameter has a new optional parameter publisher + - Interface LabVirtualMachineCreationParameter has a new optional parameter rdpAuthority + - Interface LabVirtualMachineCreationParameter has a new optional parameter securityProfile + - Interface LabVirtualMachineCreationParameter has a new optional parameter sharedImageId + - Interface LabVirtualMachineCreationParameter has a new optional parameter sharedImageVersion + - Interface LabVirtualMachineCreationParameter has a new optional parameter sku + - Interface LabVirtualMachineCreationParameter has a new optional parameter sshAuthority + - Interface LabVirtualMachineCreationParameter has a new optional parameter statuses + - Interface LabVirtualMachineCreationParameter has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus + - Interface LabVirtualMachineCreationParameter has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus + - Interface LabVirtualMachineCreationParameter has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus + - Interface LabVirtualMachineCreationParameter has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus + - Interface LabVirtualMachineCreationParameter has a new optional parameter subnetId + - Interface LabVirtualMachineCreationParameter has a new optional parameter systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData + - Interface LabVirtualMachineCreationParameter has a new optional parameter systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData + - Interface LabVirtualMachineCreationParameter has a new optional parameter systemDataPropertiesApplicableScheduleSystemData + - Interface LabVirtualMachineCreationParameter has a new optional parameter tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags + - Interface LabVirtualMachineCreationParameter has a new optional parameter tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags + - Interface LabVirtualMachineCreationParameter has a new optional parameter tagsPropertiesApplicableScheduleTags + - Interface LabVirtualMachineCreationParameter has a new optional parameter targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId + - Interface LabVirtualMachineCreationParameter has a new optional parameter targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId + - Interface LabVirtualMachineCreationParameter has a new optional parameter taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType + - Interface LabVirtualMachineCreationParameter has a new optional parameter taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType + - Interface LabVirtualMachineCreationParameter has a new optional parameter timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes + - Interface LabVirtualMachineCreationParameter has a new optional parameter timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes + - Interface LabVirtualMachineCreationParameter has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime + - Interface LabVirtualMachineCreationParameter has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime + - Interface LabVirtualMachineCreationParameter has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime + - Interface LabVirtualMachineCreationParameter has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime + - Interface LabVirtualMachineCreationParameter has a new optional parameter timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId + - Interface LabVirtualMachineCreationParameter has a new optional parameter timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId + - Interface LabVirtualMachineCreationParameter has a new optional parameter totalArtifacts + - Interface LabVirtualMachineCreationParameter has a new optional parameter typePropertiesApplicableSchedulePropertiesLabVmsShutdownType + - Interface LabVirtualMachineCreationParameter has a new optional parameter typePropertiesApplicableSchedulePropertiesLabVmsStartupType + - Interface LabVirtualMachineCreationParameter has a new optional parameter typePropertiesApplicableScheduleType + - Interface LabVirtualMachineCreationParameter has a new optional parameter uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier + - Interface LabVirtualMachineCreationParameter has a new optional parameter uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier + - Interface LabVirtualMachineCreationParameter has a new optional parameter uniqueIdentifierPropertiesUniqueIdentifier + - Interface LabVirtualMachineCreationParameter has a new optional parameter version + - Interface LabVirtualMachineCreationParameter has a new optional parameter virtualMachineCreationSource + - Interface LabVirtualMachineCreationParameter has a new optional parameter virtualNetworkId + - Interface LabVirtualMachineCreationParameter has a new optional parameter vmSize + - Interface LabVirtualMachineCreationParameter has a new optional parameter webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl + - Interface LabVirtualMachineCreationParameter has a new optional parameter webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl + - Interface LabVirtualMachineCreationParameter has a new optional parameter weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays + - Interface LabVirtualMachineCreationParameter has a new optional parameter weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays + - Interface NotificationChannel has a new optional parameter systemData + - Interface OperationResult has a new optional parameter code + - Interface OperationResult has a new optional parameter message + - Interface Policy has a new optional parameter systemData + - Interface Schedule has a new optional parameter emailRecipient + - Interface Schedule has a new optional parameter minute + - Interface Schedule has a new optional parameter notificationLocale + - Interface Schedule has a new optional parameter statusPropertiesNotificationSettingsStatus + - Interface Schedule has a new optional parameter statusPropertiesStatus + - Interface Schedule has a new optional parameter systemData + - Interface Schedule has a new optional parameter timeInMinutes + - Interface Schedule has a new optional parameter timePropertiesDailyRecurrenceTime + - Interface Schedule has a new optional parameter timePropertiesWeeklyRecurrenceTime + - Interface Schedule has a new optional parameter webhookUrl + - Interface Schedule has a new optional parameter weekdays + - Interface ScheduleCreationParameter has a new optional parameter createdDate + - Interface ScheduleCreationParameter has a new optional parameter emailRecipient + - Interface ScheduleCreationParameter has a new optional parameter minute + - Interface ScheduleCreationParameter has a new optional parameter notificationLocale + - Interface ScheduleCreationParameter has a new optional parameter provisioningState + - Interface ScheduleCreationParameter has a new optional parameter statusPropertiesNotificationSettingsStatus + - Interface ScheduleCreationParameter has a new optional parameter statusPropertiesStatus + - Interface ScheduleCreationParameter has a new optional parameter timeInMinutes + - Interface ScheduleCreationParameter has a new optional parameter timePropertiesDailyRecurrenceTime + - Interface ScheduleCreationParameter has a new optional parameter timePropertiesWeeklyRecurrenceTime + - Interface ScheduleCreationParameter has a new optional parameter uniqueIdentifier + - Interface ScheduleCreationParameter has a new optional parameter webhookUrl + - Interface ScheduleCreationParameter has a new optional parameter weekdays + - Interface Secret has a new optional parameter systemData + - Interface ServiceFabric has a new optional parameter createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate + - Interface ServiceFabric has a new optional parameter createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate + - Interface ServiceFabric has a new optional parameter emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient + - Interface ServiceFabric has a new optional parameter emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient + - Interface ServiceFabric has a new optional parameter idPropertiesApplicableScheduleId + - Interface ServiceFabric has a new optional parameter idPropertiesApplicableSchedulePropertiesLabVmsShutdownId + - Interface ServiceFabric has a new optional parameter idPropertiesApplicableSchedulePropertiesLabVmsStartupId + - Interface ServiceFabric has a new optional parameter locationPropertiesApplicableScheduleLocation + - Interface ServiceFabric has a new optional parameter locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation + - Interface ServiceFabric has a new optional parameter locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation + - Interface ServiceFabric has a new optional parameter minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute + - Interface ServiceFabric has a new optional parameter minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute + - Interface ServiceFabric has a new optional parameter namePropertiesApplicableScheduleName + - Interface ServiceFabric has a new optional parameter namePropertiesApplicableSchedulePropertiesLabVmsShutdownName + - Interface ServiceFabric has a new optional parameter namePropertiesApplicableSchedulePropertiesLabVmsStartupName + - Interface ServiceFabric has a new optional parameter notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale + - Interface ServiceFabric has a new optional parameter notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale + - Interface ServiceFabric has a new optional parameter provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState + - Interface ServiceFabric has a new optional parameter provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState + - Interface ServiceFabric has a new optional parameter provisioningStatePropertiesProvisioningState + - Interface ServiceFabric has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus + - Interface ServiceFabric has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus + - Interface ServiceFabric has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus + - Interface ServiceFabric has a new optional parameter statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus + - Interface ServiceFabric has a new optional parameter systemData + - Interface ServiceFabric has a new optional parameter systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData + - Interface ServiceFabric has a new optional parameter systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData + - Interface ServiceFabric has a new optional parameter systemDataPropertiesApplicableScheduleSystemData + - Interface ServiceFabric has a new optional parameter tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags + - Interface ServiceFabric has a new optional parameter tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags + - Interface ServiceFabric has a new optional parameter tagsPropertiesApplicableScheduleTags + - Interface ServiceFabric has a new optional parameter targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId + - Interface ServiceFabric has a new optional parameter targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId + - Interface ServiceFabric has a new optional parameter taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType + - Interface ServiceFabric has a new optional parameter taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType + - Interface ServiceFabric has a new optional parameter timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes + - Interface ServiceFabric has a new optional parameter timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes + - Interface ServiceFabric has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime + - Interface ServiceFabric has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime + - Interface ServiceFabric has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime + - Interface ServiceFabric has a new optional parameter timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime + - Interface ServiceFabric has a new optional parameter timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId + - Interface ServiceFabric has a new optional parameter timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId + - Interface ServiceFabric has a new optional parameter typePropertiesApplicableSchedulePropertiesLabVmsShutdownType + - Interface ServiceFabric has a new optional parameter typePropertiesApplicableSchedulePropertiesLabVmsStartupType + - Interface ServiceFabric has a new optional parameter typePropertiesApplicableScheduleType + - Interface ServiceFabric has a new optional parameter uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier + - Interface ServiceFabric has a new optional parameter uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier + - Interface ServiceFabric has a new optional parameter uniqueIdentifierPropertiesUniqueIdentifier + - Interface ServiceFabric has a new optional parameter webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl + - Interface ServiceFabric has a new optional parameter webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl + - Interface ServiceFabric has a new optional parameter weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays + - Interface ServiceFabric has a new optional parameter weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays + - Interface ServiceRunner has a new optional parameter identityUsageType + - Interface ServiceRunner has a new optional parameter provisioningState + - Interface ServiceRunner has a new optional parameter systemData + - Interface ServiceRunner has a new optional parameter uniqueIdentifier + - Interface ServiceRunnersDeleteOptionalParams has a new optional parameter resumeFrom + - Interface ServiceRunnersDeleteOptionalParams has a new optional parameter updateIntervalInMs + - Interface SubnetOverride has a new optional parameter allowedPorts + - Interface UpdateResource has a new optional parameter identity + - Interface User has a new optional parameter appId + - Interface User has a new optional parameter keyVaultId + - Interface User has a new optional parameter keyVaultUri + - Interface User has a new optional parameter objectId + - Interface User has a new optional parameter principalId + - Interface User has a new optional parameter principalName + - Interface User has a new optional parameter systemData + - Interface User has a new optional parameter tenantId + - Interface UsersCreateOrUpdateOptionalParams has a new optional parameter user + - Interface VirtualNetwork has a new optional parameter systemData + - Added Enum KnownCreatedByType + - Added Enum KnownEnableState + - Added Enum KnownEncryptionType + - Added Enum KnownImageType + - Added Enum KnownOsType + - Added Enum KnownSecurityTypes + - Added Enum KnownStorageTypes + - Enum KnownHttpStatusCode has a new value AlreadyReported + - Enum KnownHttpStatusCode has a new value EarlyHints + - Enum KnownHttpStatusCode has a new value FailedDependency + - Enum KnownHttpStatusCode has a new value IMUsed + - Enum KnownHttpStatusCode has a new value InsufficientStorage + - Enum KnownHttpStatusCode has a new value Locked + - Enum KnownHttpStatusCode has a new value LoopDetected + - Enum KnownHttpStatusCode has a new value MisdirectedRequest + - Enum KnownHttpStatusCode has a new value MultiStatus + - Enum KnownHttpStatusCode has a new value NetworkAuthenticationRequired + - Enum KnownHttpStatusCode has a new value NotExtended + - Enum KnownHttpStatusCode has a new value PermanentRedirect + - Enum KnownHttpStatusCode has a new value PreconditionRequired + - Enum KnownHttpStatusCode has a new value Processing + - Enum KnownHttpStatusCode has a new value RequestHeaderFieldsTooLarge + - Enum KnownHttpStatusCode has a new value TooManyRequests + - Enum KnownHttpStatusCode has a new value UnavailableForLegalReasons + - Enum KnownHttpStatusCode has a new value UnprocessableEntity + - Enum KnownHttpStatusCode has a new value VariantAlsoNegotiates -### Other Changes +**Breaking Changes** + - Removed operation group Costs + - Removed operation ServiceRunners.delete + - Operation Users.beginCreateOrUpdate has a new signature + - Operation Users.beginCreateOrUpdateAndWait has a new signature + - Class DevTestLabsClient has a new signature + - Interface ApplicableSchedule no longer has parameter labVmsShutdown + - Interface ApplicableSchedule no longer has parameter labVmsStartup + - Interface ArmTemplatesListNextOptionalParams no longer has parameter expand + - Interface ArmTemplatesListNextOptionalParams no longer has parameter filter + - Interface ArmTemplatesListNextOptionalParams no longer has parameter orderby + - Interface ArmTemplatesListNextOptionalParams no longer has parameter top + - Interface ArtifactsListNextOptionalParams no longer has parameter expand + - Interface ArtifactsListNextOptionalParams no longer has parameter filter + - Interface ArtifactsListNextOptionalParams no longer has parameter orderby + - Interface ArtifactsListNextOptionalParams no longer has parameter top + - Interface ArtifactSourcesListNextOptionalParams no longer has parameter expand + - Interface ArtifactSourcesListNextOptionalParams no longer has parameter filter + - Interface ArtifactSourcesListNextOptionalParams no longer has parameter orderby + - Interface ArtifactSourcesListNextOptionalParams no longer has parameter top + - Interface CustomImage no longer has parameter customImagePlan + - Interface CustomImage no longer has parameter vhd + - Interface CustomImage no longer has parameter vm + - Interface CustomImagesListNextOptionalParams no longer has parameter expand + - Interface CustomImagesListNextOptionalParams no longer has parameter filter + - Interface CustomImagesListNextOptionalParams no longer has parameter orderby + - Interface CustomImagesListNextOptionalParams no longer has parameter top + - Interface DataDiskProperties no longer has parameter attachNewDataDiskOptions + - Interface DisksListNextOptionalParams no longer has parameter expand + - Interface DisksListNextOptionalParams no longer has parameter filter + - Interface DisksListNextOptionalParams no longer has parameter orderby + - Interface DisksListNextOptionalParams no longer has parameter top + - Interface DtlEnvironment no longer has parameter deploymentProperties + - Interface EnvironmentsListNextOptionalParams no longer has parameter expand + - Interface EnvironmentsListNextOptionalParams no longer has parameter filter + - Interface EnvironmentsListNextOptionalParams no longer has parameter orderby + - Interface EnvironmentsListNextOptionalParams no longer has parameter top + - Interface Formula no longer has parameter formulaContent + - Interface Formula no longer has parameter osType + - Interface Formula no longer has parameter provisioningState + - Interface Formula no longer has parameter uniqueIdentifier + - Interface Formula no longer has parameter vm + - Interface FormulasListNextOptionalParams no longer has parameter expand + - Interface FormulasListNextOptionalParams no longer has parameter filter + - Interface FormulasListNextOptionalParams no longer has parameter orderby + - Interface FormulasListNextOptionalParams no longer has parameter top + - Interface GalleryImage no longer has parameter imageReference + - Interface GalleryImagesListNextOptionalParams no longer has parameter expand + - Interface GalleryImagesListNextOptionalParams no longer has parameter filter + - Interface GalleryImagesListNextOptionalParams no longer has parameter orderby + - Interface GalleryImagesListNextOptionalParams no longer has parameter top + - Interface GlobalSchedulesListByResourceGroupNextOptionalParams no longer has parameter expand + - Interface GlobalSchedulesListByResourceGroupNextOptionalParams no longer has parameter filter + - Interface GlobalSchedulesListByResourceGroupNextOptionalParams no longer has parameter orderby + - Interface GlobalSchedulesListByResourceGroupNextOptionalParams no longer has parameter top + - Interface GlobalSchedulesListBySubscriptionNextOptionalParams no longer has parameter expand + - Interface GlobalSchedulesListBySubscriptionNextOptionalParams no longer has parameter filter + - Interface GlobalSchedulesListBySubscriptionNextOptionalParams no longer has parameter orderby + - Interface GlobalSchedulesListBySubscriptionNextOptionalParams no longer has parameter top + - Interface Lab no longer has parameter announcement + - Interface Lab no longer has parameter provisioningState + - Interface Lab no longer has parameter support + - Interface Lab no longer has parameter uniqueIdentifier + - Interface LabsListByResourceGroupNextOptionalParams no longer has parameter expand + - Interface LabsListByResourceGroupNextOptionalParams no longer has parameter filter + - Interface LabsListByResourceGroupNextOptionalParams no longer has parameter orderby + - Interface LabsListByResourceGroupNextOptionalParams no longer has parameter top + - Interface LabsListBySubscriptionNextOptionalParams no longer has parameter expand + - Interface LabsListBySubscriptionNextOptionalParams no longer has parameter filter + - Interface LabsListBySubscriptionNextOptionalParams no longer has parameter orderby + - Interface LabsListBySubscriptionNextOptionalParams no longer has parameter top + - Interface LabVirtualMachine no longer has parameter applicableSchedule + - Interface LabVirtualMachine no longer has parameter artifactDeploymentStatus + - Interface LabVirtualMachine no longer has parameter computeVm + - Interface LabVirtualMachine no longer has parameter createdDate + - Interface LabVirtualMachine no longer has parameter galleryImageReference + - Interface LabVirtualMachine no longer has parameter networkInterface + - Interface LabVirtualMachine no longer has parameter osType + - Interface LabVirtualMachine no longer has parameter provisioningState + - Interface LabVirtualMachine no longer has parameter uniqueIdentifier + - Interface LabVirtualMachineCreationParameter no longer has parameter bulkCreationParameters + - Interface LabVirtualMachineCreationParameter no longer has parameter createdDate + - Interface LabVirtualMachineCreationParameter no longer has parameter galleryImageReference + - Interface LabVirtualMachineCreationParameter no longer has parameter networkInterface + - Interface NotificationChannelsListNextOptionalParams no longer has parameter expand + - Interface NotificationChannelsListNextOptionalParams no longer has parameter filter + - Interface NotificationChannelsListNextOptionalParams no longer has parameter orderby + - Interface NotificationChannelsListNextOptionalParams no longer has parameter top + - Interface OperationResult no longer has parameter error + - Interface PoliciesListNextOptionalParams no longer has parameter expand + - Interface PoliciesListNextOptionalParams no longer has parameter filter + - Interface PoliciesListNextOptionalParams no longer has parameter orderby + - Interface PoliciesListNextOptionalParams no longer has parameter top + - Interface Schedule no longer has parameter dailyRecurrence + - Interface Schedule no longer has parameter hourlyRecurrence + - Interface Schedule no longer has parameter notificationSettings + - Interface Schedule no longer has parameter status + - Interface Schedule no longer has parameter weeklyRecurrence + - Interface ScheduleCreationParameter no longer has parameter dailyRecurrence + - Interface ScheduleCreationParameter no longer has parameter hourlyRecurrence + - Interface ScheduleCreationParameter no longer has parameter notificationSettings + - Interface ScheduleCreationParameter no longer has parameter status + - Interface ScheduleCreationParameter no longer has parameter weeklyRecurrence + - Interface SchedulesListNextOptionalParams no longer has parameter expand + - Interface SchedulesListNextOptionalParams no longer has parameter filter + - Interface SchedulesListNextOptionalParams no longer has parameter orderby + - Interface SchedulesListNextOptionalParams no longer has parameter top + - Interface SecretsListNextOptionalParams no longer has parameter expand + - Interface SecretsListNextOptionalParams no longer has parameter filter + - Interface SecretsListNextOptionalParams no longer has parameter orderby + - Interface SecretsListNextOptionalParams no longer has parameter top + - Interface ServiceFabric no longer has parameter applicableSchedule + - Interface ServiceFabric no longer has parameter provisioningState + - Interface ServiceFabric no longer has parameter uniqueIdentifier + - Interface ServiceFabricSchedulesListNextOptionalParams no longer has parameter expand + - Interface ServiceFabricSchedulesListNextOptionalParams no longer has parameter filter + - Interface ServiceFabricSchedulesListNextOptionalParams no longer has parameter orderby + - Interface ServiceFabricSchedulesListNextOptionalParams no longer has parameter top + - Interface ServiceFabricsListNextOptionalParams no longer has parameter expand + - Interface ServiceFabricsListNextOptionalParams no longer has parameter filter + - Interface ServiceFabricsListNextOptionalParams no longer has parameter orderby + - Interface ServiceFabricsListNextOptionalParams no longer has parameter top + - Interface SubnetOverride no longer has parameter sharedPublicIpAddressConfiguration + - Interface User no longer has parameter identity + - Interface User no longer has parameter secretStore + - Interface UsersListNextOptionalParams no longer has parameter expand + - Interface UsersListNextOptionalParams no longer has parameter filter + - Interface UsersListNextOptionalParams no longer has parameter orderby + - Interface UsersListNextOptionalParams no longer has parameter top + - Interface VirtualMachineSchedulesListNextOptionalParams no longer has parameter expand + - Interface VirtualMachineSchedulesListNextOptionalParams no longer has parameter filter + - Interface VirtualMachineSchedulesListNextOptionalParams no longer has parameter orderby + - Interface VirtualMachineSchedulesListNextOptionalParams no longer has parameter top + - Interface VirtualMachinesListNextOptionalParams no longer has parameter expand + - Interface VirtualMachinesListNextOptionalParams no longer has parameter filter + - Interface VirtualMachinesListNextOptionalParams no longer has parameter orderby + - Interface VirtualMachinesListNextOptionalParams no longer has parameter top + - Interface VirtualNetworksListNextOptionalParams no longer has parameter expand + - Interface VirtualNetworksListNextOptionalParams no longer has parameter filter + - Interface VirtualNetworksListNextOptionalParams no longer has parameter orderby + - Interface VirtualNetworksListNextOptionalParams no longer has parameter top + - Parameter location of interface Resource is now required + - Type of parameter storageType of interface LabVirtualMachine is changed from string to StorageTypes + - Type of parameter storageType of interface LabVirtualMachineCreationParameter is changed from string to StorageType + - Class DevTestLabsClient no longer has parameter costs + - Removed Enum KnownCostThresholdStatus + - Removed Enum KnownCostType + - Removed Enum KnownReportingCycleType + - Removed Enum KnownTargetCostStatus + - Enum KnownNotificationChannelEventType no longer has value Cost + - Enum KnownPolicyFactName no longer has value LabTargetCost + + ## 4.1.0 (2022-11-22) **Features** @@ -64,4 +861,4 @@ To understand the detail of the change, please refer to [Changelog](https://aka. To migrate the existing applications to the latest version, please refer to [Migration Guide](https://aka.ms/js-track2-migration-guide). -To learn more, please refer to our documentation [Quick Start](https://aka.ms/azsdk/js/mgmt/quickstart ). +To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart). diff --git a/sdk/devtestlabs/arm-devtestlabs/LICENSE b/sdk/devtestlabs/arm-devtestlabs/LICENSE index 5d1d36e0af80..3a1d9b6f24f7 100644 --- a/sdk/devtestlabs/arm-devtestlabs/LICENSE +++ b/sdk/devtestlabs/arm-devtestlabs/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2022 Microsoft +Copyright (c) 2023 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/devtestlabs/arm-devtestlabs/_meta.json b/sdk/devtestlabs/arm-devtestlabs/_meta.json index 928f6e6ae69a..82d94026597a 100644 --- a/sdk/devtestlabs/arm-devtestlabs/_meta.json +++ b/sdk/devtestlabs/arm-devtestlabs/_meta.json @@ -1,8 +1,8 @@ { - "commit": "0cd7b3e83d5e7e21222dcc4bdde4565562da0cdf", - "readme": "specification\\devtestlabs\\resource-manager\\readme.md", - "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=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\devtestlabs\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.3.20221108.1 --generate-sample=true", + "commit": "d8852f7ddd54174cb6de4fb936874e65b7035d3d", + "readme": "specification/devtestlabs/resource-manager/readme.md", + "autorest_command": "autorest --version=3.9.7 --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/devtestlabs/resource-manager/readme.md --use=@autorest/typescript@^6.0.4", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.4.2", - "use": "@autorest/typescript@6.0.0-rc.3.20221108.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.2", + "use": "@autorest/typescript@^6.0.4" } \ No newline at end of file diff --git a/sdk/devtestlabs/arm-devtestlabs/package.json b/sdk/devtestlabs/arm-devtestlabs/package.json index 0dc58984cd69..7ed89cfb69a2 100644 --- a/sdk/devtestlabs/arm-devtestlabs/package.json +++ b/sdk/devtestlabs/arm-devtestlabs/package.json @@ -3,17 +3,17 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for DevTestLabsClient.", - "version": "4.1.1", + "version": "5.0.0", "engines": { "node": ">=14.0.0" }, "dependencies": { - "@azure/core-lro": "^2.2.0", + "@azure/core-lro": "^2.5.4", "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", - "@azure/core-client": "^1.6.1", + "@azure/core-client": "^1.7.0", "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.8.0", + "@azure/core-rest-pipeline": "^1.12.0", "tslib": "^2.2.0" }, "keywords": [ @@ -33,24 +33,24 @@ "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-multi-entry": "^6.0.0", "@rollup/plugin-node-resolve": "^13.1.3", - "mkdirp": "^1.0.4", + "mkdirp": "^2.1.2", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", "typescript": "~5.0.0", "uglify-js": "^3.4.9", - "rimraf": "^3.0.0", - "@azure/identity": "^3.3.0", + "rimraf": "^5.0.0", + "dotenv": "^16.0.0", + "@azure/identity": "^2.0.1", "@azure-tools/test-recorder": "^3.0.0", "@azure-tools/test-credential": "^1.0.0", - "mocha": "^10.0.0", + "mocha": "^7.1.1", "@types/chai": "^4.2.8", "chai": "^4.2.0", "cross-env": "^7.0.2", "@types/node": "^14.0.0", - "@azure/dev-tool": "^1.0.0", - "ts-node": "^10.0.0" + "ts-node": "^10.0.0", + "@azure/dev-tool": "^1.0.0" }, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/devtestlabs/arm-devtestlabs", "repository": { "type": "git", "url": "https://github.com/Azure/azure-sdk-for-js.git" @@ -84,7 +84,7 @@ "extract-api": "api-extractor run --local", "lint": "echo skipped", "audit": "echo skipped", - "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", + "clean": "rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log", "build:node": "echo skipped", "build:browser": "echo skipped", "build:test": "echo skipped", @@ -112,12 +112,5 @@ ] }, "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-devtestlabs?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/devtestlabs/arm-devtestlabs" +} \ No newline at end of file diff --git a/sdk/devtestlabs/arm-devtestlabs/review/arm-devtestlabs.api.md b/sdk/devtestlabs/arm-devtestlabs/review/arm-devtestlabs.api.md index 47264d4e3f6c..98b8010a97c5 100644 --- a/sdk/devtestlabs/arm-devtestlabs/review/arm-devtestlabs.api.md +++ b/sdk/devtestlabs/arm-devtestlabs/review/arm-devtestlabs.api.md @@ -6,18 +6,61 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; +import { OperationState } from '@azure/core-lro'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; -import { PollerLike } from '@azure/core-lro'; -import { PollOperationState } from '@azure/core-lro'; +import { SimplePollerLike } from '@azure/core-lro'; // @public export interface ApplicableSchedule extends Resource { - labVmsShutdown?: Schedule; - labVmsStartup?: Schedule; -} - -// @public -export interface ApplicableScheduleFragment extends UpdateResource { + readonly createdDatePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + readonly createdDatePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + emailRecipientPropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + emailRecipientPropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; + readonly idPropertiesLabVmsShutdownId?: string; + readonly idPropertiesLabVmsStartupId?: string; + locationPropertiesLabVmsShutdownLocation?: string; + locationPropertiesLabVmsStartupLocation?: string; + minutePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + minutePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + readonly namePropertiesLabVmsShutdownName?: string; + readonly namePropertiesLabVmsStartupName?: string; + notificationLocalePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + notificationLocalePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + readonly provisioningStatePropertiesLabVmsShutdownPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesLabVmsStartupPropertiesProvisioningState?: string; + statusPropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + statusPropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + readonly systemData?: SystemData; + readonly systemDataPropertiesLabVmsShutdownSystemData?: SystemData; + readonly systemDataPropertiesLabVmsStartupSystemData?: SystemData; + tagsPropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + tagsPropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + targetResourceIdPropertiesLabVmsShutdownPropertiesTargetResourceId?: string; + targetResourceIdPropertiesLabVmsStartupPropertiesTargetResourceId?: string; + taskTypePropertiesLabVmsShutdownPropertiesTaskType?: string; + taskTypePropertiesLabVmsStartupPropertiesTaskType?: string; + timeInMinutesPropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + timeInMinutesPropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + timePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + timePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + timePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + timePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; + timeZoneIdPropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + timeZoneIdPropertiesLabVmsStartupPropertiesTimeZoneId?: string; + readonly typePropertiesLabVmsShutdownType?: string; + readonly typePropertiesLabVmsStartupType?: string; + readonly uniqueIdentifierPropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + webhookUrlPropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + webhookUrlPropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + weekdaysPropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + weekdaysPropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; } // @public @@ -35,6 +78,7 @@ export interface ArmTemplate extends Resource { readonly icon?: string; readonly parametersValueFilesInfo?: ParametersValueFileInfo[]; readonly publisher?: string; + readonly systemData?: SystemData; } // @public @@ -71,10 +115,6 @@ export type ArmTemplatesGetResponse = ArmTemplate; // @public export interface ArmTemplatesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -99,17 +139,11 @@ export interface Artifact extends Resource { readonly icon?: string; readonly parameters?: Record; readonly publisher?: string; + readonly systemData?: SystemData; readonly targetOsType?: string; readonly title?: string; } -// @public -export interface ArtifactDeploymentStatusProperties { - artifactsApplied?: number; - deploymentStatus?: string; - totalArtifacts?: number; -} - // @public export interface ArtifactInstallProperties { artifactId?: string; @@ -157,10 +191,6 @@ export type ArtifactsGetResponse = Artifact; // @public export interface ArtifactsListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -188,6 +218,7 @@ export interface ArtifactSource extends Resource { securityToken?: string; sourceType?: SourceControlType; status?: EnableStatus; + readonly systemData?: SystemData; readonly uniqueIdentifier?: string; uri?: string; } @@ -232,10 +263,6 @@ export type ArtifactSourcesGetResponse = ArtifactSource; // @public export interface ArtifactSourcesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -265,106 +292,141 @@ export interface AttachDiskProperties { } // @public -export interface AttachNewDataDiskOptions { - diskName?: string; - diskSizeGiB?: number; - diskType?: StorageType; +export interface BastionHost extends Resource { + readonly externalBastionHostId?: string; + readonly ipAddressId?: string; + readonly provisioningState?: string; + readonly systemData?: SystemData; + readonly uniqueIdentifier?: string; } // @public -export interface BulkCreationParameters { - instanceCount?: number; +export interface BastionHostFragment extends UpdateResource { } // @public -export interface CloudError { - error?: CloudErrorBody; +export interface BastionHostList { + nextLink?: string; + value?: BastionHost[]; } // @public -export interface CloudErrorBody { - code?: string; - details?: CloudErrorBody[]; - message?: string; - target?: string; +export interface BastionHosts { + beginCreateOrUpdate(resourceGroupName: string, labName: string, virtualNetworkName: string, name: string, bastionHost: BastionHost, options?: BastionHostsCreateOrUpdateOptionalParams): Promise, BastionHostsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, virtualNetworkName: string, name: string, bastionHost: BastionHost, options?: BastionHostsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, labName: string, virtualNetworkName: string, name: string, options?: BastionHostsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, labName: string, virtualNetworkName: string, name: string, options?: BastionHostsDeleteOptionalParams): Promise; + get(resourceGroupName: string, labName: string, virtualNetworkName: string, name: string, options?: BastionHostsGetOptionalParams): Promise; + list(resourceGroupName: string, labName: string, virtualNetworkName: string, options?: BastionHostsListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, labName: string, virtualNetworkName: string, name: string, bastionHost: BastionHostFragment, options?: BastionHostsUpdateOptionalParams): Promise; } // @public -export interface ComputeDataDisk { - diskSizeGiB?: number; - diskUri?: string; - managedDiskId?: string; - name?: string; +export interface BastionHostsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export interface ComputeVmInstanceViewStatus { - code?: string; - displayStatus?: string; - message?: string; +export type BastionHostsCreateOrUpdateResponse = BastionHost; + +// @public +export interface BastionHostsDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; } // @public -export interface ComputeVmProperties { - dataDiskIds?: string[]; - dataDisks?: ComputeDataDisk[]; - networkInterfaceId?: string; - osDiskId?: string; - osType?: string; - statuses?: ComputeVmInstanceViewStatus[]; - vmSize?: string; +export interface BastionHostsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export interface Costs { - createOrUpdate(resourceGroupName: string, labName: string, name: string, labCost: LabCost, options?: CostsCreateOrUpdateOptionalParams): Promise; - get(resourceGroupName: string, labName: string, name: string, options?: CostsGetOptionalParams): Promise; +export interface BastionHostsGetOptionalParams extends coreClient.OperationOptions { } // @public -export interface CostsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +export type BastionHostsGetResponse = BastionHost; + +// @public +export interface BastionHostsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type CostsCreateOrUpdateResponse = LabCost; +export type BastionHostsListNextResponse = BastionHostList; // @public -export interface CostsGetOptionalParams extends coreClient.OperationOptions { - expand?: string; +export interface BastionHostsListOptionalParams extends coreClient.OperationOptions { + filter?: string; + orderby?: string; + top?: number; +} + +// @public +export type BastionHostsListResponse = BastionHostList; + +// @public +export interface BastionHostsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type BastionHostsUpdateResponse = BastionHost; + +// @public +export interface CloudError { + error?: CloudErrorBody; } // @public -export type CostsGetResponse = LabCost; +export interface CloudErrorBody { + code?: string; + details?: CloudErrorBody[]; + message?: string; + target?: string; +} // @public -export interface CostThresholdProperties { - displayOnChart?: CostThresholdStatus; - notificationSent?: string; - percentageThreshold?: PercentageCostThresholdProperties; - sendNotificationWhenExceeded?: CostThresholdStatus; - thresholdId?: string; +export interface ComputeDataDisk { + diskSizeGiB?: number; + diskUri?: string; + managedDiskId?: string; + name?: string; } // @public -export type CostThresholdStatus = string; +export interface ComputeVmInstanceViewStatus { + code?: string; + displayStatus?: string; + message?: string; +} // @public -export type CostType = string; +export type CreatedByType = string; // @public export interface CustomImage extends Resource { author?: string; readonly creationDate?: Date; - customImagePlan?: CustomImagePropertiesFromPlan; dataDiskStorageInfo?: DataDiskStorageTypeInfo[]; description?: string; + idPropertiesCustomImagePlanId?: string; + imageName?: string; isPlanAuthorized?: boolean; + linuxOsState?: LinuxOsState; managedImageId?: string; managedSnapshotId?: string; + offer?: string; + osType?: CustomImageOsType; readonly provisioningState?: string; + publisher?: string; + sourceVmId?: string; + sysPrep?: boolean; + readonly systemData?: SystemData; readonly uniqueIdentifier?: string; - vhd?: CustomImagePropertiesCustom; - vm?: CustomImagePropertiesFromVm; + windowsOsState?: WindowsOsState; } // @public @@ -381,31 +443,17 @@ export interface CustomImageList { export type CustomImageOsType = string; // @public -export interface CustomImagePropertiesCustom { - imageName?: string; - osType: CustomImageOsType; - sysPrep?: boolean; -} - -// @public -export interface CustomImagePropertiesFromPlan { +export interface CustomImagePropertiesFromPlanFragment { id?: string; offer?: string; publisher?: string; } -// @public -export interface CustomImagePropertiesFromVm { - linuxOsInfo?: LinuxOsInfo; - sourceVmId?: string; - windowsOsInfo?: WindowsOsInfo; -} - // @public export interface CustomImages { - beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, customImage: CustomImage, options?: CustomImagesCreateOrUpdateOptionalParams): Promise, CustomImagesCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, customImage: CustomImage, options?: CustomImagesCreateOrUpdateOptionalParams): Promise, CustomImagesCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, name: string, customImage: CustomImage, options?: CustomImagesCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, labName: string, name: string, options?: CustomImagesDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, labName: string, name: string, options?: CustomImagesDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, labName: string, name: string, options?: CustomImagesDeleteOptionalParams): Promise; get(resourceGroupName: string, labName: string, name: string, options?: CustomImagesGetOptionalParams): Promise; list(resourceGroupName: string, labName: string, options?: CustomImagesListOptionalParams): PagedAsyncIterableIterator; @@ -421,6 +469,14 @@ export interface CustomImagesCreateOrUpdateOptionalParams extends coreClient.Ope // @public export type CustomImagesCreateOrUpdateResponse = CustomImage; +// @public +export interface CustomImagesDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface CustomImagesDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -437,10 +493,6 @@ export type CustomImagesGetResponse = CustomImage; // @public export interface CustomImagesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -466,7 +518,9 @@ export type CustomImagesUpdateResponse = CustomImage; // @public export interface DataDiskProperties { - attachNewDataDiskOptions?: AttachNewDataDiskOptions; + diskName?: string; + diskSizeGiB?: number; + diskType?: StorageType; existingLabDiskId?: string; hostCaching?: HostCachingOptions; } @@ -477,11 +531,6 @@ export interface DataDiskStorageTypeInfo { storageType?: StorageType; } -// @public -export interface DayDetails { - time?: string; -} - // @public export interface DetachDataDiskProperties { existingLabDiskId?: string; @@ -497,6 +546,7 @@ export class DevTestLabsClient extends coreClient.ServiceClient { // (undocumented) $host: string; constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: DevTestLabsClientOptionalParams); + constructor(credentials: coreAuth.TokenCredential, options?: DevTestLabsClientOptionalParams); // (undocumented) apiVersion: string; // (undocumented) @@ -506,7 +556,7 @@ export class DevTestLabsClient extends coreClient.ServiceClient { // (undocumented) artifactSources: ArtifactSources; // (undocumented) - costs: Costs; + bastionHosts: BastionHosts; // (undocumented) customImages: CustomImages; // (undocumented) @@ -522,6 +572,8 @@ export class DevTestLabsClient extends coreClient.ServiceClient { // (undocumented) labs: Labs; // (undocumented) + labSecrets: LabSecrets; + // (undocumented) notificationChannels: NotificationChannels; // (undocumented) operations: Operations; @@ -542,7 +594,11 @@ export class DevTestLabsClient extends coreClient.ServiceClient { // (undocumented) serviceRunners: ServiceRunners; // (undocumented) - subscriptionId: string; + sharedGalleries: SharedGalleries; + // (undocumented) + sharedImages: SharedImages; + // (undocumented) + subscriptionId?: string; // (undocumented) users: Users; // (undocumented) @@ -572,6 +628,7 @@ export interface Disk extends Resource { managedDiskId?: string; readonly provisioningState?: string; storageAccountId?: string; + readonly systemData?: SystemData; readonly uniqueIdentifier?: string; } @@ -587,19 +644,27 @@ export interface DiskList { // @public export interface Disks { - beginAttach(resourceGroupName: string, labName: string, userName: string, name: string, attachDiskProperties: AttachDiskProperties, options?: DisksAttachOptionalParams): Promise, void>>; + beginAttach(resourceGroupName: string, labName: string, userName: string, name: string, attachDiskProperties: AttachDiskProperties, options?: DisksAttachOptionalParams): Promise, void>>; beginAttachAndWait(resourceGroupName: string, labName: string, userName: string, name: string, attachDiskProperties: AttachDiskProperties, options?: DisksAttachOptionalParams): Promise; - beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, disk: Disk, options?: DisksCreateOrUpdateOptionalParams): Promise, DisksCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, disk: Disk, options?: DisksCreateOrUpdateOptionalParams): Promise, DisksCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, userName: string, name: string, disk: Disk, options?: DisksCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, labName: string, userName: string, name: string, options?: DisksDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, labName: string, userName: string, name: string, options?: DisksDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, labName: string, userName: string, name: string, options?: DisksDeleteOptionalParams): Promise; - beginDetach(resourceGroupName: string, labName: string, userName: string, name: string, detachDiskProperties: DetachDiskProperties, options?: DisksDetachOptionalParams): Promise, void>>; + beginDetach(resourceGroupName: string, labName: string, userName: string, name: string, detachDiskProperties: DetachDiskProperties, options?: DisksDetachOptionalParams): Promise, void>>; beginDetachAndWait(resourceGroupName: string, labName: string, userName: string, name: string, detachDiskProperties: DetachDiskProperties, options?: DisksDetachOptionalParams): Promise; get(resourceGroupName: string, labName: string, userName: string, name: string, options?: DisksGetOptionalParams): Promise; list(resourceGroupName: string, labName: string, userName: string, options?: DisksListOptionalParams): PagedAsyncIterableIterator; update(resourceGroupName: string, labName: string, userName: string, name: string, disk: DiskFragment, options?: DisksUpdateOptionalParams): Promise; } +// @public +export interface DisksAttachHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface DisksAttachOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -615,12 +680,28 @@ export interface DisksCreateOrUpdateOptionalParams extends coreClient.OperationO // @public export type DisksCreateOrUpdateResponse = Disk; +// @public +export interface DisksDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface DisksDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface DisksDetachHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface DisksDetachOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -637,10 +718,6 @@ export type DisksGetResponse = Disk; // @public export interface DisksListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -667,10 +744,12 @@ export type DisksUpdateResponse = Disk; // @public export interface DtlEnvironment extends Resource { armTemplateDisplayName?: string; + armTemplateId?: string; readonly createdByUser?: string; - deploymentProperties?: EnvironmentDeploymentProperties; + parameters?: ArmTemplateParameterProperties[]; readonly provisioningState?: string; readonly resourceGroupId?: string; + readonly systemData?: SystemData; readonly uniqueIdentifier?: string; } @@ -684,23 +763,23 @@ export interface DtlEnvironmentList { value?: DtlEnvironment[]; } +// @public +export type EnableState = string; + // @public export type EnableStatus = string; // @public -export interface EnvironmentDeploymentProperties { - armTemplateId?: string; - parameters?: ArmTemplateParameterProperties[]; -} +export type EncryptionType = string; // @public export type EnvironmentPermission = string; // @public export interface Environments { - beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, dtlEnvironment: DtlEnvironment, options?: EnvironmentsCreateOrUpdateOptionalParams): Promise, EnvironmentsCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, dtlEnvironment: DtlEnvironment, options?: EnvironmentsCreateOrUpdateOptionalParams): Promise, EnvironmentsCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, userName: string, name: string, dtlEnvironment: DtlEnvironment, options?: EnvironmentsCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, labName: string, userName: string, name: string, options?: EnvironmentsDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, labName: string, userName: string, name: string, options?: EnvironmentsDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, labName: string, userName: string, name: string, options?: EnvironmentsDeleteOptionalParams): Promise; get(resourceGroupName: string, labName: string, userName: string, name: string, options?: EnvironmentsGetOptionalParams): Promise; list(resourceGroupName: string, labName: string, userName: string, options?: EnvironmentsListOptionalParams): PagedAsyncIterableIterator; @@ -716,6 +795,14 @@ export interface EnvironmentsCreateOrUpdateOptionalParams extends coreClient.Ope // @public export type EnvironmentsCreateOrUpdateResponse = DtlEnvironment; +// @public +export interface EnvironmentsDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface EnvironmentsDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -732,10 +819,6 @@ export type EnvironmentsGetResponse = DtlEnvironment; // @public export interface EnvironmentsListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -800,14 +883,136 @@ export type FileUploadOptions = string; // @public export interface Formula extends Resource { + allowClaim?: boolean; + artifacts?: ArtifactInstallProperties[]; + artifactsApplied?: number; readonly author?: string; + readonly canApplyArtifacts?: boolean; + readonly computeId?: string; + readonly createdByUser?: string; + readonly createdByUserId?: string; + readonly createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + readonly createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + createdDatePropertiesFormulaContentPropertiesCreatedDate?: Date; readonly creationDate?: Date; + customImageId?: string; + dataDiskIds?: string[]; + dataDiskParameters?: DataDiskProperties[]; + dataDisks?: ComputeDataDisk[]; + deploymentStatus?: string; description?: string; - formulaContent?: LabVirtualMachineCreationParameter; - osType?: string; - readonly provisioningState?: string; - readonly uniqueIdentifier?: string; - vm?: FormulaPropertiesFromVm; + disallowPublicIpAddress?: boolean; + dnsName?: string; + emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; + environmentId?: string; + expirationDate?: Date; + readonly fqdn?: string; + galleryImageVersionId?: string; + readonly idPropertiesFormulaContentPropertiesApplicableScheduleId?: string; + readonly idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; + readonly idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; + inboundNatRules?: InboundNatRule[]; + instanceCount?: number; + isAuthenticationWithSshKey?: boolean; + labSubnetName?: string; + labVirtualNetworkId?: string; + labVmId?: string; + readonly lastKnownPowerState?: string; + locationPropertiesFormulaContentLocation?: string; + locationPropertiesFormulaContentPropertiesApplicableScheduleLocation?: string; + locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; + locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; + minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + namePropertiesFormulaContentName?: string; + readonly namePropertiesFormulaContentPropertiesApplicableScheduleName?: string; + readonly namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; + readonly namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; + networkInterfaceId?: string; + notes?: string; + notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + offer?: string; + osDiskId?: string; + osDiskSizeGb?: number; + osTypePropertiesFormulaContentPropertiesComputeVmOsType?: string; + osTypePropertiesFormulaContentPropertiesGalleryImageReferenceOsType?: string; + readonly osTypePropertiesFormulaContentPropertiesOsType?: string; + osTypePropertiesOsType?: string; + ownerObjectId?: string; + ownerUserPrincipalName?: string; + password?: string; + planId?: string; + privateIpAddress?: string; + readonly provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesFormulaContentPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesProvisioningState?: string; + publicIpAddress?: string; + publicIpAddressId?: string; + publisher?: string; + rdpAuthority?: string; + scheduleParameters?: ScheduleCreationParameter[]; + securityProfile?: SecurityProfile; + sharedImageId?: string; + sharedImageVersion?: string; + size?: string; + sku?: string; + sshAuthority?: string; + sshKey?: string; + statuses?: ComputeVmInstanceViewStatus[]; + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + storageType?: StorageType; + subnetId?: string; + readonly systemData?: SystemData; + readonly systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + readonly systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + readonly systemDataPropertiesFormulaContentPropertiesApplicableScheduleSystemData?: SystemData; + tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + tagsPropertiesFormulaContentPropertiesApplicableScheduleTags?: { + [propertyName: string]: string; + }; + tagsPropertiesFormulaContentTags?: { + [propertyName: string]: string; + }; + targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; + targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; + taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; + timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; + totalArtifacts?: number; + readonly typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + readonly typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + readonly typePropertiesFormulaContentPropertiesApplicableScheduleType?: string; + readonly uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesFormulaContentPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + userName?: string; + version?: string; + readonly virtualMachineCreationSource?: VirtualMachineCreationSource; + virtualNetworkId?: string; + vmSize?: string; + webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; } // @public @@ -820,14 +1025,9 @@ export interface FormulaList { value?: Formula[]; } -// @public -export interface FormulaPropertiesFromVm { - labVmId?: string; -} - // @public export interface Formulas { - beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, formula: Formula, options?: FormulasCreateOrUpdateOptionalParams): Promise, FormulasCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, formula: Formula, options?: FormulasCreateOrUpdateOptionalParams): Promise, FormulasCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, name: string, formula: Formula, options?: FormulasCreateOrUpdateOptionalParams): Promise; delete(resourceGroupName: string, labName: string, name: string, options?: FormulasDeleteOptionalParams): Promise; get(resourceGroupName: string, labName: string, name: string, options?: FormulasGetOptionalParams): Promise; @@ -858,10 +1058,6 @@ export type FormulasGetResponse = Formula; // @public export interface FormulasListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -892,9 +1088,14 @@ export interface GalleryImage extends Resource { description?: string; enabled?: boolean; icon?: string; - imageReference?: GalleryImageReference; isPlanAuthorized?: boolean; + offer?: string; + osType?: string; planId?: string; + publisher?: string; + sku?: string; + readonly systemData?: SystemData; + version?: string; } // @public @@ -903,26 +1104,21 @@ export interface GalleryImageList { value?: GalleryImage[]; } -// @public -export interface GalleryImageReference { - offer?: string; - osType?: string; - publisher?: string; - sku?: string; - version?: string; -} - // @public export interface GalleryImages { + get(resourceGroupName: string, labName: string, name: string, options?: GalleryImagesGetOptionalParams): Promise; list(resourceGroupName: string, labName: string, options?: GalleryImagesListOptionalParams): PagedAsyncIterableIterator; } +// @public +export interface GalleryImagesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GalleryImagesGetResponse = GalleryImage; + // @public export interface GalleryImagesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -962,9 +1158,9 @@ export function getContinuationToken(page: unknown): string | undefined; // @public export interface GlobalSchedules { - beginExecute(resourceGroupName: string, name: string, options?: GlobalSchedulesExecuteOptionalParams): Promise, void>>; + beginExecute(resourceGroupName: string, name: string, options?: GlobalSchedulesExecuteOptionalParams): Promise, void>>; beginExecuteAndWait(resourceGroupName: string, name: string, options?: GlobalSchedulesExecuteOptionalParams): Promise; - beginRetarget(resourceGroupName: string, name: string, retargetScheduleProperties: RetargetScheduleProperties, options?: GlobalSchedulesRetargetOptionalParams): Promise, void>>; + beginRetarget(resourceGroupName: string, name: string, retargetScheduleProperties: RetargetScheduleProperties, options?: GlobalSchedulesRetargetOptionalParams): Promise, void>>; beginRetargetAndWait(resourceGroupName: string, name: string, retargetScheduleProperties: RetargetScheduleProperties, options?: GlobalSchedulesRetargetOptionalParams): Promise; createOrUpdate(resourceGroupName: string, name: string, schedule: Schedule, options?: GlobalSchedulesCreateOrUpdateOptionalParams): Promise; delete(resourceGroupName: string, name: string, options?: GlobalSchedulesDeleteOptionalParams): Promise; @@ -985,6 +1181,14 @@ export type GlobalSchedulesCreateOrUpdateResponse = Schedule; export interface GlobalSchedulesDeleteOptionalParams extends coreClient.OperationOptions { } +// @public +export interface GlobalSchedulesExecuteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface GlobalSchedulesExecuteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -1001,10 +1205,6 @@ export type GlobalSchedulesGetResponse = Schedule; // @public export interface GlobalSchedulesListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -1023,10 +1223,6 @@ export type GlobalSchedulesListByResourceGroupResponse = ScheduleList; // @public export interface GlobalSchedulesListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -1043,6 +1239,14 @@ export interface GlobalSchedulesListBySubscriptionOptionalParams extends coreCli // @public export type GlobalSchedulesListBySubscriptionResponse = ScheduleList; +// @public +export interface GlobalSchedulesRetargetHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface GlobalSchedulesRetargetOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -1059,11 +1263,6 @@ export type GlobalSchedulesUpdateResponse = Schedule; // @public export type HostCachingOptions = string; -// @public -export interface HourDetails { - minute?: number; -} - // @public export type HttpStatusCode = string; @@ -1073,6 +1272,17 @@ export interface IdentityProperties { principalId?: string; tenantId?: string; type?: ManagedIdentityType; + userAssignedIdentities?: { + [propertyName: string]: Record; + }; +} + +// @public +export type ImageType = string; + +// @public +export interface ImageVersionProperties { + name?: string; } // @public @@ -1089,16 +1299,11 @@ export interface InboundNatRule { } // @public -export enum KnownCostThresholdStatus { - Disabled = "Disabled", - Enabled = "Enabled" -} - -// @public -export enum KnownCostType { - Projected = "Projected", - Reported = "Reported", - Unavailable = "Unavailable" +export enum KnownCreatedByType { + Application = "Application", + Key = "Key", + ManagedIdentity = "ManagedIdentity", + User = "User" } // @public @@ -1108,12 +1313,24 @@ export enum KnownCustomImageOsType { Windows = "Windows" } +// @public +export enum KnownEnableState { + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownEnableStatus { Disabled = "Disabled", Enabled = "Enabled" } +// @public +export enum KnownEncryptionType { + EncryptionAtRestWithCustomerKey = "EncryptionAtRestWithCustomerKey", + EncryptionAtRestWithPlatformKey = "EncryptionAtRestWithPlatformKey" +} + // @public export enum KnownEnvironmentPermission { Contributor = "Contributor", @@ -1136,40 +1353,55 @@ export enum KnownHostCachingOptions { // @public export enum KnownHttpStatusCode { Accepted = "Accepted", + AlreadyReported = "AlreadyReported", Ambiguous = "Ambiguous", BadGateway = "BadGateway", BadRequest = "BadRequest", Conflict = "Conflict", Continue = "Continue", Created = "Created", + EarlyHints = "EarlyHints", ExpectationFailed = "ExpectationFailed", + FailedDependency = "FailedDependency", Forbidden = "Forbidden", Found = "Found", GatewayTimeout = "GatewayTimeout", Gone = "Gone", HttpVersionNotSupported = "HttpVersionNotSupported", + IMUsed = "IMUsed", + InsufficientStorage = "InsufficientStorage", InternalServerError = "InternalServerError", LengthRequired = "LengthRequired", + Locked = "Locked", + LoopDetected = "LoopDetected", MethodNotAllowed = "MethodNotAllowed", + MisdirectedRequest = "MisdirectedRequest", Moved = "Moved", MovedPermanently = "MovedPermanently", MultipleChoices = "MultipleChoices", + MultiStatus = "MultiStatus", + NetworkAuthenticationRequired = "NetworkAuthenticationRequired", NoContent = "NoContent", NonAuthoritativeInformation = "NonAuthoritativeInformation", NotAcceptable = "NotAcceptable", + NotExtended = "NotExtended", NotFound = "NotFound", NotImplemented = "NotImplemented", NotModified = "NotModified", OK = "OK", PartialContent = "PartialContent", PaymentRequired = "PaymentRequired", + PermanentRedirect = "PermanentRedirect", PreconditionFailed = "PreconditionFailed", + PreconditionRequired = "PreconditionRequired", + Processing = "Processing", ProxyAuthenticationRequired = "ProxyAuthenticationRequired", Redirect = "Redirect", RedirectKeepVerb = "RedirectKeepVerb", RedirectMethod = "RedirectMethod", RequestedRangeNotSatisfiable = "RequestedRangeNotSatisfiable", RequestEntityTooLarge = "RequestEntityTooLarge", + RequestHeaderFieldsTooLarge = "RequestHeaderFieldsTooLarge", RequestTimeout = "RequestTimeout", RequestUriTooLong = "RequestUriTooLong", ResetContent = "ResetContent", @@ -1177,11 +1409,21 @@ export enum KnownHttpStatusCode { ServiceUnavailable = "ServiceUnavailable", SwitchingProtocols = "SwitchingProtocols", TemporaryRedirect = "TemporaryRedirect", + TooManyRequests = "TooManyRequests", Unauthorized = "Unauthorized", + UnavailableForLegalReasons = "UnavailableForLegalReasons", + UnprocessableEntity = "UnprocessableEntity", UnsupportedMediaType = "UnsupportedMediaType", Unused = "Unused", UpgradeRequired = "UpgradeRequired", - UseProxy = "UseProxy" + UseProxy = "UseProxy", + VariantAlsoNegotiates = "VariantAlsoNegotiates" +} + +// @public +export enum KnownImageType { + Generalized = "Generalized", + Specialized = "Specialized" } // @public @@ -1201,8 +1443,13 @@ export enum KnownManagedIdentityType { // @public export enum KnownNotificationChannelEventType { - AutoShutdown = "AutoShutdown", - Cost = "Cost" + AutoShutdown = "AutoShutdown" +} + +// @public +export enum KnownOsType { + Linux = "Linux", + Windows = "Windows" } // @public @@ -1216,7 +1463,6 @@ export enum KnownPolicyFactName { EnvironmentTemplate = "EnvironmentTemplate", GalleryImage = "GalleryImage", LabPremiumVmCount = "LabPremiumVmCount", - LabTargetCost = "LabTargetCost", LabVmCount = "LabVmCount", LabVmSize = "LabVmSize", ScheduleEditPermission = "ScheduleEditPermission", @@ -1238,9 +1484,9 @@ export enum KnownPremiumDataDisk { } // @public -export enum KnownReportingCycleType { - CalendarMonth = "CalendarMonth", - Custom = "Custom" +export enum KnownSecurityTypes { + ConfidentialVM = "ConfidentialVM", + TrustedLaunch = "TrustedLaunch" } // @public @@ -1258,9 +1504,10 @@ export enum KnownStorageType { } // @public -export enum KnownTargetCostStatus { - Disabled = "Disabled", - Enabled = "Enabled" +export enum KnownStorageTypes { + Premium = "Premium", + Standard = "Standard", + StandardSSD = "StandardSSD" } // @public @@ -1292,67 +1539,54 @@ export enum KnownWindowsOsState { // @public export interface Lab extends Resource { - announcement?: LabAnnouncementProperties; readonly artifactsStorageAccount?: string; + browserConnect?: EnableStatus; + clientSecretUrl?: string; readonly createdDate?: Date; readonly defaultPremiumStorageAccount?: string; + defaultSecretName?: string; readonly defaultStorageAccount?: string; + disableAutoUpgradeCseMinorVersion?: boolean; + diskEncryptionSetId?: string; + enabledPropertiesAnnouncementEnabled?: EnableStatus; + enabledPropertiesSupportEnabled?: EnableStatus; environmentPermission?: EnvironmentPermission; + expirationDate?: Date; + expired?: boolean; extendedProperties?: { [propertyName: string]: string; }; + isolateLabResources?: EnableStatus; labStorageType?: StorageType; readonly loadBalancerId?: string; + managementIdentities?: { + [propertyName: string]: Record; + }; mandatoryArtifactsResourceIdsLinux?: string[]; mandatoryArtifactsResourceIdsWindows?: string[]; + markdownPropertiesAnnouncementMarkdown?: string; + markdownPropertiesSupportMarkdown?: string; readonly networkSecurityGroupId?: string; premiumDataDisks?: PremiumDataDisk; readonly premiumDataDiskStorageAccount?: string; - readonly provisioningState?: string; + principalId?: string; + readonly provisioningStatePropertiesAnnouncementProvisioningState?: string; + readonly provisioningStatePropertiesProvisioningState?: string; readonly publicIpId?: string; - support?: LabSupportProperties; - readonly uniqueIdentifier?: string; + readonly systemData?: SystemData; + tenantId?: string; + title?: string; + typeIdentityType?: ManagedIdentityType; + typePropertiesEncryptionType?: EncryptionType; + readonly uniqueIdentifierPropertiesAnnouncementUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + userAssignedIdentities?: { + [propertyName: string]: Record; + }; readonly vaultName?: string; readonly vmCreationResourceGroup?: string; } -// @public -export interface LabAnnouncementProperties { - enabled?: EnableStatus; - expirationDate?: Date; - expired?: boolean; - markdown?: string; - readonly provisioningState?: string; - title?: string; - readonly uniqueIdentifier?: string; -} - -// @public -export interface LabCost extends Resource { - createdDate?: Date; - currencyCode?: string; - endDateTime?: Date; - readonly labCostDetails?: LabCostDetailsProperties[]; - readonly labCostSummary?: LabCostSummaryProperties; - readonly provisioningState?: string; - readonly resourceCosts?: LabResourceCostProperties[]; - startDateTime?: Date; - targetCost?: TargetCostProperties; - readonly uniqueIdentifier?: string; -} - -// @public -export interface LabCostDetailsProperties { - cost?: number; - costType?: CostType; - date?: Date; -} - -// @public -export interface LabCostSummaryProperties { - estimatedLabCost?: number; -} - // @public export interface LabFragment extends UpdateResource { } @@ -1363,33 +1597,21 @@ export interface LabList { value?: Lab[]; } -// @public -export interface LabResourceCostProperties { - externalResourceId?: string; - resourceCost?: number; - resourceId?: string; - resourcename?: string; - resourceOwner?: string; - resourcePricingTier?: string; - resourceStatus?: string; - resourceType?: string; - resourceUId?: string; -} - // @public export interface Labs { - beginClaimAnyVm(resourceGroupName: string, name: string, options?: LabsClaimAnyVmOptionalParams): Promise, void>>; + beginClaimAnyVm(resourceGroupName: string, name: string, options?: LabsClaimAnyVmOptionalParams): Promise, void>>; beginClaimAnyVmAndWait(resourceGroupName: string, name: string, options?: LabsClaimAnyVmOptionalParams): Promise; - beginCreateEnvironment(resourceGroupName: string, name: string, labVirtualMachineCreationParameter: LabVirtualMachineCreationParameter, options?: LabsCreateEnvironmentOptionalParams): Promise, void>>; + beginCreateEnvironment(resourceGroupName: string, name: string, labVirtualMachineCreationParameter: LabVirtualMachineCreationParameter, options?: LabsCreateEnvironmentOptionalParams): Promise, void>>; beginCreateEnvironmentAndWait(resourceGroupName: string, name: string, labVirtualMachineCreationParameter: LabVirtualMachineCreationParameter, options?: LabsCreateEnvironmentOptionalParams): Promise; - beginCreateOrUpdate(resourceGroupName: string, name: string, lab: Lab, options?: LabsCreateOrUpdateOptionalParams): Promise, LabsCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, name: string, lab: Lab, options?: LabsCreateOrUpdateOptionalParams): Promise, LabsCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, name: string, lab: Lab, options?: LabsCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, name: string, options?: LabsDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, name: string, options?: LabsDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, name: string, options?: LabsDeleteOptionalParams): Promise; - beginExportResourceUsage(resourceGroupName: string, name: string, exportResourceUsageParameters: ExportResourceUsageParameters, options?: LabsExportResourceUsageOptionalParams): Promise, void>>; + beginExportResourceUsage(resourceGroupName: string, name: string, exportResourceUsageParameters: ExportResourceUsageParameters, options?: LabsExportResourceUsageOptionalParams): Promise, void>>; beginExportResourceUsageAndWait(resourceGroupName: string, name: string, exportResourceUsageParameters: ExportResourceUsageParameters, options?: LabsExportResourceUsageOptionalParams): Promise; - beginImportVirtualMachine(resourceGroupName: string, name: string, importLabVirtualMachineRequest: ImportLabVirtualMachineRequest, options?: LabsImportVirtualMachineOptionalParams): Promise, void>>; + beginImportVirtualMachine(resourceGroupName: string, name: string, importLabVirtualMachineRequest: ImportLabVirtualMachineRequest, options?: LabsImportVirtualMachineOptionalParams): Promise, void>>; beginImportVirtualMachineAndWait(resourceGroupName: string, name: string, importLabVirtualMachineRequest: ImportLabVirtualMachineRequest, options?: LabsImportVirtualMachineOptionalParams): Promise; + ensureCurrentUserProfile(resourceGroupName: string, name: string, options?: LabsEnsureCurrentUserProfileOptionalParams): Promise; generateUploadUri(resourceGroupName: string, name: string, generateUploadUriParameter: GenerateUploadUriParameter, options?: LabsGenerateUploadUriOptionalParams): Promise; get(resourceGroupName: string, name: string, options?: LabsGetOptionalParams): Promise; listByResourceGroup(resourceGroupName: string, options?: LabsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; @@ -1398,12 +1620,28 @@ export interface Labs { update(resourceGroupName: string, name: string, lab: LabFragment, options?: LabsUpdateOptionalParams): Promise; } +// @public +export interface LabsClaimAnyVmHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface LabsClaimAnyVmOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface LabsCreateEnvironmentHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface LabsCreateEnvironmentOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -1419,12 +1657,128 @@ export interface LabsCreateOrUpdateOptionalParams extends coreClient.OperationOp // @public export type LabsCreateOrUpdateResponse = Lab; +// @public +export interface LabsDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface LabsDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface LabSecret extends Resource { + enabledForArmEnvironments?: boolean; + enabledForArtifacts?: boolean; + enabledForVmCreation?: boolean; + readonly keyVaultEntry?: string; + readonly provisioningState?: string; + readonly systemData?: SystemData; + readonly uniqueIdentifier?: string; + value?: string; +} + +// @public +export interface LabSecretFragment extends UpdateResource { +} + +// @public +export interface LabSecretList { + nextLink?: string; + value?: LabSecret[]; +} + +// @public +export interface LabSecrets { + beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, labSecret: LabSecret, options?: LabSecretsCreateOrUpdateOptionalParams): Promise, LabSecretsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, name: string, labSecret: LabSecret, options?: LabSecretsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, labName: string, name: string, options?: LabSecretsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, labName: string, name: string, options?: LabSecretsDeleteOptionalParams): Promise; + beginUpdate(resourceGroupName: string, labName: string, name: string, secret: SecretFragment, options?: LabSecretsUpdateOptionalParams): Promise, LabSecretsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, labName: string, name: string, secret: SecretFragment, options?: LabSecretsUpdateOptionalParams): Promise; + get(resourceGroupName: string, labName: string, name: string, options?: LabSecretsGetOptionalParams): Promise; + list(resourceGroupName: string, labName: string, options?: LabSecretsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface LabSecretsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LabSecretsCreateOrUpdateResponse = LabSecret; + +// @public +export interface LabSecretsDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + +// @public +export interface LabSecretsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface LabSecretsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LabSecretsGetResponse = LabSecret; + +// @public +export interface LabSecretsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type LabSecretsListNextResponse = LabSecretList; + +// @public +export interface LabSecretsListOptionalParams extends coreClient.OperationOptions { + filter?: string; + orderby?: string; + top?: number; +} + +// @public +export type LabSecretsListResponse = LabSecretList; + +// @public +export interface LabSecretsUpdateHeaders { + // (undocumented) + location?: string; +} + +// @public +export interface LabSecretsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type LabSecretsUpdateResponse = LabSecret; + +// @public +export interface LabsEnsureCurrentUserProfileOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface LabsExportResourceUsageHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface LabsExportResourceUsageOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -1446,6 +1800,14 @@ export interface LabsGetOptionalParams extends coreClient.OperationOptions { // @public export type LabsGetResponse = Lab; +// @public +export interface LabsImportVirtualMachineHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface LabsImportVirtualMachineOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -1454,10 +1816,6 @@ export interface LabsImportVirtualMachineOptionalParams extends coreClient.Opera // @public export interface LabsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -1476,10 +1834,6 @@ export type LabsListByResourceGroupResponse = LabList; // @public export interface LabsListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -1517,12 +1871,6 @@ export interface LabsUpdateOptionalParams extends coreClient.OperationOptions { // @public export type LabsUpdateResponse = Lab; -// @public -export interface LabSupportProperties { - enabled?: EnableStatus; - markdown?: string; -} - // @public export interface LabVhd { id?: string; @@ -1537,73 +1885,248 @@ export interface LabVhdList { // @public export interface LabVirtualMachine extends Resource { allowClaim?: boolean; - readonly applicableSchedule?: ApplicableSchedule; - readonly artifactDeploymentStatus?: ArtifactDeploymentStatusProperties; artifacts?: ArtifactInstallProperties[]; + artifactsApplied?: number; + readonly canApplyArtifacts?: boolean; readonly computeId?: string; - readonly computeVm?: ComputeVmProperties; readonly createdByUser?: string; readonly createdByUserId?: string; - createdDate?: Date; + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + createdDatePropertiesCreatedDate?: Date; customImageId?: string; + dataDiskIds?: string[]; dataDiskParameters?: DataDiskProperties[]; + dataDisks?: ComputeDataDisk[]; + deploymentStatus?: string; disallowPublicIpAddress?: boolean; + dnsName?: string; + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; environmentId?: string; expirationDate?: Date; readonly fqdn?: string; - galleryImageReference?: GalleryImageReference; + galleryImageVersionId?: string; + readonly idPropertiesApplicableScheduleId?: string; + readonly idPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; + readonly idPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; + inboundNatRules?: InboundNatRule[]; isAuthenticationWithSshKey?: boolean; labSubnetName?: string; labVirtualNetworkId?: string; readonly lastKnownPowerState?: string; - networkInterface?: NetworkInterfaceProperties; + locationPropertiesApplicableScheduleLocation?: string; + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + readonly namePropertiesApplicableScheduleName?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; + networkInterfaceId?: string; notes?: string; - readonly osType?: string; + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + offer?: string; + osDiskId?: string; + osDiskSizeGb?: number; + osTypePropertiesComputeVmOsType?: string; + osTypePropertiesGalleryImageReferenceOsType?: string; + readonly osTypePropertiesOsType?: string; ownerObjectId?: string; ownerUserPrincipalName?: string; password?: string; planId?: string; - readonly provisioningState?: string; + privateIpAddress?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesProvisioningState?: string; + publicIpAddress?: string; + publicIpAddressId?: string; + publisher?: string; + rdpAuthority?: string; scheduleParameters?: ScheduleCreationParameter[]; + securityProfile?: SecurityProfile; + sharedImageId?: string; + sharedImageVersion?: string; size?: string; + sku?: string; + sshAuthority?: string; sshKey?: string; - storageType?: string; - readonly uniqueIdentifier?: string; + statuses?: ComputeVmInstanceViewStatus[]; + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + storageType?: StorageTypes; + subnetId?: string; + readonly systemData?: SystemData; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + readonly systemDataPropertiesApplicableScheduleSystemData?: SystemData; + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + tagsPropertiesApplicableScheduleTags?: { + [propertyName: string]: string; + }; + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; + totalArtifacts?: number; + readonly typePropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + readonly typePropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + readonly typePropertiesApplicableScheduleType?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; userName?: string; + version?: string; readonly virtualMachineCreationSource?: VirtualMachineCreationSource; + virtualNetworkId?: string; + vmSize?: string; + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; } // @public export interface LabVirtualMachineCreationParameter { allowClaim?: boolean; artifacts?: ArtifactInstallProperties[]; - bulkCreationParameters?: BulkCreationParameters; - createdDate?: Date; + artifactsApplied?: number; + readonly canApplyArtifacts?: boolean; + readonly computeId?: string; + readonly createdByUser?: string; + readonly createdByUserId?: string; + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + createdDatePropertiesCreatedDate?: Date; customImageId?: string; + dataDiskIds?: string[]; dataDiskParameters?: DataDiskProperties[]; + dataDisks?: ComputeDataDisk[]; + deploymentStatus?: string; disallowPublicIpAddress?: boolean; + dnsName?: string; + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; environmentId?: string; expirationDate?: Date; - galleryImageReference?: GalleryImageReference; + readonly fqdn?: string; + galleryImageVersionId?: string; + readonly idPropertiesApplicableScheduleId?: string; + readonly idPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; + readonly idPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; + inboundNatRules?: InboundNatRule[]; + instanceCount?: number; isAuthenticationWithSshKey?: boolean; labSubnetName?: string; labVirtualNetworkId?: string; + readonly lastKnownPowerState?: string; location?: string; + locationPropertiesApplicableScheduleLocation?: string; + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; name?: string; - networkInterface?: NetworkInterfaceProperties; + readonly namePropertiesApplicableScheduleName?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; + networkInterfaceId?: string; notes?: string; + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + offer?: string; + osDiskId?: string; + osDiskSizeGb?: number; + osTypePropertiesComputeVmOsType?: string; + osTypePropertiesGalleryImageReferenceOsType?: string; + readonly osTypePropertiesOsType?: string; ownerObjectId?: string; ownerUserPrincipalName?: string; password?: string; planId?: string; - scheduleParameters?: ScheduleCreationParameter[]; - size?: string; - sshKey?: string; - storageType?: string; - tags?: { + privateIpAddress?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesProvisioningState?: string; + publicIpAddress?: string; + publicIpAddressId?: string; + publisher?: string; + rdpAuthority?: string; + scheduleParameters?: ScheduleCreationParameter[]; + securityProfile?: SecurityProfile; + sharedImageId?: string; + sharedImageVersion?: string; + size?: string; + sku?: string; + sshAuthority?: string; + sshKey?: string; + statuses?: ComputeVmInstanceViewStatus[]; + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + storageType?: StorageType; + subnetId?: string; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + readonly systemDataPropertiesApplicableScheduleSystemData?: SystemData; + tags?: { [propertyName: string]: string; }; + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + tagsPropertiesApplicableScheduleTags?: { + [propertyName: string]: string; + }; + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; + totalArtifacts?: number; + readonly typePropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + readonly typePropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + readonly typePropertiesApplicableScheduleType?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; userName?: string; + version?: string; + readonly virtualMachineCreationSource?: VirtualMachineCreationSource; + virtualNetworkId?: string; + vmSize?: string; + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; } // @public @@ -1616,30 +2139,12 @@ export interface LabVirtualMachineList { value?: LabVirtualMachine[]; } -// @public -export interface LinuxOsInfo { - linuxOsState?: LinuxOsState; -} - // @public export type LinuxOsState = string; // @public export type ManagedIdentityType = string; -// @public -export interface NetworkInterfaceProperties { - dnsName?: string; - privateIpAddress?: string; - publicIpAddress?: string; - publicIpAddressId?: string; - rdpAuthority?: string; - sharedPublicIpAddressConfiguration?: SharedPublicIpAddressConfiguration; - sshAuthority?: string; - subnetId?: string; - virtualNetworkId?: string; -} - // @public export interface NotificationChannel extends Resource { readonly createdDate?: Date; @@ -1648,6 +2153,7 @@ export interface NotificationChannel extends Resource { events?: Event_2[]; notificationLocale?: string; readonly provisioningState?: string; + readonly systemData?: SystemData; readonly uniqueIdentifier?: string; webHookUrl?: string; } @@ -1696,10 +2202,6 @@ export type NotificationChannelsGetResponse = NotificationChannel; // @public export interface NotificationChannelsListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -1727,27 +2229,12 @@ export interface NotificationChannelsUpdateOptionalParams extends coreClient.Ope // @public export type NotificationChannelsUpdateResponse = NotificationChannel; -// @public -export interface NotificationSettings { - emailRecipient?: string; - notificationLocale?: string; - status?: EnableStatus; - timeInMinutes?: number; - webhookUrl?: string; -} - // @public export interface NotifyParameters { eventName?: NotificationChannelEventType; jsonPayload?: string; } -// @public -export interface OperationError { - code?: string; - message?: string; -} - // @public export interface OperationMetadata { display?: OperationMetadataDisplay; @@ -1764,7 +2251,8 @@ export interface OperationMetadataDisplay { // @public export interface OperationResult { - error?: OperationError; + code?: string; + message?: string; status?: string; statusCode?: HttpStatusCode; } @@ -1774,6 +2262,14 @@ export interface Operations { get(locationName: string, name: string, options?: OperationsGetOptionalParams): Promise; } +// @public +export interface OperationsGetHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface OperationsGetOptionalParams extends coreClient.OperationOptions { } @@ -1781,6 +2277,9 @@ export interface OperationsGetOptionalParams extends coreClient.OperationOptions // @public export type OperationsGetResponse = OperationResult; +// @public +export type OsType = string; + // @public export interface ParameterInfo { name?: string; @@ -1793,11 +2292,6 @@ export interface ParametersValueFileInfo { parametersValueInfo?: Record; } -// @public -export interface PercentageCostThresholdProperties { - thresholdValue?: number; -} - // @public export interface Policies { createOrUpdate(resourceGroupName: string, labName: string, policySetName: string, name: string, policy: Policy, options?: PoliciesCreateOrUpdateOptionalParams): Promise; @@ -1828,10 +2322,6 @@ export type PoliciesGetResponse = Policy; // @public export interface PoliciesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -1864,6 +2354,7 @@ export interface Policy extends Resource { factName?: PolicyFactName; readonly provisioningState?: string; status?: PolicyStatus; + readonly systemData?: SystemData; threshold?: string; readonly uniqueIdentifier?: string; } @@ -1884,6 +2375,19 @@ export interface PolicyList { value?: Policy[]; } +// @public +export interface PolicySet extends Resource { + readonly provisioningState?: string; + readonly systemData?: SystemData; + readonly uniqueIdentifier?: string; +} + +// @public +export interface PolicySetList { + nextLink?: string; + readonly value?: PolicySet[]; +} + // @public export interface PolicySetResult { hasError?: boolean; @@ -1893,6 +2397,7 @@ export interface PolicySetResult { // @public export interface PolicySets { evaluatePolicies(resourceGroupName: string, labName: string, name: string, evaluatePoliciesRequest: EvaluatePoliciesRequest, options?: PolicySetsEvaluatePoliciesOptionalParams): Promise; + list(resourceGroupName: string, labName: string, options?: PolicySetsListOptionalParams): PagedAsyncIterableIterator; } // @public @@ -1902,6 +2407,23 @@ export interface PolicySetsEvaluatePoliciesOptionalParams extends coreClient.Ope // @public export type PolicySetsEvaluatePoliciesResponse = EvaluatePoliciesResponse; +// @public +export interface PolicySetsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PolicySetsListNextResponse = PolicySetList; + +// @public +export interface PolicySetsListOptionalParams extends coreClient.OperationOptions { + filter?: string; + orderby?: string; + top?: number; +} + +// @public +export type PolicySetsListResponse = PolicySetList; + // @public export type PolicyStatus = string; @@ -1950,9 +2472,6 @@ export interface RdpConnection { contents?: string; } -// @public -export type ReportingCycleType = string; - // @public export interface ResizeLabVirtualMachineProperties { size?: string; @@ -1961,7 +2480,7 @@ export interface ResizeLabVirtualMachineProperties { // @public export interface Resource { readonly id?: string; - location?: string; + location: string; readonly name?: string; tags?: { [propertyName: string]: string; @@ -1978,33 +2497,47 @@ export interface RetargetScheduleProperties { // @public export interface Schedule extends Resource { readonly createdDate?: Date; - dailyRecurrence?: DayDetails; - hourlyRecurrence?: HourDetails; - notificationSettings?: NotificationSettings; + emailRecipient?: string; + minute?: number; + notificationLocale?: string; readonly provisioningState?: string; - status?: EnableStatus; + statusPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesStatus?: EnableStatus; + readonly systemData?: SystemData; targetResourceId?: string; taskType?: string; + timeInMinutes?: number; + timePropertiesDailyRecurrenceTime?: string; + timePropertiesWeeklyRecurrenceTime?: string; timeZoneId?: string; readonly uniqueIdentifier?: string; - weeklyRecurrence?: WeekDetails; + webhookUrl?: string; + weekdays?: string[]; } // @public export interface ScheduleCreationParameter { - dailyRecurrence?: DayDetails; - hourlyRecurrence?: HourDetails; + readonly createdDate?: Date; + emailRecipient?: string; readonly location?: string; + minute?: number; name?: string; - notificationSettings?: NotificationSettings; - status?: EnableStatus; + notificationLocale?: string; + readonly provisioningState?: string; + statusPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesStatus?: EnableStatus; tags?: { [propertyName: string]: string; }; targetResourceId?: string; taskType?: string; + timeInMinutes?: number; + timePropertiesDailyRecurrenceTime?: string; + timePropertiesWeeklyRecurrenceTime?: string; timeZoneId?: string; - weeklyRecurrence?: WeekDetails; + readonly uniqueIdentifier?: string; + webhookUrl?: string; + weekdays?: string[]; } // @public @@ -2019,7 +2552,7 @@ export interface ScheduleList { // @public export interface Schedules { - beginExecute(resourceGroupName: string, labName: string, name: string, options?: SchedulesExecuteOptionalParams): Promise, void>>; + beginExecute(resourceGroupName: string, labName: string, name: string, options?: SchedulesExecuteOptionalParams): Promise, void>>; beginExecuteAndWait(resourceGroupName: string, labName: string, name: string, options?: SchedulesExecuteOptionalParams): Promise; createOrUpdate(resourceGroupName: string, labName: string, name: string, schedule: Schedule, options?: SchedulesCreateOrUpdateOptionalParams): Promise; delete(resourceGroupName: string, labName: string, name: string, options?: SchedulesDeleteOptionalParams): Promise; @@ -2040,6 +2573,14 @@ export type SchedulesCreateOrUpdateResponse = Schedule; export interface SchedulesDeleteOptionalParams extends coreClient.OperationOptions { } +// @public +export interface SchedulesExecuteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface SchedulesExecuteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2070,10 +2611,6 @@ export type SchedulesListApplicableResponse = ScheduleList; // @public export interface SchedulesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2100,6 +2637,7 @@ export type SchedulesUpdateResponse = Schedule; // @public export interface Secret extends Resource { readonly provisioningState?: string; + readonly systemData?: SystemData; readonly uniqueIdentifier?: string; value?: string; } @@ -2116,7 +2654,7 @@ export interface SecretList { // @public export interface Secrets { - beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, secret: Secret, options?: SecretsCreateOrUpdateOptionalParams): Promise, SecretsCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, secret: Secret, options?: SecretsCreateOrUpdateOptionalParams): Promise, SecretsCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, userName: string, name: string, secret: Secret, options?: SecretsCreateOrUpdateOptionalParams): Promise; delete(resourceGroupName: string, labName: string, userName: string, name: string, options?: SecretsDeleteOptionalParams): Promise; get(resourceGroupName: string, labName: string, userName: string, name: string, options?: SecretsGetOptionalParams): Promise; @@ -2147,10 +2685,6 @@ export type SecretsGetResponse = Secret; // @public export interface SecretsListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2174,13 +2708,78 @@ export interface SecretsUpdateOptionalParams extends coreClient.OperationOptions // @public export type SecretsUpdateResponse = Secret; +// @public +export interface SecurityProfile { + securityType?: SecurityTypes; + uefiSettings?: UefiSettings; +} + +// @public +export type SecurityTypes = string; + // @public export interface ServiceFabric extends Resource { - readonly applicableSchedule?: ApplicableSchedule; + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; environmentId?: string; externalServiceFabricId?: string; - readonly provisioningState?: string; - readonly uniqueIdentifier?: string; + readonly idPropertiesApplicableScheduleId?: string; + readonly idPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; + readonly idPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; + locationPropertiesApplicableScheduleLocation?: string; + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + readonly namePropertiesApplicableScheduleName?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; + readonly provisioningStatePropertiesProvisioningState?: string; + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + readonly systemData?: SystemData; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + readonly systemDataPropertiesApplicableScheduleSystemData?: SystemData; + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + tagsPropertiesApplicableScheduleTags?: { + [propertyName: string]: string; + }; + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; + readonly typePropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + readonly typePropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + readonly typePropertiesApplicableScheduleType?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; } // @public @@ -2195,13 +2794,13 @@ export interface ServiceFabricList { // @public export interface ServiceFabrics { - beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, serviceFabric: ServiceFabric, options?: ServiceFabricsCreateOrUpdateOptionalParams): Promise, ServiceFabricsCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, userName: string, name: string, serviceFabric: ServiceFabric, options?: ServiceFabricsCreateOrUpdateOptionalParams): Promise, ServiceFabricsCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, userName: string, name: string, serviceFabric: ServiceFabric, options?: ServiceFabricsCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsDeleteOptionalParams): Promise; - beginStart(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsStartOptionalParams): Promise, void>>; + beginStart(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsStartOptionalParams): Promise, void>>; beginStartAndWait(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsStartOptionalParams): Promise; - beginStop(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsStopOptionalParams): Promise, void>>; + beginStop(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsStopOptionalParams): Promise, void>>; beginStopAndWait(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsStopOptionalParams): Promise; get(resourceGroupName: string, labName: string, userName: string, name: string, options?: ServiceFabricsGetOptionalParams): Promise; list(resourceGroupName: string, labName: string, userName: string, options?: ServiceFabricsListOptionalParams): PagedAsyncIterableIterator; @@ -2211,7 +2810,7 @@ export interface ServiceFabrics { // @public export interface ServiceFabricSchedules { - beginExecute(resourceGroupName: string, labName: string, userName: string, serviceFabricName: string, name: string, options?: ServiceFabricSchedulesExecuteOptionalParams): Promise, void>>; + beginExecute(resourceGroupName: string, labName: string, userName: string, serviceFabricName: string, name: string, options?: ServiceFabricSchedulesExecuteOptionalParams): Promise, void>>; beginExecuteAndWait(resourceGroupName: string, labName: string, userName: string, serviceFabricName: string, name: string, options?: ServiceFabricSchedulesExecuteOptionalParams): Promise; createOrUpdate(resourceGroupName: string, labName: string, userName: string, serviceFabricName: string, name: string, schedule: Schedule, options?: ServiceFabricSchedulesCreateOrUpdateOptionalParams): Promise; delete(resourceGroupName: string, labName: string, userName: string, serviceFabricName: string, name: string, options?: ServiceFabricSchedulesDeleteOptionalParams): Promise; @@ -2231,6 +2830,14 @@ export type ServiceFabricSchedulesCreateOrUpdateResponse = Schedule; export interface ServiceFabricSchedulesDeleteOptionalParams extends coreClient.OperationOptions { } +// @public +export interface ServiceFabricSchedulesExecuteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface ServiceFabricSchedulesExecuteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2247,10 +2854,6 @@ export type ServiceFabricSchedulesGetResponse = Schedule; // @public export interface ServiceFabricSchedulesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2283,6 +2886,14 @@ export interface ServiceFabricsCreateOrUpdateOptionalParams extends coreClient.O // @public export type ServiceFabricsCreateOrUpdateResponse = ServiceFabric; +// @public +export interface ServiceFabricsDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface ServiceFabricsDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2306,10 +2917,6 @@ export type ServiceFabricsListApplicableSchedulesResponse = ApplicableSchedule; // @public export interface ServiceFabricsListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2326,12 +2933,28 @@ export interface ServiceFabricsListOptionalParams extends coreClient.OperationOp // @public export type ServiceFabricsListResponse = ServiceFabricList; +// @public +export interface ServiceFabricsStartHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface ServiceFabricsStartOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface ServiceFabricsStopHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface ServiceFabricsStopOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2348,6 +2971,10 @@ export type ServiceFabricsUpdateResponse = ServiceFabric; // @public export interface ServiceRunner extends Resource { identity?: IdentityProperties; + identityUsageType?: string; + readonly provisioningState?: string; + readonly systemData?: SystemData; + readonly uniqueIdentifier?: string; } // @public @@ -2358,9 +2985,11 @@ export interface ServiceRunnerList { // @public export interface ServiceRunners { + beginDelete(resourceGroupName: string, labName: string, name: string, options?: ServiceRunnersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, labName: string, name: string, options?: ServiceRunnersDeleteOptionalParams): Promise; createOrUpdate(resourceGroupName: string, labName: string, name: string, serviceRunner: ServiceRunner, options?: ServiceRunnersCreateOrUpdateOptionalParams): Promise; - delete(resourceGroupName: string, labName: string, name: string, options?: ServiceRunnersDeleteOptionalParams): Promise; get(resourceGroupName: string, labName: string, name: string, options?: ServiceRunnersGetOptionalParams): Promise; + list(resourceGroupName: string, labName: string, options?: ServiceRunnersListOptionalParams): PagedAsyncIterableIterator; } // @public @@ -2370,8 +2999,18 @@ export interface ServiceRunnersCreateOrUpdateOptionalParams extends coreClient.O // @public export type ServiceRunnersCreateOrUpdateResponse = ServiceRunner; +// @public +export interface ServiceRunnersDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface ServiceRunnersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -2382,33 +3021,179 @@ export interface ServiceRunnersGetOptionalParams extends coreClient.OperationOpt export type ServiceRunnersGetResponse = ServiceRunner; // @public -export interface SharedPublicIpAddressConfiguration { - inboundNatRules?: InboundNatRule[]; +export interface ServiceRunnersListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface ShutdownNotificationContent { - delayUrl120?: string; - delayUrl60?: string; - eventType?: string; - guid?: string; - labName?: string; - minutesUntilShutdown?: string; - owner?: string; - resourceGroupName?: string; - skipUrl?: string; - subscriptionId?: string; - text?: string; - vmName?: string; - vmUrl?: string; +export type ServiceRunnersListNextResponse = ServiceRunnerList; + +// @public +export interface ServiceRunnersListOptionalParams extends coreClient.OperationOptions { + filter?: string; + orderby?: string; + top?: number; +} + +// @public +export type ServiceRunnersListResponse = ServiceRunnerList; + +// @public +export interface SharedGalleries { + createOrUpdate(resourceGroupName: string, labName: string, name: string, sharedGallery: SharedGallery, options?: SharedGalleriesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, labName: string, name: string, options?: SharedGalleriesDeleteOptionalParams): Promise; + get(resourceGroupName: string, labName: string, name: string, options?: SharedGalleriesGetOptionalParams): Promise; + list(resourceGroupName: string, labName: string, options?: SharedGalleriesListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, labName: string, name: string, sharedGallery: SharedGalleryFragment, options?: SharedGalleriesUpdateOptionalParams): Promise; +} + +// @public +export interface SharedGalleriesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SharedGalleriesCreateOrUpdateResponse = SharedGallery; + +// @public +export interface SharedGalleriesDeleteOptionalParams extends coreClient.OperationOptions { } +// @public +export interface SharedGalleriesGetOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type SharedGalleriesGetResponse = SharedGallery; + +// @public +export interface SharedGalleriesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SharedGalleriesListNextResponse = SharedGalleryList; + +// @public +export interface SharedGalleriesListOptionalParams extends coreClient.OperationOptions { + expand?: string; + filter?: string; + orderby?: string; + top?: number; +} + +// @public +export type SharedGalleriesListResponse = SharedGalleryList; + +// @public +export interface SharedGalleriesUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SharedGalleriesUpdateResponse = SharedGallery; + +// @public +export interface SharedGallery extends Resource { + allowAllImages?: EnableState; + galleryId?: string; + readonly provisioningState?: string; + readonly systemData?: SystemData; + readonly uniqueIdentifier?: string; +} + +// @public +export interface SharedGalleryFragment extends UpdateResource { +} + +// @public +export interface SharedGalleryList { + nextLink?: string; + value?: SharedGallery[]; +} + +// @public +export interface SharedImage extends Resource { + definitionName?: string; + displayName?: string; + enableState?: EnableState; + imageType?: ImageType; + osType?: OsType; + readonly provisioningState?: string; + readonly systemData?: SystemData; + readonly uniqueIdentifier?: string; + versions?: ImageVersionProperties[]; +} + +// @public +export interface SharedImageFragment extends UpdateResource { +} + +// @public +export interface SharedImageList { + nextLink?: string; + value?: SharedImage[]; +} + +// @public +export interface SharedImages { + createOrUpdate(resourceGroupName: string, labName: string, sharedGalleryName: string, name: string, sharedImage: SharedImage, options?: SharedImagesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, labName: string, sharedGalleryName: string, name: string, options?: SharedImagesDeleteOptionalParams): Promise; + get(resourceGroupName: string, labName: string, sharedGalleryName: string, name: string, options?: SharedImagesGetOptionalParams): Promise; + list(resourceGroupName: string, labName: string, sharedGalleryName: string, options?: SharedImagesListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, labName: string, sharedGalleryName: string, name: string, sharedImage: SharedImageFragment, options?: SharedImagesUpdateOptionalParams): Promise; +} + +// @public +export interface SharedImagesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SharedImagesCreateOrUpdateResponse = SharedImage; + +// @public +export interface SharedImagesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface SharedImagesGetOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type SharedImagesGetResponse = SharedImage; + +// @public +export interface SharedImagesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SharedImagesListNextResponse = SharedImageList; + +// @public +export interface SharedImagesListOptionalParams extends coreClient.OperationOptions { + expand?: string; + filter?: string; + orderby?: string; + top?: number; +} + +// @public +export type SharedImagesListResponse = SharedImageList; + +// @public +export interface SharedImagesUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SharedImagesUpdateResponse = SharedImage; + // @public export type SourceControlType = string; // @public export type StorageType = string; +// @public +export type StorageTypes = string; + // @public export interface Subnet { allowPublicIp?: UsagePermissionType; @@ -2418,37 +3203,36 @@ export interface Subnet { // @public export interface SubnetOverride { + allowedPorts?: Port[]; labSubnetName?: string; resourceId?: string; - sharedPublicIpAddressConfiguration?: SubnetSharedPublicIpAddressConfiguration; useInVmCreationPermission?: UsagePermissionType; usePublicIpAddressPermission?: UsagePermissionType; virtualNetworkPoolName?: string; } // @public -export interface SubnetSharedPublicIpAddressConfiguration { - allowedPorts?: Port[]; -} - -// @public -export interface TargetCostProperties { - costThresholds?: CostThresholdProperties[]; - cycleEndDateTime?: Date; - cycleStartDateTime?: Date; - cycleType?: ReportingCycleType; - status?: TargetCostStatus; - target?: number; +export interface SystemData { + createdAt?: Date; + createdBy?: string; + createdByType?: CreatedByType; + lastModifiedAt?: Date; + lastModifiedBy?: string; + lastModifiedByType?: CreatedByType; } // @public -export type TargetCostStatus = string; +export type TransportProtocol = string; // @public -export type TransportProtocol = string; +export interface UefiSettings { + secureBootEnabled?: boolean; + vTpmEnabled?: boolean; +} // @public export interface UpdateResource { + identity?: IdentityProperties; tags?: { [propertyName: string]: string; }; @@ -2459,10 +3243,16 @@ export type UsagePermissionType = string; // @public export interface User extends Resource { + appId?: string; readonly createdDate?: Date; - identity?: UserIdentity; + keyVaultId?: string; + keyVaultUri?: string; + objectId?: string; + principalId?: string; + principalName?: string; readonly provisioningState?: string; - secretStore?: UserSecretStore; + readonly systemData?: SystemData; + tenantId?: string; readonly uniqueIdentifier?: string; } @@ -2470,15 +3260,6 @@ export interface User extends Resource { export interface UserFragment extends UpdateResource { } -// @public -export interface UserIdentity { - appId?: string; - objectId?: string; - principalId?: string; - principalName?: string; - tenantId?: string; -} - // @public export interface UserList { nextLink?: string; @@ -2487,9 +3268,9 @@ export interface UserList { // @public export interface Users { - beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, user: User, options?: UsersCreateOrUpdateOptionalParams): Promise, UsersCreateOrUpdateResponse>>; - beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, name: string, user: User, options?: UsersCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, labName: string, name: string, options?: UsersDeleteOptionalParams): Promise, void>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, options?: UsersCreateOrUpdateOptionalParams): Promise, UsersCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, name: string, options?: UsersCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, labName: string, name: string, options?: UsersDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, labName: string, name: string, options?: UsersDeleteOptionalParams): Promise; get(resourceGroupName: string, labName: string, name: string, options?: UsersGetOptionalParams): Promise; list(resourceGroupName: string, labName: string, options?: UsersListOptionalParams): PagedAsyncIterableIterator; @@ -2500,21 +3281,24 @@ export interface Users { export interface UsersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; + user?: User; } // @public export type UsersCreateOrUpdateResponse = User; // @public -export interface UsersDeleteOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; +export interface UsersDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; } // @public -export interface UserSecretStore { - keyVaultId?: string; - keyVaultUri?: string; +export interface UsersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public @@ -2527,10 +3311,6 @@ export type UsersGetResponse = User; // @public export interface UsersListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2559,32 +3339,33 @@ export type VirtualMachineCreationSource = string; // @public export interface VirtualMachines { - beginAddDataDisk(resourceGroupName: string, labName: string, name: string, dataDiskProperties: DataDiskProperties, options?: VirtualMachinesAddDataDiskOptionalParams): Promise, void>>; + beginAddDataDisk(resourceGroupName: string, labName: string, name: string, dataDiskProperties: DataDiskProperties, options?: VirtualMachinesAddDataDiskOptionalParams): Promise, void>>; beginAddDataDiskAndWait(resourceGroupName: string, labName: string, name: string, dataDiskProperties: DataDiskProperties, options?: VirtualMachinesAddDataDiskOptionalParams): Promise; - beginApplyArtifacts(resourceGroupName: string, labName: string, name: string, applyArtifactsRequest: ApplyArtifactsRequest, options?: VirtualMachinesApplyArtifactsOptionalParams): Promise, void>>; + beginApplyArtifacts(resourceGroupName: string, labName: string, name: string, applyArtifactsRequest: ApplyArtifactsRequest, options?: VirtualMachinesApplyArtifactsOptionalParams): Promise, void>>; beginApplyArtifactsAndWait(resourceGroupName: string, labName: string, name: string, applyArtifactsRequest: ApplyArtifactsRequest, options?: VirtualMachinesApplyArtifactsOptionalParams): Promise; - beginClaim(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesClaimOptionalParams): Promise, void>>; + beginClaim(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesClaimOptionalParams): Promise, void>>; beginClaimAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesClaimOptionalParams): Promise; - beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, labVirtualMachine: LabVirtualMachine, options?: VirtualMachinesCreateOrUpdateOptionalParams): Promise, VirtualMachinesCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, labVirtualMachine: LabVirtualMachine, options?: VirtualMachinesCreateOrUpdateOptionalParams): Promise, VirtualMachinesCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, name: string, labVirtualMachine: LabVirtualMachine, options?: VirtualMachinesCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesDeleteOptionalParams): Promise; - beginDetachDataDisk(resourceGroupName: string, labName: string, name: string, detachDataDiskProperties: DetachDataDiskProperties, options?: VirtualMachinesDetachDataDiskOptionalParams): Promise, void>>; + beginDetachDataDisk(resourceGroupName: string, labName: string, name: string, detachDataDiskProperties: DetachDataDiskProperties, options?: VirtualMachinesDetachDataDiskOptionalParams): Promise, void>>; beginDetachDataDiskAndWait(resourceGroupName: string, labName: string, name: string, detachDataDiskProperties: DetachDataDiskProperties, options?: VirtualMachinesDetachDataDiskOptionalParams): Promise; - beginRedeploy(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesRedeployOptionalParams): Promise, void>>; + beginRedeploy(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesRedeployOptionalParams): Promise, void>>; beginRedeployAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesRedeployOptionalParams): Promise; - beginResize(resourceGroupName: string, labName: string, name: string, resizeLabVirtualMachineProperties: ResizeLabVirtualMachineProperties, options?: VirtualMachinesResizeOptionalParams): Promise, void>>; + beginResize(resourceGroupName: string, labName: string, name: string, resizeLabVirtualMachineProperties: ResizeLabVirtualMachineProperties, options?: VirtualMachinesResizeOptionalParams): Promise, void>>; beginResizeAndWait(resourceGroupName: string, labName: string, name: string, resizeLabVirtualMachineProperties: ResizeLabVirtualMachineProperties, options?: VirtualMachinesResizeOptionalParams): Promise; - beginRestart(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesRestartOptionalParams): Promise, void>>; + beginRestart(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesRestartOptionalParams): Promise, void>>; beginRestartAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesRestartOptionalParams): Promise; - beginStart(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesStartOptionalParams): Promise, void>>; + beginStart(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesStartOptionalParams): Promise, void>>; beginStartAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesStartOptionalParams): Promise; - beginStop(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesStopOptionalParams): Promise, void>>; + beginStop(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesStopOptionalParams): Promise, void>>; beginStopAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesStopOptionalParams): Promise; - beginTransferDisks(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesTransferDisksOptionalParams): Promise, void>>; + beginTransferDisks(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesTransferDisksOptionalParams): Promise, void>>; beginTransferDisksAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesTransferDisksOptionalParams): Promise; - beginUnClaim(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesUnClaimOptionalParams): Promise, void>>; + beginUnClaim(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesUnClaimOptionalParams): Promise, void>>; beginUnClaimAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesUnClaimOptionalParams): Promise; + clearArtifactResults(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesClearArtifactResultsOptionalParams): Promise; get(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesGetOptionalParams): Promise; getRdpFileContents(resourceGroupName: string, labName: string, name: string, options?: VirtualMachinesGetRdpFileContentsOptionalParams): Promise; list(resourceGroupName: string, labName: string, options?: VirtualMachinesListOptionalParams): PagedAsyncIterableIterator; @@ -2592,12 +3373,28 @@ export interface VirtualMachines { update(resourceGroupName: string, labName: string, name: string, labVirtualMachine: LabVirtualMachineFragment, options?: VirtualMachinesUpdateOptionalParams): Promise; } +// @public +export interface VirtualMachinesAddDataDiskHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesAddDataDiskOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesApplyArtifactsHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesApplyArtifactsOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2606,7 +3403,7 @@ export interface VirtualMachinesApplyArtifactsOptionalParams extends coreClient. // @public export interface VirtualMachineSchedules { - beginExecute(resourceGroupName: string, labName: string, virtualMachineName: string, name: string, options?: VirtualMachineSchedulesExecuteOptionalParams): Promise, void>>; + beginExecute(resourceGroupName: string, labName: string, virtualMachineName: string, name: string, options?: VirtualMachineSchedulesExecuteOptionalParams): Promise, void>>; beginExecuteAndWait(resourceGroupName: string, labName: string, virtualMachineName: string, name: string, options?: VirtualMachineSchedulesExecuteOptionalParams): Promise; createOrUpdate(resourceGroupName: string, labName: string, virtualMachineName: string, name: string, schedule: Schedule, options?: VirtualMachineSchedulesCreateOrUpdateOptionalParams): Promise; delete(resourceGroupName: string, labName: string, virtualMachineName: string, name: string, options?: VirtualMachineSchedulesDeleteOptionalParams): Promise; @@ -2626,6 +3423,14 @@ export type VirtualMachineSchedulesCreateOrUpdateResponse = Schedule; export interface VirtualMachineSchedulesDeleteOptionalParams extends coreClient.OperationOptions { } +// @public +export interface VirtualMachineSchedulesExecuteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachineSchedulesExecuteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2642,10 +3447,6 @@ export type VirtualMachineSchedulesGetResponse = Schedule; // @public export interface VirtualMachineSchedulesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2669,12 +3470,24 @@ export interface VirtualMachineSchedulesUpdateOptionalParams extends coreClient. // @public export type VirtualMachineSchedulesUpdateResponse = Schedule; +// @public +export interface VirtualMachinesClaimHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesClaimOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesClearArtifactResultsOptionalParams extends coreClient.OperationOptions { +} + // @public export interface VirtualMachinesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2684,12 +3497,28 @@ export interface VirtualMachinesCreateOrUpdateOptionalParams extends coreClient. // @public export type VirtualMachinesCreateOrUpdateResponse = LabVirtualMachine; +// @public +export interface VirtualMachinesDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesDetachDataDiskHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesDetachDataDiskOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2720,10 +3549,6 @@ export type VirtualMachinesListApplicableSchedulesResponse = ApplicableSchedule; // @public export interface VirtualMachinesListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2740,42 +3565,98 @@ export interface VirtualMachinesListOptionalParams extends coreClient.OperationO // @public export type VirtualMachinesListResponse = LabVirtualMachineList; +// @public +export interface VirtualMachinesRedeployHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesRedeployOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesResizeHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesResizeOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesRestartHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesRestartOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesStartHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesStartOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesStopHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesStopOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesTransferDisksHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesTransferDisksOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface VirtualMachinesUnClaimHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualMachinesUnClaimOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2798,6 +3679,7 @@ export interface VirtualNetwork extends Resource { readonly externalSubnets?: ExternalSubnet[]; readonly provisioningState?: string; subnetOverrides?: SubnetOverride[]; + readonly systemData?: SystemData; readonly uniqueIdentifier?: string; } @@ -2813,9 +3695,9 @@ export interface VirtualNetworkList { // @public export interface VirtualNetworks { - beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, virtualNetwork: VirtualNetwork, options?: VirtualNetworksCreateOrUpdateOptionalParams): Promise, VirtualNetworksCreateOrUpdateResponse>>; + beginCreateOrUpdate(resourceGroupName: string, labName: string, name: string, virtualNetwork: VirtualNetwork, options?: VirtualNetworksCreateOrUpdateOptionalParams): Promise, VirtualNetworksCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, labName: string, name: string, virtualNetwork: VirtualNetwork, options?: VirtualNetworksCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, labName: string, name: string, options?: VirtualNetworksDeleteOptionalParams): Promise, void>>; + beginDelete(resourceGroupName: string, labName: string, name: string, options?: VirtualNetworksDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, labName: string, name: string, options?: VirtualNetworksDeleteOptionalParams): Promise; get(resourceGroupName: string, labName: string, name: string, options?: VirtualNetworksGetOptionalParams): Promise; list(resourceGroupName: string, labName: string, options?: VirtualNetworksListOptionalParams): PagedAsyncIterableIterator; @@ -2831,6 +3713,14 @@ export interface VirtualNetworksCreateOrUpdateOptionalParams extends coreClient. // @public export type VirtualNetworksCreateOrUpdateResponse = VirtualNetwork; +// @public +export interface VirtualNetworksDeleteHeaders { + // (undocumented) + azureAsyncOperation?: string; + // (undocumented) + location?: string; +} + // @public export interface VirtualNetworksDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2847,10 +3737,6 @@ export type VirtualNetworksGetResponse = VirtualNetwork; // @public export interface VirtualNetworksListNextOptionalParams extends coreClient.OperationOptions { - expand?: string; - filter?: string; - orderby?: string; - top?: number; } // @public @@ -2875,16 +3761,11 @@ export interface VirtualNetworksUpdateOptionalParams extends coreClient.Operatio export type VirtualNetworksUpdateResponse = VirtualNetwork; // @public -export interface WeekDetails { +export interface WeekDetailsFragment { time?: string; weekdays?: string[]; } -// @public -export interface WindowsOsInfo { - windowsOsState?: WindowsOsState; -} - // @public export type WindowsOsState = string; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/devTestLabsClient.ts b/sdk/devtestlabs/arm-devtestlabs/src/devTestLabsClient.ts index 43bf5698cbf2..e973e8094626 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/devTestLabsClient.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/devTestLabsClient.ts @@ -22,7 +22,6 @@ import { ArtifactSourcesImpl, ArmTemplatesImpl, ArtifactsImpl, - CostsImpl, CustomImagesImpl, FormulasImpl, GalleryImagesImpl, @@ -30,7 +29,10 @@ import { PolicySetsImpl, PoliciesImpl, SchedulesImpl, + LabSecretsImpl, ServiceRunnersImpl, + SharedGalleriesImpl, + SharedImagesImpl, UsersImpl, DisksImpl, EnvironmentsImpl, @@ -39,7 +41,8 @@ import { ServiceFabricSchedulesImpl, VirtualMachinesImpl, VirtualMachineSchedulesImpl, - VirtualNetworksImpl + VirtualNetworksImpl, + BastionHostsImpl } from "./operations"; import { ProviderOperations, @@ -49,7 +52,6 @@ import { ArtifactSources, ArmTemplates, Artifacts, - Costs, CustomImages, Formulas, GalleryImages, @@ -57,7 +59,10 @@ import { PolicySets, Policies, Schedules, + LabSecrets, ServiceRunners, + SharedGalleries, + SharedImages, Users, Disks, Environments, @@ -66,31 +71,46 @@ import { ServiceFabricSchedules, VirtualMachines, VirtualMachineSchedules, - VirtualNetworks + VirtualNetworks, + BastionHosts } from "./operationsInterfaces"; import { DevTestLabsClientOptionalParams } from "./models"; export class DevTestLabsClient extends coreClient.ServiceClient { $host: string; apiVersion: string; - subscriptionId: string; + subscriptionId?: string; /** * Initializes a new instance of the DevTestLabsClient class. * @param credentials Subscription credentials which uniquely identify client subscription. - * @param subscriptionId The subscription ID. + * @param subscriptionId The ID of the target subscription. The value must be an UUID. * @param options The parameter options */ constructor( credentials: coreAuth.TokenCredential, subscriptionId: string, options?: DevTestLabsClientOptionalParams + ); + constructor( + credentials: coreAuth.TokenCredential, + options?: DevTestLabsClientOptionalParams + ); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionIdOrOptions?: DevTestLabsClientOptionalParams | string, + options?: DevTestLabsClientOptionalParams ) { if (credentials === undefined) { throw new Error("'credentials' cannot be null"); } - if (subscriptionId === undefined) { - throw new Error("'subscriptionId' cannot be null"); + + let subscriptionId: string | undefined; + + if (typeof subscriptionIdOrOptions === "string") { + subscriptionId = subscriptionIdOrOptions; + } else if (typeof subscriptionIdOrOptions === "object") { + options = subscriptionIdOrOptions; } // Initializing default values for options @@ -102,7 +122,7 @@ export class DevTestLabsClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-devtestlabs/4.1.1`; + const packageDetails = `azsdk-js-arm-devtestlabs/5.0.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -155,7 +175,7 @@ export class DevTestLabsClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2018-09-15"; + this.apiVersion = options.apiVersion || "2021-09-01"; this.providerOperations = new ProviderOperationsImpl(this); this.labs = new LabsImpl(this); this.operations = new OperationsImpl(this); @@ -163,7 +183,6 @@ export class DevTestLabsClient extends coreClient.ServiceClient { this.artifactSources = new ArtifactSourcesImpl(this); this.armTemplates = new ArmTemplatesImpl(this); this.artifacts = new ArtifactsImpl(this); - this.costs = new CostsImpl(this); this.customImages = new CustomImagesImpl(this); this.formulas = new FormulasImpl(this); this.galleryImages = new GalleryImagesImpl(this); @@ -171,7 +190,10 @@ export class DevTestLabsClient extends coreClient.ServiceClient { this.policySets = new PolicySetsImpl(this); this.policies = new PoliciesImpl(this); this.schedules = new SchedulesImpl(this); + this.labSecrets = new LabSecretsImpl(this); this.serviceRunners = new ServiceRunnersImpl(this); + this.sharedGalleries = new SharedGalleriesImpl(this); + this.sharedImages = new SharedImagesImpl(this); this.users = new UsersImpl(this); this.disks = new DisksImpl(this); this.environments = new EnvironmentsImpl(this); @@ -181,6 +203,7 @@ export class DevTestLabsClient extends coreClient.ServiceClient { this.virtualMachines = new VirtualMachinesImpl(this); this.virtualMachineSchedules = new VirtualMachineSchedulesImpl(this); this.virtualNetworks = new VirtualNetworksImpl(this); + this.bastionHosts = new BastionHostsImpl(this); this.addCustomApiVersionPolicy(options.apiVersion); } @@ -219,7 +242,6 @@ export class DevTestLabsClient extends coreClient.ServiceClient { artifactSources: ArtifactSources; armTemplates: ArmTemplates; artifacts: Artifacts; - costs: Costs; customImages: CustomImages; formulas: Formulas; galleryImages: GalleryImages; @@ -227,7 +249,10 @@ export class DevTestLabsClient extends coreClient.ServiceClient { policySets: PolicySets; policies: Policies; schedules: Schedules; + labSecrets: LabSecrets; serviceRunners: ServiceRunners; + sharedGalleries: SharedGalleries; + sharedImages: SharedImages; users: Users; disks: Disks; environments: Environments; @@ -237,4 +262,5 @@ export class DevTestLabsClient extends coreClient.ServiceClient { virtualMachines: VirtualMachines; virtualMachineSchedules: VirtualMachineSchedules; virtualNetworks: VirtualNetworks; + bastionHosts: BastionHosts; } diff --git a/sdk/devtestlabs/arm-devtestlabs/src/lroImpl.ts b/sdk/devtestlabs/arm-devtestlabs/src/lroImpl.ts index 518d5f053b4e..dd803cd5e28c 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/lroImpl.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/lroImpl.ts @@ -6,29 +6,37 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AbortSignalLike } from "@azure/abort-controller"; import { LongRunningOperation, LroResponse } from "@azure/core-lro"; -export class LroImpl implements LongRunningOperation { - constructor( - private sendOperationFn: (args: any, spec: any) => Promise>, - private args: Record, - private spec: { - readonly requestBody?: unknown; - readonly path?: string; - readonly httpMethod: string; - } & Record, - public requestPath: string = spec.path!, - public requestMethod: string = spec.httpMethod - ) {} - public async sendInitialRequest(): Promise> { - return this.sendOperationFn(this.args, this.spec); - } - public async sendPollRequest(path: string): Promise> { - const { requestBody, ...restSpec } = this.spec; - return this.sendOperationFn(this.args, { - ...restSpec, - path, - httpMethod: "GET" - }); - } +export function createLroSpec(inputs: { + sendOperationFn: (args: any, spec: any) => Promise>; + args: Record; + spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record; +}): LongRunningOperation { + const { args, spec, sendOperationFn } = inputs; + return { + requestMethod: spec.httpMethod, + requestPath: spec.path!, + sendInitialRequest: () => sendOperationFn(args, spec), + sendPollRequest: ( + path: string, + options?: { abortSignal?: AbortSignalLike } + ) => { + const { requestBody, ...restSpec } = spec; + return sendOperationFn(args, { + ...restSpec, + httpMethod: "GET", + path, + abortSignal: options?.abortSignal + }); + } + }; } diff --git a/sdk/devtestlabs/arm-devtestlabs/src/models/index.ts b/sdk/devtestlabs/arm-devtestlabs/src/models/index.ts index 5ed843f48570..364b6f96ab2d 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/models/index.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/models/index.ts @@ -57,67 +57,65 @@ export interface CloudErrorBody { details?: CloudErrorBody[]; } -/** The response of a list operation. */ +/** Contains a list of labs and their properties */ export interface LabList { - /** Results of the list operation. */ + /** List of labs and their properties */ value?: Lab[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** Properties of a lab's announcement banner */ -export interface LabAnnouncementProperties { - /** The plain text title for the lab announcement */ - title?: string; - /** The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. */ - markdown?: string; - /** Is the lab announcement active/enabled at this time? */ - enabled?: EnableStatus; - /** The time at which the announcement expires (null for never) */ - expirationDate?: Date; - /** Has this announcement expired? */ - expired?: boolean; - /** - * The provisioning status of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly provisioningState?: string; - /** - * The unique immutable identifier of a resource (Guid). - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly uniqueIdentifier?: string; -} - -/** Properties of a lab's support banner */ -export interface LabSupportProperties { - /** Is the lab support banner active/enabled at this time? */ - enabled?: EnableStatus; - /** The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. */ - markdown?: string; -} - -/** An Azure resource. */ +/** Properties of a managed identity */ +export interface IdentityProperties { + /** Type of identity (SystemAssigned, UserAssigned, None) */ + type?: ManagedIdentityType; + /** The principal id of resource identity. */ + principalId?: string; + /** The tenant identifier of resource. */ + tenantId?: string; + /** The client secret URL of the identity. */ + clientSecretUrl?: string; + /** If Type is 'UserAssigned': List of user assigned identities. */ + userAssignedIdentities?: { [propertyName: string]: Record }; +} + +/** Metadata pertaining to creation and last modification of the resource. */ +export interface SystemData { + /** The identity that created the resource. */ + createdBy?: string; + /** The type of identity that created the resource. */ + createdByType?: CreatedByType; + /** The timestamp of resource creation (UTC). */ + createdAt?: Date; + /** The identity that last modified the resource. */ + lastModifiedBy?: string; + /** The type of identity that last modified the resource. */ + lastModifiedByType?: CreatedByType; + /** The timestamp of resource last modification (UTC) */ + lastModifiedAt?: Date; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ export interface Resource { /** - * The identifier of the resource. + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The name of the resource. + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The type of the resource. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The location of the resource. */ - location?: string; - /** The tags of the resource. */ + /** Resource tags. */ tags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + location: string; } /** An Operation Result */ @@ -126,73 +124,33 @@ export interface OperationResult { status?: string; /** The status code for the operation. */ statusCode?: HttpStatusCode; - /** Error details for the operation in case of a failure. */ - error?: OperationError; -} - -/** Error details for the operation in case of a failure. */ -export interface OperationError { /** The error code of the operation error. */ code?: string; /** The error message of the operation error. */ message?: string; } -/** The response of a list operation. */ +/** Contains a list of schedules and their properties */ export interface ScheduleList { - /** Results of the list operation. */ + /** List of schedules and their properties */ value?: Schedule[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** Properties of a weekly schedule. */ -export interface WeekDetails { - /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ - weekdays?: string[]; - /** The time of the day the schedule will occur. */ - time?: string; -} - -/** Properties of a daily schedule. */ -export interface DayDetails { - /** The time of day the schedule will occur. */ - time?: string; -} - -/** Properties of an hourly schedule. */ -export interface HourDetails { - /** Minutes of the hour the schedule will run. */ - minute?: number; -} - -/** Notification settings for a schedule. */ -export interface NotificationSettings { - /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ - status?: EnableStatus; - /** Time in minutes before event at which notification will be sent. */ - timeInMinutes?: number; - /** The webhook URL to which the notification will be sent. */ - webhookUrl?: string; - /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ - emailRecipient?: string; - /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ - notificationLocale?: string; -} - -/** The response of a list operation. */ +/** Contains a list of artifactSources and their properties */ export interface ArtifactSourceList { - /** Results of the list operation. */ + /** List of artifactSources and their properties */ value?: ArtifactSource[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** The response of a list operation. */ +/** Contains a list of armTemplates and their properties */ export interface ArmTemplateList { - /** Results of the list operation. */ + /** List of armTemplates and their properties */ value?: ArmTemplate[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } @@ -204,11 +162,11 @@ export interface ParametersValueFileInfo { parametersValueInfo?: Record; } -/** The response of a list operation. */ +/** Contains a list of artifacts and their properties */ export interface ArtifactList { - /** Results of the list operation. */ + /** List of artifacts and their properties */ value?: Artifact[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } @@ -244,122 +202,18 @@ export interface ArmTemplateInfo { export interface UpdateResource { /** The tags of the resource. */ tags?: { [propertyName: string]: string }; + /** The identity of the resource. */ + identity?: IdentityProperties; } -/** Properties of a cost target. */ -export interface TargetCostProperties { - /** Target cost status */ - status?: TargetCostStatus; - /** Lab target cost */ - target?: number; - /** Cost thresholds. */ - costThresholds?: CostThresholdProperties[]; - /** Reporting cycle start date. */ - cycleStartDateTime?: Date; - /** Reporting cycle end date. */ - cycleEndDateTime?: Date; - /** Reporting cycle type. */ - cycleType?: ReportingCycleType; -} - -/** Properties of a cost threshold item. */ -export interface CostThresholdProperties { - /** The ID of the cost threshold item. */ - thresholdId?: string; - /** The value of the percentage cost threshold. */ - percentageThreshold?: PercentageCostThresholdProperties; - /** Indicates whether this threshold will be displayed on cost charts. */ - displayOnChart?: CostThresholdStatus; - /** Indicates whether notifications will be sent when this threshold is exceeded. */ - sendNotificationWhenExceeded?: CostThresholdStatus; - /** Indicates the datetime when notifications were last sent for this threshold. */ - notificationSent?: string; -} - -/** Properties of a percentage cost threshold. */ -export interface PercentageCostThresholdProperties { - /** The cost threshold value. */ - thresholdValue?: number; -} - -/** The properties of the cost summary. */ -export interface LabCostSummaryProperties { - /** The cost component of the cost item. */ - estimatedLabCost?: number; -} - -/** The properties of a lab cost item. */ -export interface LabCostDetailsProperties { - /** The date of the cost item. */ - date?: Date; - /** The cost component of the cost item. */ - cost?: number; - /** The type of the cost. */ - costType?: CostType; -} - -/** The properties of a resource cost item. */ -export interface LabResourceCostProperties { - /** The name of the resource. */ - resourcename?: string; - /** The unique identifier of the resource. */ - resourceUId?: string; - /** The cost component of the resource cost item. */ - resourceCost?: number; - /** The logical resource type (ex. virtualmachine, storageaccount) */ - resourceType?: string; - /** The owner of the resource (ex. janedoe@microsoft.com) */ - resourceOwner?: string; - /** The category of the resource (ex. Premium_LRS, Standard_DS1) */ - resourcePricingTier?: string; - /** The status of the resource (ex. Active) */ - resourceStatus?: string; - /** The ID of the resource */ - resourceId?: string; - /** The ID of the external resource */ - externalResourceId?: string; -} - -/** The response of a list operation. */ +/** Contains a list of customImages and their properties */ export interface CustomImageList { - /** Results of the list operation. */ + /** List of customImages and their properties */ value?: CustomImage[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** Properties for creating a custom image from a virtual machine. */ -export interface CustomImagePropertiesFromVm { - /** The source vm identifier. */ - sourceVmId?: string; - /** The Windows OS information of the VM. */ - windowsOsInfo?: WindowsOsInfo; - /** The Linux OS information of the VM. */ - linuxOsInfo?: LinuxOsInfo; -} - -/** Information about a Windows OS. */ -export interface WindowsOsInfo { - /** The state of the Windows OS (i.e. NonSysprepped, SysprepRequested, SysprepApplied). */ - windowsOsState?: WindowsOsState; -} - -/** Information about a Linux OS. */ -export interface LinuxOsInfo { - /** The state of the Linux OS (i.e. NonDeprovisioned, DeprovisionRequested, DeprovisionApplied). */ - linuxOsState?: LinuxOsState; -} - -/** Properties for creating a custom image from a VHD. */ -export interface CustomImagePropertiesCustom { - /** The image name. */ - imageName?: string; - /** Indicates whether sysprep has been run on the VHD. */ - sysPrep?: boolean; - /** The OS type of the custom image (i.e. Windows, Linux) */ - osType: CustomImageOsType; -} - /** Storage information about the data disks present in the custom image */ export interface DataDiskStorageTypeInfo { /** Disk Lun */ @@ -368,21 +222,11 @@ export interface DataDiskStorageTypeInfo { storageType?: StorageType; } -/** Properties for plan on a custom image. */ -export interface CustomImagePropertiesFromPlan { - /** The id of the plan, equivalent to name of the plan */ - id?: string; - /** The publisher for the plan from the marketplace image the custom image is derived from */ - publisher?: string; - /** The offer for the plan from the marketplace image the custom image is derived from */ - offer?: string; -} - -/** The response of a list operation. */ +/** Contains a list of formulas and their properties */ export interface FormulaList { - /** Results of the list operation. */ + /** List of formulas and their properties */ value?: Formula[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } @@ -394,18 +238,42 @@ export interface LabVirtualMachineCreationParameter { location?: string; /** The tags of the resource. */ tags?: { [propertyName: string]: string }; - /** The number of virtual machine instances to create. */ - bulkCreationParameters?: BulkCreationParameters; /** The notes of the virtual machine. */ notes?: string; /** The object identifier of the owner of the virtual machine. */ ownerObjectId?: string; /** The user principal name of the virtual machine owner. */ ownerUserPrincipalName?: string; + /** + * The object identifier of the creator of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByUserId?: string; + /** + * The email address of creator of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByUser?: string; /** The creation date of the virtual machine. */ - createdDate?: Date; + createdDatePropertiesCreatedDate?: Date; + /** + * The resource identifier (Microsoft.Compute) of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly computeId?: string; /** The custom image identifier of the virtual machine. */ customImageId?: string; + /** The shared gallery image version resource identifier of the virtual machine. */ + galleryImageVersionId?: string; + /** The shared image resource identifier of the virtual machine. */ + sharedImageId?: string; + /** The shared image version for the specified shared image Id. Will use latest if not specified. */ + sharedImageVersion?: string; + /** + * The OS type of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly osTypePropertiesOsType?: string; /** The size of the virtual machine. */ size?: string; /** The user name of the virtual machine. */ @@ -416,6 +284,11 @@ export interface LabVirtualMachineCreationParameter { sshKey?: string; /** Indicates whether this virtual machine uses an SSH key for authentication. */ isAuthenticationWithSshKey?: boolean; + /** + * The fully-qualified domain name of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly fqdn?: string; /** The lab subnet name of the virtual machine. */ labSubnetName?: string; /** The lab virtual network identifier of the virtual machine. */ @@ -424,290 +297,541 @@ export interface LabVirtualMachineCreationParameter { disallowPublicIpAddress?: boolean; /** The artifacts to be installed on the virtual machine. */ artifacts?: ArtifactInstallProperties[]; - /** The Microsoft Azure Marketplace image reference of the virtual machine. */ - galleryImageReference?: GalleryImageReference; /** The id of the plan associated with the virtual machine image */ planId?: string; - /** The network interface properties. */ - networkInterface?: NetworkInterfaceProperties; + /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. */ + osDiskSizeGb?: number; /** The expiration date for VM. */ expirationDate?: Date; /** Indicates whether another user can take ownership of the virtual machine */ allowClaim?: boolean; - /** Storage type to use for virtual machine (i.e. Standard, Premium). */ - storageType?: string; + /** Storage type to use for virtual machine (i.e. Standard, Premium, StandardSSD). */ + storageType?: StorageType; + /** + * Tells source of creation of lab virtual machine. Output property only. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly virtualMachineCreationSource?: VirtualMachineCreationSource; /** The resource ID of the environment that contains this virtual machine, if any. */ environmentId?: string; /** New or existing data disks to attach to the virtual machine after creation */ dataDiskParameters?: DataDiskProperties[]; /** Virtual Machine schedules to be created */ scheduleParameters?: ScheduleCreationParameter[]; -} - -/** Parameters for creating multiple virtual machines as a single action. */ -export interface BulkCreationParameters { - /** The number of virtual machine instances to create. */ - instanceCount?: number; -} - -/** Properties of an artifact. */ -export interface ArtifactInstallProperties { - /** The artifact's identifier. */ - artifactId?: string; - /** The artifact's title. */ - artifactTitle?: string; - /** The parameters of the artifact. */ - parameters?: ArtifactParameterProperties[]; - /** The status of the artifact. */ - status?: string; - /** The status message from the deployment. */ - deploymentStatusMessage?: string; - /** The status message from the virtual machine extension. */ - vmExtensionStatusMessage?: string; - /** The time that the artifact starts to install on the virtual machine. */ - installTime?: Date; -} - -/** Properties of an artifact parameter. */ -export interface ArtifactParameterProperties { - /** The name of the artifact parameter. */ - name?: string; - /** The value of the artifact parameter. */ - value?: string; -} - -/** The reference information for an Azure Marketplace image. */ -export interface GalleryImageReference { - /** The offer of the gallery image. */ - offer?: string; - /** The publisher of the gallery image. */ - publisher?: string; - /** The SKU of the gallery image. */ - sku?: string; - /** The OS type of the gallery image. */ - osType?: string; - /** The version of the gallery image. */ - version?: string; -} - -/** Properties of a network interface. */ -export interface NetworkInterfaceProperties { - /** The resource ID of the virtual network. */ - virtualNetworkId?: string; - /** The resource ID of the sub net. */ - subnetId?: string; - /** The resource ID of the public IP address. */ - publicIpAddressId?: string; - /** The public IP address. */ - publicIpAddress?: string; - /** The private IP address. */ - privateIpAddress?: string; - /** The DNS name. */ - dnsName?: string; - /** The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). */ - rdpAuthority?: string; - /** The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. */ - sshAuthority?: string; - /** The configuration for sharing a public IP address across multiple virtual machines. */ - sharedPublicIpAddressConfiguration?: SharedPublicIpAddressConfiguration; -} - -/** Properties of a virtual machine that determine how it is connected to a load balancer. */ -export interface SharedPublicIpAddressConfiguration { - /** The incoming NAT rules */ - inboundNatRules?: InboundNatRule[]; -} - -/** A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer. */ -export interface InboundNatRule { - /** The transport protocol for the endpoint. */ - transportProtocol?: TransportProtocol; - /** The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. */ - frontendPort?: number; - /** The port to which the external traffic will be redirected. */ - backendPort?: number; -} - -/** Request body for adding a new or existing data disk to a virtual machine. */ -export interface DataDiskProperties { - /** Specifies options to attach a new disk to the virtual machine. */ - attachNewDataDiskOptions?: AttachNewDataDiskOptions; - /** Specifies the existing lab disk id to attach to virtual machine. */ - existingLabDiskId?: string; - /** Caching option for a data disk (i.e. None, ReadOnly, ReadWrite). */ - hostCaching?: HostCachingOptions; -} - -/** Properties to attach new disk to the Virtual Machine. */ -export interface AttachNewDataDiskOptions { - /** Size of the disk to be attached in Gibibytes. */ - diskSizeGiB?: number; - /** The name of the disk to be attached. */ - diskName?: string; - /** The storage type for the disk (i.e. Standard, Premium). */ - diskType?: StorageType; -} - -/** Properties for creating a schedule. */ -export interface ScheduleCreationParameter { - /** The name of the virtual machine or environment */ - name?: string; /** - * The location of the new virtual machine or environment + * Last known compute power state captured in DTL * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly location?: string; - /** The tags of the resource. */ - tags?: { [propertyName: string]: string }; - /** The status of the schedule (i.e. Enabled, Disabled) */ - status?: EnableStatus; - /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ - taskType?: string; - /** If the schedule will occur only some days of the week, specify the weekly recurrence. */ - weeklyRecurrence?: WeekDetails; - /** If the schedule will occur once each day of the week, specify the daily recurrence. */ - dailyRecurrence?: DayDetails; - /** If the schedule will occur multiple times a day, specify the hourly recurrence. */ - hourlyRecurrence?: HourDetails; - /** The time zone ID (e.g. Pacific Standard time). */ - timeZoneId?: string; - /** Notification settings. */ - notificationSettings?: NotificationSettings; - /** The resource ID to which the schedule belongs */ - targetResourceId?: string; -} - -/** Information about a VM from which a formula is to be created. */ -export interface FormulaPropertiesFromVm { - /** The identifier of the VM from which a formula is to be created. */ - labVmId?: string; -} - -/** The response of a list operation. */ -export interface GalleryImageList { - /** Results of the list operation. */ - value?: GalleryImage[]; - /** Link for next set of results. */ - nextLink?: string; -} - -/** The response of a list operation. */ -export interface NotificationChannelList { - /** Results of the list operation. */ - value?: NotificationChannel[]; - /** Link for next set of results. */ - nextLink?: string; -} - -/** An event to be notified for. */ -export interface Event { - /** The event type for which this notification is enabled (i.e. AutoShutdown, Cost) */ - eventName?: NotificationChannelEventType; -} - -/** Properties for generating a Notification. */ -export interface NotifyParameters { - /** The type of event (i.e. AutoShutdown, Cost) */ - eventName?: NotificationChannelEventType; - /** Properties for the notification in json format. */ - jsonPayload?: string; -} - -/** Request body for evaluating a policy set. */ -export interface EvaluatePoliciesRequest { - /** Policies to evaluate. */ - policies?: EvaluatePoliciesProperties[]; -} - -/** Properties for evaluating a policy set. */ -export interface EvaluatePoliciesProperties { - /** The fact name. */ - factName?: string; - /** The fact data. */ - factData?: string; - /** The value offset. */ - valueOffset?: string; - /** The user for which policies will be evaluated */ - userObjectId?: string; + readonly lastKnownPowerState?: string; + /** + * Flag to determine if apply artifacts can be triggered at the time of fetching the document. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly canApplyArtifacts?: boolean; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + /** Option to apply more security protection for VMs. */ + securityProfile?: SecurityProfile; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableScheduleId?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesApplicableScheduleName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesApplicableScheduleType?: string; + /** Resource tags. */ + tagsPropertiesApplicableScheduleTags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableScheduleLocation?: string; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemDataPropertiesApplicableScheduleSystemData?: SystemData; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + /** Resource tags. */ + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; + /** + * The creation date of the schedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + /** Resource tags. */ + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + /** + * The creation date of the schedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + /** The resource ID of the virtual network. */ + virtualNetworkId?: string; + /** The resource ID of the sub net. */ + subnetId?: string; + /** The resource ID of the public IP address. */ + publicIpAddressId?: string; + /** The public IP address. */ + publicIpAddress?: string; + /** The private IP address. */ + privateIpAddress?: string; + /** The DNS name. */ + dnsName?: string; + /** The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). */ + rdpAuthority?: string; + /** The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. */ + sshAuthority?: string; + /** The incoming NAT rules */ + inboundNatRules?: InboundNatRule[]; + /** Gets the statuses of the virtual machine. */ + statuses?: ComputeVmInstanceViewStatus[]; + /** Gets the OS type of the virtual machine. */ + osTypePropertiesComputeVmOsType?: string; + /** Gets the size of the virtual machine. */ + vmSize?: string; + /** Gets the network interface ID of the virtual machine. */ + networkInterfaceId?: string; + /** Gets OS disk blob uri for the virtual machine. */ + osDiskId?: string; + /** Gets data disks blob uri for the virtual machine. */ + dataDiskIds?: string[]; + /** Gets all data disks attached to the virtual machine. */ + dataDisks?: ComputeDataDisk[]; + /** The offer of the gallery image. */ + offer?: string; + /** The publisher of the gallery image. */ + publisher?: string; + /** The SKU of the gallery image. */ + sku?: string; + /** The OS type of the gallery image. */ + osTypePropertiesGalleryImageReferenceOsType?: string; + /** The version of the gallery image. */ + version?: string; + /** The deployment status of the artifact. */ + deploymentStatus?: string; + /** The total count of the artifacts that were successfully applied. */ + artifactsApplied?: number; + /** The total count of the artifacts that were tentatively applied. */ + totalArtifacts?: number; + /** The number of virtual machine instances to create. */ + instanceCount?: number; } -/** Response body for evaluating a policy set. */ -export interface EvaluatePoliciesResponse { - /** Results of evaluating a policy set. */ - results?: PolicySetResult[]; +/** Properties of an artifact. */ +export interface ArtifactInstallProperties { + /** The artifact's identifier. */ + artifactId?: string; + /** The artifact's title. */ + artifactTitle?: string; + /** The parameters of the artifact. */ + parameters?: ArtifactParameterProperties[]; + /** The status of the artifact. */ + status?: string; + /** The status message from the deployment. */ + deploymentStatusMessage?: string; + /** The status message from the virtual machine extension. */ + vmExtensionStatusMessage?: string; + /** The time that the artifact starts to install on the virtual machine. */ + installTime?: Date; } -/** Result of a policy set evaluation. */ -export interface PolicySetResult { - /** A value indicating whether this policy set evaluation has discovered violations. */ - hasError?: boolean; - /** The list of policy violations. */ - policyViolations?: PolicyViolation[]; +/** Properties of an artifact parameter. */ +export interface ArtifactParameterProperties { + /** The name of the artifact parameter. */ + name?: string; + /** The value of the artifact parameter. */ + value?: string; } -/** Policy violation. */ -export interface PolicyViolation { - /** The code of the policy violation. */ +/** Status information about a virtual machine. */ +export interface ComputeVmInstanceViewStatus { + /** Gets the status Code. */ code?: string; - /** The message of the policy violation. */ + /** Gets the short localizable label for the status. */ + displayStatus?: string; + /** Gets the message associated with the status. */ message?: string; } -/** The response of a list operation. */ -export interface PolicyList { - /** Results of the list operation. */ - value?: Policy[]; - /** Link for next set of results. */ - nextLink?: string; -} - -/** Properties of a managed identity */ -export interface IdentityProperties { - /** Managed identity. */ - type?: ManagedIdentityType; - /** The principal id of resource identity. */ - principalId?: string; - /** The tenant identifier of resource. */ - tenantId?: string; - /** The client secret URL of the identity. */ - clientSecretUrl?: string; +/** A data disks attached to a virtual machine. */ +export interface ComputeDataDisk { + /** Gets data disk name. */ + name?: string; + /** When backed by a blob, the URI of underlying blob. */ + diskUri?: string; + /** When backed by managed disk, this is the ID of the compute disk resource. */ + managedDiskId?: string; + /** Gets data disk size in GiB. */ + diskSizeGiB?: number; } -/** The response of a list operation. */ -export interface UserList { - /** Results of the list operation. */ - value?: User[]; - /** Link for next set of results. */ - nextLink?: string; +/** A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer. */ +export interface InboundNatRule { + /** The transport protocol for the endpoint. */ + transportProtocol?: TransportProtocol; + /** The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. */ + frontendPort?: number; + /** The port to which the external traffic will be redirected. */ + backendPort?: number; } -/** Identity attributes of a lab user. */ -export interface UserIdentity { - /** Set to the principal name / UPN of the client JWT making the request. */ - principalName?: string; - /** Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id. */ - principalId?: string; - /** Set to the tenant ID of the client JWT making the request. */ - tenantId?: string; - /** Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available. */ - objectId?: string; - /** Set to the app Id of the client JWT making the request. */ - appId?: string; +/** Request body for adding a new or existing data disk to a virtual machine. */ +export interface DataDiskProperties { + /** Specifies the existing lab disk id to attach to virtual machine. */ + existingLabDiskId?: string; + /** Caching option for a data disk (i.e. None, ReadOnly, ReadWrite). */ + hostCaching?: HostCachingOptions; + /** Size of the disk to be attached in Gibibytes. */ + diskSizeGiB?: number; + /** The name of the disk to be attached. */ + diskName?: string; + /** The storage type for the disk (i.e. Standard, Premium). */ + diskType?: StorageType; } -/** Properties of a user's secret store. */ -export interface UserSecretStore { - /** The URI of the user's Key vault. */ - keyVaultUri?: string; - /** The ID of the user's Key vault. */ - keyVaultId?: string; +/** Properties for creating a schedule. */ +export interface ScheduleCreationParameter { + /** The name of the virtual machine or environment */ + name?: string; + /** + * The location of the new virtual machine or environment + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly location?: string; + /** The tags of the resource. */ + tags?: { [propertyName: string]: string }; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneId?: string; + /** + * The creation date of the schedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceId?: string; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minute?: number; + /** The time of day the schedule will occur. */ + timePropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesWeeklyRecurrenceTime?: string; +} + +/** The security profile settings for a virtual machine. */ +export interface SecurityProfile { + /** Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.

Default: UefiSettings will not be enabled unless this property is set. */ + securityType?: SecurityTypes; + /** Security settings like secure boot and vTPM. Structure must be null if SecurityType string is null. */ + uefiSettings?: UefiSettings; +} + +/** Security settings like secure boot and vTPM. */ +export interface UefiSettings { + /** Flag to enable or disable secure boot. */ + secureBootEnabled?: boolean; + /** Flag to enable or disable vTPM (virtual Trusted Platform Module). */ + vTpmEnabled?: boolean; +} + +/** Contains a list of galleryImages and their properties */ +export interface GalleryImageList { + /** List of galleryImages and their properties */ + value?: GalleryImage[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Contains a list of notificationChannels and their properties */ +export interface NotificationChannelList { + /** List of notificationChannels and their properties */ + value?: NotificationChannel[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** An event to be notified for. */ +export interface Event { + /** The event type for which this notification is enabled (i.e. AutoShutdown) */ + eventName?: NotificationChannelEventType; +} + +/** Properties for generating a Notification. */ +export interface NotifyParameters { + /** The type of event (i.e. AutoShutdown) */ + eventName?: NotificationChannelEventType; + /** Properties for the notification in json format. */ + jsonPayload?: string; +} + +/** Contains a list of policySets and their properties */ +export interface PolicySetList { + /** + * List of policySets and their properties + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly value?: PolicySet[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Request body for evaluating a policy set. */ +export interface EvaluatePoliciesRequest { + /** Policies to evaluate. */ + policies?: EvaluatePoliciesProperties[]; +} + +/** Properties for evaluating a policy set. */ +export interface EvaluatePoliciesProperties { + /** The fact name. */ + factName?: string; + /** The fact data. */ + factData?: string; + /** The value offset. */ + valueOffset?: string; + /** The user for which policies will be evaluated */ + userObjectId?: string; +} + +/** Response body for evaluating a policy set. */ +export interface EvaluatePoliciesResponse { + /** Results of evaluating a policy set. */ + results?: PolicySetResult[]; +} + +/** Result of a policy set evaluation. */ +export interface PolicySetResult { + /** A value indicating whether this policy set evaluation has discovered violations. */ + hasError?: boolean; + /** The list of policy violations. */ + policyViolations?: PolicyViolation[]; +} + +/** Policy violation. */ +export interface PolicyViolation { + /** The code of the policy violation. */ + code?: string; + /** The message of the policy violation. */ + message?: string; +} + +/** Contains a list of policies and their properties */ +export interface PolicyList { + /** List of policies and their properties */ + value?: Policy[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Contains a list of secrets and their properties */ +export interface LabSecretList { + /** List of secrets and their properties */ + value?: LabSecret[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Contains a list of serviceRunners and their properties */ +export interface ServiceRunnerList { + /** List of serviceRunners and their properties */ + value?: ServiceRunner[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Contains a list of sharedGalleries and their properties */ +export interface SharedGalleryList { + /** List of sharedGalleries and their properties */ + value?: SharedGallery[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Contains a list of sharedImages and their properties */ +export interface SharedImageList { + /** List of sharedImages and their properties */ + value?: SharedImage[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Properties for a shared image version. */ +export interface ImageVersionProperties { + /** Image version name */ + name?: string; } -/** The response of a list operation. */ +/** Contains a list of users and their properties */ +export interface UserList { + /** List of users and their properties */ + value?: User[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + +/** Contains a list of disks and their properties */ export interface DiskList { - /** Results of the list operation. */ + /** List of disks and their properties */ value?: Disk[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } @@ -723,22 +847,14 @@ export interface DetachDiskProperties { leasedByLabVmId?: string; } -/** The response of a list operation. */ +/** Contains a list of environments and their properties */ export interface DtlEnvironmentList { - /** Results of the list operation. */ + /** List of environments and their properties */ value?: DtlEnvironment[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** Properties of an environment deployment. */ -export interface EnvironmentDeploymentProperties { - /** The Azure Resource Manager template's identifier. */ - armTemplateId?: string; - /** The parameters of the Azure Resource Manager template. */ - parameters?: ArmTemplateParameterProperties[]; -} - /** Properties of an Azure Resource Manager template parameter. */ export interface ArmTemplateParameterProperties { /** The name of the template parameter. */ @@ -747,80 +863,30 @@ export interface ArmTemplateParameterProperties { value?: string; } -/** The response of a list operation. */ +/** Contains a list of secrets and their properties */ export interface SecretList { - /** Results of the list operation. */ + /** List of secrets and their properties */ value?: Secret[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** The response of a list operation. */ +/** Contains a list of serviceFabrics and their properties */ export interface ServiceFabricList { - /** Results of the list operation. */ + /** List of serviceFabrics and their properties */ value?: ServiceFabric[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** The response of a list operation. */ +/** Contains a list of virtualMachines and their properties */ export interface LabVirtualMachineList { - /** Results of the list operation. */ + /** List of virtualMachines and their properties */ value?: LabVirtualMachine[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } -/** Properties of an artifact deployment. */ -export interface ArtifactDeploymentStatusProperties { - /** The deployment status of the artifact. */ - deploymentStatus?: string; - /** The total count of the artifacts that were successfully applied. */ - artifactsApplied?: number; - /** The total count of the artifacts that were tentatively applied. */ - totalArtifacts?: number; -} - -/** Properties of a virtual machine returned by the Microsoft.Compute API. */ -export interface ComputeVmProperties { - /** Gets the statuses of the virtual machine. */ - statuses?: ComputeVmInstanceViewStatus[]; - /** Gets the OS type of the virtual machine. */ - osType?: string; - /** Gets the size of the virtual machine. */ - vmSize?: string; - /** Gets the network interface ID of the virtual machine. */ - networkInterfaceId?: string; - /** Gets OS disk blob uri for the virtual machine. */ - osDiskId?: string; - /** Gets data disks blob uri for the virtual machine. */ - dataDiskIds?: string[]; - /** Gets all data disks attached to the virtual machine. */ - dataDisks?: ComputeDataDisk[]; -} - -/** Status information about a virtual machine. */ -export interface ComputeVmInstanceViewStatus { - /** Gets the status Code. */ - code?: string; - /** Gets the short localizable label for the status. */ - displayStatus?: string; - /** Gets the message associated with the status. */ - message?: string; -} - -/** A data disks attached to a virtual machine. */ -export interface ComputeDataDisk { - /** Gets data disk name. */ - name?: string; - /** When backed by a blob, the URI of underlying blob. */ - diskUri?: string; - /** When backed by managed disk, this is the ID of the compute disk resource. */ - managedDiskId?: string; - /** Gets data disk size in GiB. */ - diskSizeGiB?: number; -} - /** Request body for applying artifacts to a virtual machine. */ export interface ApplyArtifactsRequest { /** The list of artifacts to apply. */ @@ -845,11 +911,11 @@ export interface ResizeLabVirtualMachineProperties { size?: string; } -/** The response of a list operation. */ +/** Contains a list of virtualNetworks and their properties */ export interface VirtualNetworkList { - /** Results of the list operation. */ + /** List of virtualNetworks and their properties */ value?: VirtualNetwork[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } @@ -881,14 +947,8 @@ export interface SubnetOverride { useInVmCreationPermission?: UsagePermissionType; /** Indicates whether public IP addresses can be assigned to virtual machines on this subnet (i.e. Allow, Deny). */ usePublicIpAddressPermission?: UsagePermissionType; - /** Properties that virtual machines on this subnet will share. */ - sharedPublicIpAddressConfiguration?: SubnetSharedPublicIpAddressConfiguration; /** The virtual network pool associated with this subnet. */ virtualNetworkPoolName?: string; -} - -/** Configuration for public IP address sharing. */ -export interface SubnetSharedPublicIpAddressConfiguration { /** Backend ports that virtual machines on this subnet are allowed to expose */ allowedPorts?: Port[]; } @@ -901,6 +961,14 @@ export interface Port { backendPort?: number; } +/** Contains a list of bastionHosts and their properties */ +export interface BastionHostList { + /** List of bastionHosts and their properties */ + value?: BastionHost[]; + /** URL to get the next set of operation list results if there are any */ + nextLink?: string; +} + /** The parameters of the export operation. */ export interface ExportResourceUsageParameters { /** The blob storage absolute sas uri with write permission to the container which the usage data needs to be uploaded to. */ @@ -929,11 +997,11 @@ export interface ImportLabVirtualMachineRequest { destinationVirtualMachineName?: string; } -/** The response of a list operation. */ +/** Contains a list of Lab Vhd and their properties */ export interface LabVhdList { - /** Results of the list operation. */ + /** List of Lab Vhd and their properties */ value?: LabVhd[]; - /** Link for next set of results. */ + /** URL to get the next set of operation list results if there are any */ nextLink?: string; } @@ -951,313 +1019,949 @@ export interface RetargetScheduleProperties { targetResourceId?: string; } -/** The response of a list operation. */ -export interface ServiceRunnerList { - /** Results of the list operation. */ - value?: ServiceRunner[]; - /** Link for next set of results. */ - nextLink?: string; +/** Properties for plan on a custom image. */ +export interface CustomImagePropertiesFromPlanFragment { + /** The id of the plan, equivalent to name of the plan */ + id?: string; + /** The publisher for the plan from the marketplace image the custom image is derived from */ + publisher?: string; + /** The offer for the plan from the marketplace image the custom image is derived from */ + offer?: string; } -/** The contents of a shutdown notification. Webhooks can use this type to deserialize the request body when they get notified of an imminent shutdown. */ -export interface ShutdownNotificationContent { - /** The URL to skip auto-shutdown. */ - skipUrl?: string; - /** The URL to delay shutdown by 60 minutes. */ - delayUrl60?: string; - /** The URL to delay shutdown by 2 hours. */ - delayUrl120?: string; - /** The virtual machine to be shut down. */ - vmName?: string; - /** The GUID for the virtual machine to be shut down. */ - guid?: string; - /** The owner of the virtual machine. */ - owner?: string; - /** The URL of the virtual machine. */ - vmUrl?: string; - /** Minutes remaining until shutdown */ - minutesUntilShutdown?: string; - /** The event for which a notification will be sent. */ - eventType?: string; - /** The text for the notification. */ - text?: string; - /** The subscription ID for the schedule. */ - subscriptionId?: string; - /** The resource group name for the schedule. */ - resourceGroupName?: string; - /** The lab for the schedule. */ - labName?: string; +/** Properties of a weekly schedule. */ +export interface WeekDetailsFragment { + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdays?: string[]; + /** The time of the day the schedule will occur. */ + time?: string; } /** A lab. */ export interface Lab extends Resource { /** - * The lab's default storage account. + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** Type of identity (SystemAssigned, UserAssigned, None) */ + typeIdentityType?: ManagedIdentityType; + /** The principal id of resource identity. */ + principalId?: string; + /** The tenant identifier of resource. */ + tenantId?: string; + /** The client secret URL of the identity. */ + clientSecretUrl?: string; + /** If Type is 'UserAssigned': List of user assigned identities. */ + userAssignedIdentities?: { [propertyName: string]: Record }; + /** + * The lab's default storage account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly defaultStorageAccount?: string; + /** + * The lab's default premium storage account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly defaultPremiumStorageAccount?: string; + /** + * The lab's artifact storage account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly artifactsStorageAccount?: string; + /** + * The lab's premium data disk storage account. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly premiumDataDiskStorageAccount?: string; + /** + * The lab's Key vault. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly vaultName?: string; + /** Type of storage used by the lab. It can be either Premium or Standard. Default is Premium. */ + labStorageType?: StorageType; + /** The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user. */ + mandatoryArtifactsResourceIdsLinux?: string[]; + /** The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user. */ + mandatoryArtifactsResourceIdsWindows?: string[]; + /** + * The creation date of the lab. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDate?: Date; + /** + * The setting to enable usage of premium data disks. + * When its value is 'Enabled', creation of standard or premium data disks is allowed. + * When its value is 'Disabled', only creation of standard data disks is allowed. + */ + premiumDataDisks?: PremiumDataDisk; + /** The access rights to be granted to the user when provisioning an environment */ + environmentPermission?: EnvironmentPermission; + /** + * The resource group ID in which all new lab virtual machines will be created. Ex: /subscriptions/subId/resourceGroups/rgName To let DevTest Labs manage resource group creation, set this value to null. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly vmCreationResourceGroup?: string; + /** + * The public IP address for the lab's load balancer. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly publicIpId?: string; + /** + * The load balancer used to for lab VMs that use shared IP address. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly loadBalancerId?: string; + /** + * The Network Security Group attached to the lab VMs Network interfaces to restrict open ports. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly networkSecurityGroupId?: string; + /** Extended properties of the lab used for experimental features */ + extendedProperties?: { [propertyName: string]: string }; + /** Is browser connect enabled for the lab */ + browserConnect?: EnableStatus; + /** Is auto upgrade of CSE disabled for the lab? */ + disableAutoUpgradeCseMinorVersion?: boolean; + /** List of identities which can be used for management of resources. */ + managementIdentities?: { [propertyName: string]: Record }; + /** Indicates whether to create Lab resources (e.g. Storage accounts and Key Vaults) in network isolation. */ + isolateLabResources?: EnableStatus; + /** Default secret for creating virtual machines. */ + defaultSecretName?: string; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + /** Gets or sets resourceId of the disk encryption set to use for enabling encryption at rest. */ + diskEncryptionSetId?: string; + /** Gets or sets the type of key used to encrypt the data of the disk. Possible values include: 'EncryptionAtRestWithPlatformKey', 'EncryptionAtRestWithCustomerKey' */ + typePropertiesEncryptionType?: EncryptionType; + /** Is the lab support banner active/enabled at this time? */ + enabledPropertiesSupportEnabled?: EnableStatus; + /** The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. */ + markdownPropertiesSupportMarkdown?: string; + /** The plain text title for the lab announcement */ + title?: string; + /** The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. */ + markdownPropertiesAnnouncementMarkdown?: string; + /** Is the lab announcement active/enabled at this time? */ + enabledPropertiesAnnouncementEnabled?: EnableStatus; + /** The time at which the announcement expires (null for never) */ + expirationDate?: Date; + /** Has this announcement expired? */ + expired?: boolean; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesAnnouncementProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesAnnouncementUniqueIdentifier?: string; +} + +/** A schedule. */ +export interface Schedule extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneId?: string; + /** + * The creation date of the schedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceId?: string; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minute?: number; + /** The time of day the schedule will occur. */ + timePropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesWeeklyRecurrenceTime?: string; +} + +/** Properties of an artifact source. */ +export interface ArtifactSource extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The artifact source's display name. */ + displayName?: string; + /** The artifact source's URI. */ + uri?: string; + /** The artifact source's type. */ + sourceType?: SourceControlType; + /** The folder containing artifacts. */ + folderPath?: string; + /** The folder containing Azure Resource Manager templates. */ + armTemplateFolderPath?: string; + /** The artifact source's branch reference. */ + branchRef?: string; + /** The security token to authenticate to the artifact source. */ + securityToken?: string; + /** Indicates if the artifact source is enabled (values: Enabled, Disabled). */ + status?: EnableStatus; + /** + * The artifact source's creation date. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDate?: Date; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifier?: string; +} + +/** An Azure Resource Manager template. */ +export interface ArmTemplate extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * The display name of the ARM template. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayName?: string; + /** + * The description of the ARM template. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; + /** + * The publisher of the ARM template. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly publisher?: string; + /** + * The URI to the icon of the ARM template. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly icon?: string; + /** + * The contents of the ARM template. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly contents?: Record; + /** + * The creation date of the armTemplate. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDate?: Date; + /** + * File name and parameter values information from all azuredeploy.*.parameters.json for the ARM template. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly parametersValueFilesInfo?: ParametersValueFileInfo[]; + /** + * Whether or not ARM template is enabled for use by lab user. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly enabled?: boolean; +} + +/** An artifact. */ +export interface Artifact extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * The artifact's title. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly title?: string; + /** + * The artifact's description. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; + /** + * The artifact's publisher. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly publisher?: string; + /** + * The file path to the artifact. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly filePath?: string; + /** + * The URI to the artifact icon. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly icon?: string; + /** + * The artifact's target OS. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly targetOsType?: string; + /** + * The artifact's parameters. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly parameters?: Record; + /** + * The artifact's creation date. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDate?: Date; +} + +/** A custom image. */ +export interface CustomImage extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The description of the custom image. */ + description?: string; + /** The author of the custom image. */ + author?: string; + /** + * The creation date of the custom image. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly defaultStorageAccount?: string; + readonly creationDate?: Date; + /** The Managed Image Id backing the custom image. */ + managedImageId?: string; + /** The Managed Snapshot Id backing the custom image. */ + managedSnapshotId?: string; + /** Storage information about the data disks present in the custom image */ + dataDiskStorageInfo?: DataDiskStorageTypeInfo[]; + /** Whether or not the custom images underlying offer/plan has been enabled for programmatic deployment */ + isPlanAuthorized?: boolean; /** - * The lab's default premium storage account. + * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly defaultPremiumStorageAccount?: string; + readonly provisioningState?: string; /** - * The lab's artifact storage account. + * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly artifactsStorageAccount?: string; + readonly uniqueIdentifier?: string; + /** The id of the plan, equivalent to name of the plan */ + idPropertiesCustomImagePlanId?: string; + /** The publisher for the plan from the marketplace image the custom image is derived from */ + publisher?: string; + /** The offer for the plan from the marketplace image the custom image is derived from */ + offer?: string; + /** The image name. */ + imageName?: string; + /** Indicates whether sysprep has been run on the VHD. */ + sysPrep?: boolean; + /** The OS type of the custom image (i.e. Windows, Linux) */ + osType?: CustomImageOsType; + /** The source vm identifier. */ + sourceVmId?: string; + /** The state of the Linux OS (i.e. NonDeprovisioned, DeprovisionRequested, DeprovisionApplied). */ + linuxOsState?: LinuxOsState; + /** The state of the Windows OS (i.e. NonSysprepped, SysprepRequested, SysprepApplied). */ + windowsOsState?: WindowsOsState; +} + +/** Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level. */ +export interface ApplicableSchedule extends Resource { /** - * The lab's premium data disk storage account. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly premiumDataDiskStorageAccount?: string; + readonly systemData?: SystemData; /** - * The lab's Key vault. + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly vaultName?: string; - /** Type of storage used by the lab. It can be either Premium or Standard. Default is Premium. */ - labStorageType?: StorageType; - /** The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user. */ - mandatoryArtifactsResourceIdsLinux?: string[]; - /** The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user. */ - mandatoryArtifactsResourceIdsWindows?: string[]; + readonly idPropertiesLabVmsStartupId?: string; /** - * The creation date of the lab. + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdDate?: Date; + readonly namePropertiesLabVmsStartupName?: string; /** - * The setting to enable usage of premium data disks. - * When its value is 'Enabled', creation of standard or premium data disks is allowed. - * When its value is 'Disabled', only creation of standard data disks is allowed. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. */ - premiumDataDisks?: PremiumDataDisk; - /** The access rights to be granted to the user when provisioning an environment */ - environmentPermission?: EnvironmentPermission; - /** The properties of any lab announcement associated with this lab */ - announcement?: LabAnnouncementProperties; - /** The properties of any lab support message associated with this lab */ - support?: LabSupportProperties; + readonly typePropertiesLabVmsStartupType?: string; + /** Resource tags. */ + tagsPropertiesLabVmsStartupTags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + locationPropertiesLabVmsStartupLocation?: string; /** - * The resource group in which all new lab virtual machines will be created. To let DevTest Labs manage resource group creation, set this value to null. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly vmCreationResourceGroup?: string; + readonly systemDataPropertiesLabVmsStartupSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesLabVmsStartupPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesLabVmsStartupPropertiesTimeZoneId?: string; /** - * The public IP address for the lab's load balancer. + * The creation date of the schedule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly publicIpId?: string; + readonly createdDatePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesLabVmsStartupPropertiesTargetResourceId?: string; /** - * The load balancer used to for lab VMs that use shared IP address. + * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly loadBalancerId?: string; + readonly provisioningStatePropertiesLabVmsStartupPropertiesProvisioningState?: string; /** - * The Network Security Group attached to the lab VMs Network interfaces to restrict open ports. + * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly networkSecurityGroupId?: string; - /** Extended properties of the lab used for experimental features */ - extendedProperties?: { [propertyName: string]: string }; + readonly uniqueIdentifierPropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; /** - * The provisioning status of the resource. + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: string; + readonly idPropertiesLabVmsShutdownId?: string; /** - * The unique immutable identifier of a resource (Guid). + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly uniqueIdentifier?: string; -} - -/** A schedule. */ -export interface Schedule extends Resource { + readonly namePropertiesLabVmsShutdownName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesLabVmsShutdownType?: string; + /** Resource tags. */ + tagsPropertiesLabVmsShutdownTags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + locationPropertiesLabVmsShutdownLocation?: string; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemDataPropertiesLabVmsShutdownSystemData?: SystemData; /** The status of the schedule (i.e. Enabled, Disabled) */ - status?: EnableStatus; + statusPropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ - taskType?: string; - /** If the schedule will occur only some days of the week, specify the weekly recurrence. */ - weeklyRecurrence?: WeekDetails; - /** If the schedule will occur once each day of the week, specify the daily recurrence. */ - dailyRecurrence?: DayDetails; - /** If the schedule will occur multiple times a day, specify the hourly recurrence. */ - hourlyRecurrence?: HourDetails; + taskTypePropertiesLabVmsShutdownPropertiesTaskType?: string; /** The time zone ID (e.g. Pacific Standard time). */ - timeZoneId?: string; - /** Notification settings. */ - notificationSettings?: NotificationSettings; + timeZoneIdPropertiesLabVmsShutdownPropertiesTimeZoneId?: string; /** * The creation date of the schedule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdDate?: Date; + readonly createdDatePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; /** The resource ID to which the schedule belongs */ - targetResourceId?: string; + targetResourceIdPropertiesLabVmsShutdownPropertiesTargetResourceId?: string; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: string; + readonly provisioningStatePropertiesLabVmsShutdownPropertiesProvisioningState?: string; /** * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly uniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; } -/** Properties of an artifact source. */ -export interface ArtifactSource extends Resource { - /** The artifact source's display name. */ - displayName?: string; - /** The artifact source's URI. */ - uri?: string; - /** The artifact source's type. */ - sourceType?: SourceControlType; - /** The folder containing artifacts. */ - folderPath?: string; - /** The folder containing Azure Resource Manager templates. */ - armTemplateFolderPath?: string; - /** The artifact source's branch reference. */ - branchRef?: string; - /** The security token to authenticate to the artifact source. */ - securityToken?: string; - /** Indicates if the artifact source is enabled (values: Enabled, Disabled). */ - status?: EnableStatus; +/** A formula for creating a VM, specifying an image base and other parameters */ +export interface Formula extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** The description of the formula. */ + description?: string; + /** + * The author of the formula. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly author?: string; + /** The OS type of the formula. */ + osTypePropertiesOsType?: string; + /** + * The creation date of the formula. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly creationDate?: Date; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + /** The identifier of the VM from which a formula is to be created. */ + labVmId?: string; + /** The name of the virtual machine or environment */ + namePropertiesFormulaContentName?: string; + /** The location of the new virtual machine or environment */ + locationPropertiesFormulaContentLocation?: string; + /** The tags of the resource. */ + tagsPropertiesFormulaContentTags?: { [propertyName: string]: string }; + /** The notes of the virtual machine. */ + notes?: string; + /** The object identifier of the owner of the virtual machine. */ + ownerObjectId?: string; + /** The user principal name of the virtual machine owner. */ + ownerUserPrincipalName?: string; + /** + * The object identifier of the creator of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByUserId?: string; + /** + * The email address of creator of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByUser?: string; + /** The creation date of the virtual machine. */ + createdDatePropertiesFormulaContentPropertiesCreatedDate?: Date; + /** + * The resource identifier (Microsoft.Compute) of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly computeId?: string; + /** The custom image identifier of the virtual machine. */ + customImageId?: string; + /** The shared gallery image version resource identifier of the virtual machine. */ + galleryImageVersionId?: string; + /** The shared image resource identifier of the virtual machine. */ + sharedImageId?: string; + /** The shared image version for the specified shared image Id. Will use latest if not specified. */ + sharedImageVersion?: string; + /** + * The OS type of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly osTypePropertiesFormulaContentPropertiesOsType?: string; + /** The size of the virtual machine. */ + size?: string; + /** The user name of the virtual machine. */ + userName?: string; + /** The password of the virtual machine administrator. */ + password?: string; + /** The SSH key of the virtual machine administrator. */ + sshKey?: string; + /** Indicates whether this virtual machine uses an SSH key for authentication. */ + isAuthenticationWithSshKey?: boolean; + /** + * The fully-qualified domain name of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly fqdn?: string; + /** The lab subnet name of the virtual machine. */ + labSubnetName?: string; + /** The lab virtual network identifier of the virtual machine. */ + labVirtualNetworkId?: string; + /** Indicates whether the virtual machine is to be created without a public IP address. */ + disallowPublicIpAddress?: boolean; + /** The artifacts to be installed on the virtual machine. */ + artifacts?: ArtifactInstallProperties[]; + /** The id of the plan associated with the virtual machine image */ + planId?: string; + /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. */ + osDiskSizeGb?: number; + /** The expiration date for VM. */ + expirationDate?: Date; + /** Indicates whether another user can take ownership of the virtual machine */ + allowClaim?: boolean; + /** Storage type to use for virtual machine (i.e. Standard, Premium, StandardSSD). */ + storageType?: StorageType; + /** + * Tells source of creation of lab virtual machine. Output property only. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly virtualMachineCreationSource?: VirtualMachineCreationSource; + /** The resource ID of the environment that contains this virtual machine, if any. */ + environmentId?: string; + /** New or existing data disks to attach to the virtual machine after creation */ + dataDiskParameters?: DataDiskProperties[]; + /** Virtual Machine schedules to be created */ + scheduleParameters?: ScheduleCreationParameter[]; + /** + * Last known compute power state captured in DTL + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastKnownPowerState?: string; + /** + * Flag to determine if apply artifacts can be triggered at the time of fetching the document. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly canApplyArtifacts?: boolean; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesFormulaContentPropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesFormulaContentPropertiesUniqueIdentifier?: string; + /** Option to apply more security protection for VMs. */ + securityProfile?: SecurityProfile; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesFormulaContentPropertiesApplicableScheduleId?: string; /** - * The artifact source's creation date. + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdDate?: Date; + readonly namePropertiesFormulaContentPropertiesApplicableScheduleName?: string; /** - * The provisioning status of the resource. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: string; + readonly typePropertiesFormulaContentPropertiesApplicableScheduleType?: string; + /** Resource tags. */ + tagsPropertiesFormulaContentPropertiesApplicableScheduleTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesFormulaContentPropertiesApplicableScheduleLocation?: string; /** - * The unique immutable identifier of a resource (Guid). + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly uniqueIdentifier?: string; -} - -/** An Azure Resource Manager template. */ -export interface ArmTemplate extends Resource { + readonly systemDataPropertiesFormulaContentPropertiesApplicableScheduleSystemData?: SystemData; /** - * The display name of the ARM template. + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly displayName?: string; + readonly idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; /** - * The description of the ARM template. + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; /** - * The publisher of the ARM template. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly publisher?: string; + readonly typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + /** Resource tags. */ + tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; /** - * The URI to the icon of the ARM template. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly icon?: string; + readonly systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; /** - * The contents of the ARM template. + * The creation date of the schedule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly contents?: Record; + readonly createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; /** - * The creation date of the armTemplate. + * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdDate?: Date; + readonly provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; /** - * File name and parameter values information from all azuredeploy.*.parameters.json for the ARM template. + * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly parametersValueFilesInfo?: ParametersValueFileInfo[]; + readonly uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; /** - * Whether or not ARM template is enabled for use by lab user. + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly enabled?: boolean; -} - -/** An artifact. */ -export interface Artifact extends Resource { + readonly idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; /** - * The artifact's title. + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly title?: string; + readonly namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; /** - * The artifact's description. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly description?: string; + readonly typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + /** Resource tags. */ + tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; /** - * The artifact's publisher. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly publisher?: string; + readonly systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; /** - * The file path to the artifact. + * The creation date of the schedule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly filePath?: string; + readonly createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; /** - * The URI to the artifact icon. + * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly icon?: string; + readonly provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; /** - * The artifact's target OS. + * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly targetOsType?: string; + readonly uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + /** The resource ID of the virtual network. */ + virtualNetworkId?: string; + /** The resource ID of the sub net. */ + subnetId?: string; + /** The resource ID of the public IP address. */ + publicIpAddressId?: string; + /** The public IP address. */ + publicIpAddress?: string; + /** The private IP address. */ + privateIpAddress?: string; + /** The DNS name. */ + dnsName?: string; + /** The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). */ + rdpAuthority?: string; + /** The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. */ + sshAuthority?: string; + /** The incoming NAT rules */ + inboundNatRules?: InboundNatRule[]; + /** Gets the statuses of the virtual machine. */ + statuses?: ComputeVmInstanceViewStatus[]; + /** Gets the OS type of the virtual machine. */ + osTypePropertiesFormulaContentPropertiesComputeVmOsType?: string; + /** Gets the size of the virtual machine. */ + vmSize?: string; + /** Gets the network interface ID of the virtual machine. */ + networkInterfaceId?: string; + /** Gets OS disk blob uri for the virtual machine. */ + osDiskId?: string; + /** Gets data disks blob uri for the virtual machine. */ + dataDiskIds?: string[]; + /** Gets all data disks attached to the virtual machine. */ + dataDisks?: ComputeDataDisk[]; + /** The offer of the gallery image. */ + offer?: string; + /** The publisher of the gallery image. */ + publisher?: string; + /** The SKU of the gallery image. */ + sku?: string; + /** The OS type of the gallery image. */ + osTypePropertiesFormulaContentPropertiesGalleryImageReferenceOsType?: string; + /** The version of the gallery image. */ + version?: string; + /** The deployment status of the artifact. */ + deploymentStatus?: string; + /** The total count of the artifacts that were successfully applied. */ + artifactsApplied?: number; + /** The total count of the artifacts that were tentatively applied. */ + totalArtifacts?: number; + /** The number of virtual machine instances to create. */ + instanceCount?: number; +} + +/** A gallery image. */ +export interface GalleryImage extends Resource { /** - * The artifact's parameters. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly parameters?: Record; + readonly systemData?: SystemData; + /** The author of the gallery image. */ + author?: string; /** - * The artifact's creation date. + * The creation date of the gallery image. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdDate?: Date; + /** The description of the gallery image. */ + description?: string; + /** The icon of the gallery image. */ + icon?: string; + /** Indicates whether this gallery image is enabled. */ + enabled?: boolean; + /** The third party plan that applies to this image */ + planId?: string; + /** Indicates if the plan has been authorized for programmatic deployment. */ + isPlanAuthorized?: boolean; + /** The offer of the gallery image. */ + offer?: string; + /** The publisher of the gallery image. */ + publisher?: string; + /** The SKU of the gallery image. */ + sku?: string; + /** The OS type of the gallery image. */ + osType?: string; + /** The version of the gallery image. */ + version?: string; } -/** A cost item. */ -export interface LabCost extends Resource { - /** The target cost properties */ - targetCost?: TargetCostProperties; - /** - * The lab cost summary component of the cost data. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly labCostSummary?: LabCostSummaryProperties; +/** A notification. */ +export interface NotificationChannel extends Resource { /** - * The lab cost details component of the cost data. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly labCostDetails?: LabCostDetailsProperties[]; + readonly systemData?: SystemData; + /** The webhook URL to send notifications to. */ + webHookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocale?: string; + /** Description of notification. */ + description?: string; + /** The list of event for which this notification is enabled. */ + events?: Event[]; /** - * The resource cost component of the cost data. + * The creation date of the notification channel. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly resourceCosts?: LabResourceCostProperties[]; - /** The currency code of the cost. */ - currencyCode?: string; - /** The start time of the cost data. */ - startDateTime?: Date; - /** The end time of the cost data. */ - endDateTime?: Date; - /** The creation date of the cost. */ - createdDate?: Date; + readonly createdDate?: Date; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1270,31 +1974,13 @@ export interface LabCost extends Resource { readonly uniqueIdentifier?: string; } -/** A custom image. */ -export interface CustomImage extends Resource { - /** The virtual machine from which the image is to be created. */ - vm?: CustomImagePropertiesFromVm; - /** The VHD from which the image is to be created. */ - vhd?: CustomImagePropertiesCustom; - /** The description of the custom image. */ - description?: string; - /** The author of the custom image. */ - author?: string; +/** A PolicySet. */ +export interface PolicySet extends Resource { /** - * The creation date of the custom image. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; - /** The Managed Image Id backing the custom image. */ - managedImageId?: string; - /** The Managed Snapshot Id backing the custom image. */ - managedSnapshotId?: string; - /** Storage information about the data disks present in the custom image */ - dataDiskStorageInfo?: DataDiskStorageTypeInfo[]; - /** Storage information about the plan related to this custom image */ - customImagePlan?: CustomImagePropertiesFromPlan; - /** Whether or not the custom images underlying offer/plan has been enabled for programmatic deployment */ - isPlanAuthorized?: boolean; + readonly systemData?: SystemData; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1307,26 +1993,30 @@ export interface CustomImage extends Resource { readonly uniqueIdentifier?: string; } -/** A formula for creating a VM, specifying an image base and other parameters */ -export interface Formula extends Resource { - /** The description of the formula. */ - description?: string; +/** A Policy. */ +export interface Policy extends Resource { /** - * The author of the formula. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly author?: string; - /** The OS type of the formula. */ - osType?: string; + readonly systemData?: SystemData; + /** The description of the policy. */ + description?: string; + /** The status of the policy. */ + status?: PolicyStatus; + /** The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc. */ + factName?: PolicyFactName; + /** The fact data of the policy. */ + factData?: string; + /** The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy). */ + threshold?: string; + /** The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy). */ + evaluatorType?: PolicyEvaluatorType; /** - * The creation date of the formula. + * The creation date of the policy. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly creationDate?: Date; - /** The content of the formula. */ - formulaContent?: LabVirtualMachineCreationParameter; - /** Information about a VM from which a formula is to be created. */ - vm?: FormulaPropertiesFromVm; + readonly createdDate?: Date; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1339,46 +2029,49 @@ export interface Formula extends Resource { readonly uniqueIdentifier?: string; } -/** A gallery image. */ -export interface GalleryImage extends Resource { - /** The author of the gallery image. */ - author?: string; +/** A shared secret in a lab. */ +export interface LabSecret extends Resource { /** - * The creation date of the gallery image. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdDate?: Date; - /** The description of the gallery image. */ - description?: string; - /** The image reference of the gallery image. */ - imageReference?: GalleryImageReference; - /** The icon of the gallery image. */ - icon?: string; - /** Indicates whether this gallery image is enabled. */ - enabled?: boolean; - /** The third party plan that applies to this image */ - planId?: string; - /** Indicates if the plan has been authorized for programmatic deployment. */ - isPlanAuthorized?: boolean; + readonly systemData?: SystemData; + /** The value of the secret for secret creation. */ + value?: string; + /** + * The name of the entry in the lab KeyVault. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly keyVaultEntry?: string; + /** Is the secret enabled for use with artifacts? */ + enabledForArtifacts?: boolean; + /** Is the secret enabled for use with creation of VMs? */ + enabledForVmCreation?: boolean; + /** Is the secret enabled for use with ARM environments? */ + enabledForArmEnvironments?: boolean; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifier?: string; } -/** A notification. */ -export interface NotificationChannel extends Resource { - /** The webhook URL to send notifications to. */ - webHookUrl?: string; - /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ - emailRecipient?: string; - /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ - notificationLocale?: string; - /** Description of notification. */ - description?: string; - /** The list of event for which this notification is enabled. */ - events?: Event[]; +/** A container for a managed identity to execute DevTest lab services. */ +export interface ServiceRunner extends Resource { + /** The identity of the resource. */ + identity?: IdentityProperties; /** - * The creation date of the notification channel. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdDate?: Date; + readonly systemData?: SystemData; + /** The purpose of bringing the identity to the lab. Ex: To use during Environment creation or to deploy on the VMs. */ + identityUsageType?: string; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1391,25 +2084,17 @@ export interface NotificationChannel extends Resource { readonly uniqueIdentifier?: string; } -/** A Policy. */ -export interface Policy extends Resource { - /** The description of the policy. */ - description?: string; - /** The status of the policy. */ - status?: PolicyStatus; - /** The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc. */ - factName?: PolicyFactName; - /** The fact data of the policy. */ - factData?: string; - /** The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy). */ - threshold?: string; - /** The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy). */ - evaluatorType?: PolicyEvaluatorType; +/** Properties of a shared gallery */ +export interface SharedGallery extends Resource { /** - * The creation date of the policy. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdDate?: Date; + readonly systemData?: SystemData; + /** The shared image gallery resource Id */ + galleryId?: string; + /** Enables all images in the gallery to be available in the lab for VM creation. This will override the EnableState on shared images */ + allowAllImages?: EnableState; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1422,18 +2107,44 @@ export interface Policy extends Resource { readonly uniqueIdentifier?: string; } -/** A container for a managed identity to execute DevTest lab services. */ -export interface ServiceRunner extends Resource { - /** The identity of the resource. */ - identity?: IdentityProperties; +/** Properties of a shared image */ +export interface SharedImage extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** Shared Image definition name in shared image gallery */ + definitionName?: string; + /** The operating system of the image */ + osType?: OsType; + /** The type of image in the gallery (generalized or specialized) */ + imageType?: ImageType; + /** Whether or not the image is enabled. */ + enableState?: EnableState; + /** Display name of the image */ + displayName?: string; + /** List of image versions in definition */ + versions?: ImageVersionProperties[]; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifier?: string; } /** Profile of a lab user. */ export interface User extends Resource { - /** The identity of the user. */ - identity?: UserIdentity; - /** The secret store of the user. */ - secretStore?: UserSecretStore; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; /** * The creation date of the user profile. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1449,10 +2160,29 @@ export interface User extends Resource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly uniqueIdentifier?: string; + /** The URI of the user's Key vault. */ + keyVaultUri?: string; + /** The ID of the user's Key vault. */ + keyVaultId?: string; + /** Set to the principal name / UPN of the client JWT making the request. */ + principalName?: string; + /** Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id. */ + principalId?: string; + /** Set to the tenant ID of the client JWT making the request. */ + tenantId?: string; + /** Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available. */ + objectId?: string; + /** Set to the app Id of the client JWT making the request. */ + appId?: string; } /** A Disk. */ export interface Disk extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; /** The storage type for the disk (i.e. Standard, Premium). */ diskType?: StorageType; /** The size of the disk in Gibibytes. */ @@ -1488,8 +2218,11 @@ export interface Disk extends Resource { /** An environment, which is essentially an ARM template deployment. */ export interface DtlEnvironment extends Resource { - /** The deployment properties of the environment. */ - deploymentProperties?: EnvironmentDeploymentProperties; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; /** The display name of the Azure Resource Manager template that produced the environment. */ armTemplateDisplayName?: string; /** @@ -1512,10 +2245,19 @@ export interface DtlEnvironment extends Resource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly uniqueIdentifier?: string; + /** The Azure Resource Manager template's identifier. */ + armTemplateId?: string; + /** The parameters of the Azure Resource Manager template. */ + parameters?: ArmTemplateParameterProperties[]; } /** A secret. */ export interface Secret extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; /** The value of the secret for secret creation. */ value?: string; /** @@ -1530,39 +2272,194 @@ export interface Secret extends Resource { readonly uniqueIdentifier?: string; } -/** Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level. */ -export interface ApplicableSchedule extends Resource { - /** The auto-shutdown schedule, if one has been set at the lab or lab resource level. */ - labVmsShutdown?: Schedule; - /** The auto-startup schedule, if one has been set at the lab or lab resource level. */ - labVmsStartup?: Schedule; -} - /** A Service Fabric. */ export interface ServiceFabric extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; /** The backing service fabric resource's id */ externalServiceFabricId?: string; /** The resource id of the environment under which the service fabric resource is present */ environmentId?: string; /** - * The applicable schedule for the virtual machine. + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableScheduleId?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesApplicableScheduleName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesApplicableScheduleType?: string; + /** Resource tags. */ + tagsPropertiesApplicableScheduleTags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableScheduleLocation?: string; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemDataPropertiesApplicableScheduleSystemData?: SystemData; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + /** Resource tags. */ + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; + /** + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly applicableSchedule?: ApplicableSchedule; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; + /** + * The creation date of the schedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; /** * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly uniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + /** Resource tags. */ + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + /** + * The creation date of the schedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; } /** A virtual machine. */ export interface LabVirtualMachine extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; /** The notes of the virtual machine. */ notes?: string; /** The object identifier of the owner of the virtual machine. */ @@ -1570,109 +2467,316 @@ export interface LabVirtualMachine extends Resource { /** The user principal name of the virtual machine owner. */ ownerUserPrincipalName?: string; /** - * The object identifier of the creator of the virtual machine. + * The object identifier of the creator of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByUserId?: string; + /** + * The email address of creator of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdByUser?: string; + /** The creation date of the virtual machine. */ + createdDatePropertiesCreatedDate?: Date; + /** + * The resource identifier (Microsoft.Compute) of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly computeId?: string; + /** The custom image identifier of the virtual machine. */ + customImageId?: string; + /** The shared gallery image version resource identifier of the virtual machine. */ + galleryImageVersionId?: string; + /** The shared image resource identifier of the virtual machine. */ + sharedImageId?: string; + /** The shared image version for the specified shared image Id. Will use latest if not specified. */ + sharedImageVersion?: string; + /** + * The OS type of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly osTypePropertiesOsType?: string; + /** The size of the virtual machine. */ + size?: string; + /** The user name of the virtual machine. */ + userName?: string; + /** The password of the virtual machine administrator. */ + password?: string; + /** The SSH key of the virtual machine administrator. */ + sshKey?: string; + /** Indicates whether this virtual machine uses an SSH key for authentication. */ + isAuthenticationWithSshKey?: boolean; + /** + * The fully-qualified domain name of the virtual machine. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly fqdn?: string; + /** The lab subnet name of the virtual machine. */ + labSubnetName?: string; + /** The lab virtual network identifier of the virtual machine. */ + labVirtualNetworkId?: string; + /** Indicates whether the virtual machine is to be created without a public IP address. */ + disallowPublicIpAddress?: boolean; + /** The artifacts to be installed on the virtual machine. */ + artifacts?: ArtifactInstallProperties[]; + /** The id of the plan associated with the virtual machine image */ + planId?: string; + /** Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. */ + osDiskSizeGb?: number; + /** The expiration date for VM. */ + expirationDate?: Date; + /** Indicates whether another user can take ownership of the virtual machine */ + allowClaim?: boolean; + /** Storage type to use for virtual machine (i.e. Standard, Premium, StandardSSD). */ + storageType?: StorageTypes; + /** + * Tells source of creation of lab virtual machine. Output property only. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly virtualMachineCreationSource?: VirtualMachineCreationSource; + /** The resource ID of the environment that contains this virtual machine, if any. */ + environmentId?: string; + /** New or existing data disks to attach to the virtual machine after creation */ + dataDiskParameters?: DataDiskProperties[]; + /** Virtual Machine schedules to be created */ + scheduleParameters?: ScheduleCreationParameter[]; + /** + * Last known compute power state captured in DTL + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastKnownPowerState?: string; + /** + * Flag to determine if apply artifacts can be triggered at the time of fetching the document. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly canApplyArtifacts?: boolean; + /** Option to apply more security protection for VMs. */ + securityProfile?: SecurityProfile; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningStatePropertiesProvisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifierPropertiesUniqueIdentifier?: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableScheduleId?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesApplicableScheduleName?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly typePropertiesApplicableScheduleType?: string; + /** Resource tags. */ + tagsPropertiesApplicableScheduleTags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableScheduleLocation?: string; + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemDataPropertiesApplicableScheduleSystemData?: SystemData; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesApplicableSchedulePropertiesLabVmsStartupId?: string; + /** + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdByUserId?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsStartupName?: string; /** - * The email address of creator of the virtual machine. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdByUser?: string; - /** The creation date of the virtual machine. */ - createdDate?: Date; + readonly typePropertiesApplicableSchedulePropertiesLabVmsStartupType?: string; + /** Resource tags. */ + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation?: string; /** - * The resource identifier (Microsoft.Compute) of the virtual machine. + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly computeId?: string; - /** The custom image identifier of the virtual machine. */ - customImageId?: string; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId?: string; /** - * The OS type of the virtual machine. + * The creation date of the schedule. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly osType?: string; - /** The size of the virtual machine. */ - size?: string; - /** The user name of the virtual machine. */ - userName?: string; - /** The password of the virtual machine administrator. */ - password?: string; - /** The SSH key of the virtual machine administrator. */ - sshKey?: string; - /** Indicates whether this virtual machine uses an SSH key for authentication. */ - isAuthenticationWithSshKey?: boolean; + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId?: string; /** - * The fully-qualified domain name of the virtual machine. + * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly fqdn?: string; - /** The lab subnet name of the virtual machine. */ - labSubnetName?: string; - /** The lab virtual network identifier of the virtual machine. */ - labVirtualNetworkId?: string; - /** Indicates whether the virtual machine is to be created without a public IP address. */ - disallowPublicIpAddress?: boolean; - /** The artifacts to be installed on the virtual machine. */ - artifacts?: ArtifactInstallProperties[]; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState?: string; /** - * The artifact deployment status for the virtual machine. + * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly artifactDeploymentStatus?: ArtifactDeploymentStatusProperties; - /** The Microsoft Azure Marketplace image reference of the virtual machine. */ - galleryImageReference?: GalleryImageReference; - /** The id of the plan associated with the virtual machine image */ - planId?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime?: string; /** - * The compute virtual machine properties. + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly computeVm?: ComputeVmProperties; - /** The network interface properties. */ - networkInterface?: NetworkInterfaceProperties; + readonly idPropertiesApplicableSchedulePropertiesLabVmsShutdownId?: string; /** - * The applicable schedule for the virtual machine. + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly applicableSchedule?: ApplicableSchedule; - /** The expiration date for VM. */ - expirationDate?: Date; - /** Indicates whether another user can take ownership of the virtual machine */ - allowClaim?: boolean; - /** Storage type to use for virtual machine (i.e. Standard, Premium). */ - storageType?: string; + readonly namePropertiesApplicableSchedulePropertiesLabVmsShutdownName?: string; /** - * Tells source of creation of lab virtual machine. Output property only. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly virtualMachineCreationSource?: VirtualMachineCreationSource; - /** The resource ID of the environment that contains this virtual machine, if any. */ - environmentId?: string; - /** New or existing data disks to attach to the virtual machine after creation */ - dataDiskParameters?: DataDiskProperties[]; - /** Virtual Machine schedules to be created */ - scheduleParameters?: ScheduleCreationParameter[]; + readonly typePropertiesApplicableSchedulePropertiesLabVmsShutdownType?: string; + /** Resource tags. */ + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags?: { + [propertyName: string]: string; + }; + /** The geo-location where the resource lives */ + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation?: string; /** - * Last known compute power state captured in DTL + * The system metadata relating to this resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastKnownPowerState?: string; + readonly systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData?: SystemData; + /** The status of the schedule (i.e. Enabled, Disabled) */ + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus?: EnableStatus; + /** The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). */ + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType?: string; + /** The time zone ID (e.g. Pacific Standard time). */ + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId?: string; + /** + * The creation date of the schedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate?: Date; + /** The resource ID to which the schedule belongs */ + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId?: string; /** * The provisioning status of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly provisioningState?: string; + readonly provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState?: string; /** * The unique immutable identifier of a resource (Guid). * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly uniqueIdentifier?: string; + readonly uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier?: string; + /** If notifications are enabled for this schedule (i.e. Enabled, Disabled). */ + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus?: EnableStatus; + /** Time in minutes before event at which notification will be sent. */ + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes?: number; + /** The webhook URL to which the notification will be sent. */ + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl?: string; + /** The email recipient to send notifications to (can be a list of semi-colon separated email addresses). */ + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient?: string; + /** The locale to use when sending a notification (fallback for unsupported languages is EN). */ + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale?: string; + /** Minutes of the hour the schedule will run. */ + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute?: number; + /** The time of day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime?: string; + /** The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). */ + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays?: string[]; + /** The time of the day the schedule will occur. */ + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime?: string; + /** The resource ID of the virtual network. */ + virtualNetworkId?: string; + /** The resource ID of the sub net. */ + subnetId?: string; + /** The resource ID of the public IP address. */ + publicIpAddressId?: string; + /** The public IP address. */ + publicIpAddress?: string; + /** The private IP address. */ + privateIpAddress?: string; + /** The DNS name. */ + dnsName?: string; + /** The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). */ + rdpAuthority?: string; + /** The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. */ + sshAuthority?: string; + /** The incoming NAT rules */ + inboundNatRules?: InboundNatRule[]; + /** Gets the statuses of the virtual machine. */ + statuses?: ComputeVmInstanceViewStatus[]; + /** Gets the OS type of the virtual machine. */ + osTypePropertiesComputeVmOsType?: string; + /** Gets the size of the virtual machine. */ + vmSize?: string; + /** Gets the network interface ID of the virtual machine. */ + networkInterfaceId?: string; + /** Gets OS disk blob uri for the virtual machine. */ + osDiskId?: string; + /** Gets data disks blob uri for the virtual machine. */ + dataDiskIds?: string[]; + /** Gets all data disks attached to the virtual machine. */ + dataDisks?: ComputeDataDisk[]; + /** The offer of the gallery image. */ + offer?: string; + /** The publisher of the gallery image. */ + publisher?: string; + /** The SKU of the gallery image. */ + sku?: string; + /** The OS type of the gallery image. */ + osTypePropertiesGalleryImageReferenceOsType?: string; + /** The version of the gallery image. */ + version?: string; + /** The deployment status of the artifact. */ + deploymentStatus?: string; + /** The total count of the artifacts that were successfully applied. */ + artifactsApplied?: number; + /** The total count of the artifacts that were tentatively applied. */ + totalArtifacts?: number; } /** A virtual network. */ export interface VirtualNetwork extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; /** The allowed subnets of the virtual network. */ allowedSubnets?: Subnet[]; /** The description of the virtual network. */ @@ -1703,50 +2807,309 @@ export interface VirtualNetwork extends Resource { readonly uniqueIdentifier?: string; } -/** Properties of an artifact source. */ +/** Profile of a Bastion Host */ +export interface BastionHost extends Resource { + /** + * The system metadata relating to this resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * The ID of the external BastionHost resource that corresponds to this DTL BastionHost + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly externalBastionHostId?: string; + /** + * The ID of the PublicIpAddress resource that is created by and paired with this BastionHost + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly ipAddressId?: string; + /** + * The provisioning status of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: string; + /** + * The unique immutable identifier of a resource (Guid). + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly uniqueIdentifier?: string; +} + +/** Patch */ export interface ArtifactSourceFragment extends UpdateResource {} -/** A custom image. */ +/** Patch */ export interface CustomImageFragment extends UpdateResource {} -/** A formula for creating a VM, specifying an image base and other parameters */ +/** Patch */ export interface FormulaFragment extends UpdateResource {} -/** A notification. */ +/** Patch */ export interface NotificationChannelFragment extends UpdateResource {} -/** A Policy. */ +/** Patch */ export interface PolicyFragment extends UpdateResource {} -/** A schedule. */ -export interface ScheduleFragment extends UpdateResource {} +/** Patch */ +export interface ScheduleFragment extends UpdateResource {} + +/** Patch */ +export interface SecretFragment extends UpdateResource {} + +/** Patch */ +export interface SharedGalleryFragment extends UpdateResource {} + +/** Patch */ +export interface SharedImageFragment extends UpdateResource {} + +/** Patch */ +export interface UserFragment extends UpdateResource {} + +/** Patch */ +export interface DiskFragment extends UpdateResource {} + +/** Patch */ +export interface DtlEnvironmentFragment extends UpdateResource {} + +/** Patch */ +export interface ServiceFabricFragment extends UpdateResource {} + +/** Patch */ +export interface LabVirtualMachineFragment extends UpdateResource {} + +/** Patch */ +export interface VirtualNetworkFragment extends UpdateResource {} + +/** Patch */ +export interface BastionHostFragment extends UpdateResource {} + +/** Patch */ +export interface LabFragment extends UpdateResource {} + +/** Patch */ +export interface LabSecretFragment extends UpdateResource {} + +/** Defines headers for Labs_delete operation. */ +export interface LabsDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Labs_claimAnyVm operation. */ +export interface LabsClaimAnyVmHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Labs_createEnvironment operation. */ +export interface LabsCreateEnvironmentHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Labs_exportResourceUsage operation. */ +export interface LabsExportResourceUsageHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Labs_importVirtualMachine operation. */ +export interface LabsImportVirtualMachineHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Operations_get operation. */ +export interface OperationsGetHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for GlobalSchedules_execute operation. */ +export interface GlobalSchedulesExecuteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for GlobalSchedules_retarget operation. */ +export interface GlobalSchedulesRetargetHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for CustomImages_delete operation. */ +export interface CustomImagesDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Schedules_execute operation. */ +export interface SchedulesExecuteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for LabSecrets_delete operation. */ +export interface LabSecretsDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for LabSecrets_update operation. */ +export interface LabSecretsUpdateHeaders { + location?: string; +} + +/** Defines headers for ServiceRunners_delete operation. */ +export interface ServiceRunnersDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Users_delete operation. */ +export interface UsersDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Disks_delete operation. */ +export interface DisksDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Disks_attach operation. */ +export interface DisksAttachHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Disks_detach operation. */ +export interface DisksDetachHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for Environments_delete operation. */ +export interface EnvironmentsDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for ServiceFabrics_delete operation. */ +export interface ServiceFabricsDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for ServiceFabrics_start operation. */ +export interface ServiceFabricsStartHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for ServiceFabrics_stop operation. */ +export interface ServiceFabricsStopHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for ServiceFabricSchedules_execute operation. */ +export interface ServiceFabricSchedulesExecuteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for VirtualMachines_delete operation. */ +export interface VirtualMachinesDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for VirtualMachines_addDataDisk operation. */ +export interface VirtualMachinesAddDataDiskHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for VirtualMachines_applyArtifacts operation. */ +export interface VirtualMachinesApplyArtifactsHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for VirtualMachines_claim operation. */ +export interface VirtualMachinesClaimHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for VirtualMachines_detachDataDisk operation. */ +export interface VirtualMachinesDetachDataDiskHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** Profile of a lab user. */ -export interface UserFragment extends UpdateResource {} +/** Defines headers for VirtualMachines_redeploy operation. */ +export interface VirtualMachinesRedeployHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** A Disk. */ -export interface DiskFragment extends UpdateResource {} +/** Defines headers for VirtualMachines_resize operation. */ +export interface VirtualMachinesResizeHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** An environment, which is essentially an ARM template deployment. */ -export interface DtlEnvironmentFragment extends UpdateResource {} +/** Defines headers for VirtualMachines_restart operation. */ +export interface VirtualMachinesRestartHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** A secret. */ -export interface SecretFragment extends UpdateResource {} +/** Defines headers for VirtualMachines_start operation. */ +export interface VirtualMachinesStartHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** A Service Fabric. */ -export interface ServiceFabricFragment extends UpdateResource {} +/** Defines headers for VirtualMachines_stop operation. */ +export interface VirtualMachinesStopHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** A virtual machine. */ -export interface LabVirtualMachineFragment extends UpdateResource {} +/** Defines headers for VirtualMachines_transferDisks operation. */ +export interface VirtualMachinesTransferDisksHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** A virtual network. */ -export interface VirtualNetworkFragment extends UpdateResource {} +/** Defines headers for VirtualMachines_unClaim operation. */ +export interface VirtualMachinesUnClaimHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** A lab. */ -export interface LabFragment extends UpdateResource {} +/** Defines headers for VirtualMachineSchedules_execute operation. */ +export interface VirtualMachineSchedulesExecuteHeaders { + location?: string; + azureAsyncOperation?: string; +} -/** Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level. */ -export interface ApplicableScheduleFragment extends UpdateResource {} +/** Defines headers for VirtualNetworks_delete operation. */ +export interface VirtualNetworksDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} + +/** Defines headers for BastionHosts_delete operation. */ +export interface BastionHostsDeleteHeaders { + location?: string; + azureAsyncOperation?: string; +} /** Known values of {@link StorageType} that the service accepts. */ export enum KnownStorageType { @@ -1823,12 +3186,82 @@ export enum KnownEnableStatus { */ export type EnableStatus = string; +/** Known values of {@link EncryptionType} that the service accepts. */ +export enum KnownEncryptionType { + /** EncryptionAtRestWithPlatformKey */ + EncryptionAtRestWithPlatformKey = "EncryptionAtRestWithPlatformKey", + /** EncryptionAtRestWithCustomerKey */ + EncryptionAtRestWithCustomerKey = "EncryptionAtRestWithCustomerKey" +} + +/** + * Defines values for EncryptionType. \ + * {@link KnownEncryptionType} can be used interchangeably with EncryptionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **EncryptionAtRestWithPlatformKey** \ + * **EncryptionAtRestWithCustomerKey** + */ +export type EncryptionType = string; + +/** Known values of {@link ManagedIdentityType} that the service accepts. */ +export enum KnownManagedIdentityType { + /** None */ + None = "None", + /** SystemAssigned */ + SystemAssigned = "SystemAssigned", + /** UserAssigned */ + UserAssigned = "UserAssigned", + /** SystemAssignedUserAssigned */ + SystemAssignedUserAssigned = "SystemAssigned,UserAssigned" +} + +/** + * Defines values for ManagedIdentityType. \ + * {@link KnownManagedIdentityType} can be used interchangeably with ManagedIdentityType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **SystemAssigned** \ + * **UserAssigned** \ + * **SystemAssigned,UserAssigned** + */ +export type ManagedIdentityType = string; + +/** Known values of {@link CreatedByType} that the service accepts. */ +export enum KnownCreatedByType { + /** User */ + User = "User", + /** Application */ + Application = "Application", + /** ManagedIdentity */ + ManagedIdentity = "ManagedIdentity", + /** Key */ + Key = "Key" +} + +/** + * Defines values for CreatedByType. \ + * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Application** \ + * **ManagedIdentity** \ + * **Key** + */ +export type CreatedByType = string; + /** Known values of {@link HttpStatusCode} that the service accepts. */ export enum KnownHttpStatusCode { /** Continue */ Continue = "Continue", /** SwitchingProtocols */ SwitchingProtocols = "SwitchingProtocols", + /** Processing */ + Processing = "Processing", + /** EarlyHints */ + EarlyHints = "EarlyHints", /** OK */ OK = "OK", /** Created */ @@ -1843,6 +3276,12 @@ export enum KnownHttpStatusCode { ResetContent = "ResetContent", /** PartialContent */ PartialContent = "PartialContent", + /** MultiStatus */ + MultiStatus = "MultiStatus", + /** AlreadyReported */ + AlreadyReported = "AlreadyReported", + /** IMUsed */ + IMUsed = "IMUsed", /** MultipleChoices */ MultipleChoices = "MultipleChoices", /** Ambiguous */ @@ -1869,6 +3308,8 @@ export enum KnownHttpStatusCode { TemporaryRedirect = "TemporaryRedirect", /** RedirectKeepVerb */ RedirectKeepVerb = "RedirectKeepVerb", + /** PermanentRedirect */ + PermanentRedirect = "PermanentRedirect", /** BadRequest */ BadRequest = "BadRequest", /** Unauthorized */ @@ -1905,8 +3346,24 @@ export enum KnownHttpStatusCode { RequestedRangeNotSatisfiable = "RequestedRangeNotSatisfiable", /** ExpectationFailed */ ExpectationFailed = "ExpectationFailed", + /** MisdirectedRequest */ + MisdirectedRequest = "MisdirectedRequest", + /** UnprocessableEntity */ + UnprocessableEntity = "UnprocessableEntity", + /** Locked */ + Locked = "Locked", + /** FailedDependency */ + FailedDependency = "FailedDependency", /** UpgradeRequired */ UpgradeRequired = "UpgradeRequired", + /** PreconditionRequired */ + PreconditionRequired = "PreconditionRequired", + /** TooManyRequests */ + TooManyRequests = "TooManyRequests", + /** RequestHeaderFieldsTooLarge */ + RequestHeaderFieldsTooLarge = "RequestHeaderFieldsTooLarge", + /** UnavailableForLegalReasons */ + UnavailableForLegalReasons = "UnavailableForLegalReasons", /** InternalServerError */ InternalServerError = "InternalServerError", /** NotImplemented */ @@ -1918,7 +3375,17 @@ export enum KnownHttpStatusCode { /** GatewayTimeout */ GatewayTimeout = "GatewayTimeout", /** HttpVersionNotSupported */ - HttpVersionNotSupported = "HttpVersionNotSupported" + HttpVersionNotSupported = "HttpVersionNotSupported", + /** VariantAlsoNegotiates */ + VariantAlsoNegotiates = "VariantAlsoNegotiates", + /** InsufficientStorage */ + InsufficientStorage = "InsufficientStorage", + /** LoopDetected */ + LoopDetected = "LoopDetected", + /** NotExtended */ + NotExtended = "NotExtended", + /** NetworkAuthenticationRequired */ + NetworkAuthenticationRequired = "NetworkAuthenticationRequired" } /** @@ -1928,6 +3395,8 @@ export enum KnownHttpStatusCode { * ### Known values supported by the service * **Continue** \ * **SwitchingProtocols** \ + * **Processing** \ + * **EarlyHints** \ * **OK** \ * **Created** \ * **Accepted** \ @@ -1935,6 +3404,9 @@ export enum KnownHttpStatusCode { * **NoContent** \ * **ResetContent** \ * **PartialContent** \ + * **MultiStatus** \ + * **AlreadyReported** \ + * **IMUsed** \ * **MultipleChoices** \ * **Ambiguous** \ * **MovedPermanently** \ @@ -1948,6 +3420,7 @@ export enum KnownHttpStatusCode { * **Unused** \ * **TemporaryRedirect** \ * **RedirectKeepVerb** \ + * **PermanentRedirect** \ * **BadRequest** \ * **Unauthorized** \ * **PaymentRequired** \ @@ -1966,13 +3439,26 @@ export enum KnownHttpStatusCode { * **UnsupportedMediaType** \ * **RequestedRangeNotSatisfiable** \ * **ExpectationFailed** \ + * **MisdirectedRequest** \ + * **UnprocessableEntity** \ + * **Locked** \ + * **FailedDependency** \ * **UpgradeRequired** \ + * **PreconditionRequired** \ + * **TooManyRequests** \ + * **RequestHeaderFieldsTooLarge** \ + * **UnavailableForLegalReasons** \ * **InternalServerError** \ * **NotImplemented** \ * **BadGateway** \ * **ServiceUnavailable** \ * **GatewayTimeout** \ - * **HttpVersionNotSupported** + * **HttpVersionNotSupported** \ + * **VariantAlsoNegotiates** \ + * **InsufficientStorage** \ + * **LoopDetected** \ + * **NotExtended** \ + * **NetworkAuthenticationRequired** */ export type HttpStatusCode = string; @@ -2015,81 +3501,6 @@ export enum KnownFileUploadOptions { */ export type FileUploadOptions = string; -/** Known values of {@link TargetCostStatus} that the service accepts. */ -export enum KnownTargetCostStatus { - /** Enabled */ - Enabled = "Enabled", - /** Disabled */ - Disabled = "Disabled" -} - -/** - * Defines values for TargetCostStatus. \ - * {@link KnownTargetCostStatus} can be used interchangeably with TargetCostStatus, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Enabled** \ - * **Disabled** - */ -export type TargetCostStatus = string; - -/** Known values of {@link CostThresholdStatus} that the service accepts. */ -export enum KnownCostThresholdStatus { - /** Enabled */ - Enabled = "Enabled", - /** Disabled */ - Disabled = "Disabled" -} - -/** - * Defines values for CostThresholdStatus. \ - * {@link KnownCostThresholdStatus} can be used interchangeably with CostThresholdStatus, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Enabled** \ - * **Disabled** - */ -export type CostThresholdStatus = string; - -/** Known values of {@link ReportingCycleType} that the service accepts. */ -export enum KnownReportingCycleType { - /** CalendarMonth */ - CalendarMonth = "CalendarMonth", - /** Custom */ - Custom = "Custom" -} - -/** - * Defines values for ReportingCycleType. \ - * {@link KnownReportingCycleType} can be used interchangeably with ReportingCycleType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **CalendarMonth** \ - * **Custom** - */ -export type ReportingCycleType = string; - -/** Known values of {@link CostType} that the service accepts. */ -export enum KnownCostType { - /** Unavailable */ - Unavailable = "Unavailable", - /** Reported */ - Reported = "Reported", - /** Projected */ - Projected = "Projected" -} - -/** - * Defines values for CostType. \ - * {@link KnownCostType} can be used interchangeably with CostType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Unavailable** \ - * **Reported** \ - * **Projected** - */ -export type CostType = string; - /** Known values of {@link WindowsOsState} that the service accepts. */ export enum KnownWindowsOsState { /** NonSysprepped */ @@ -2171,6 +3582,27 @@ export enum KnownTransportProtocol { */ export type TransportProtocol = string; +/** Known values of {@link VirtualMachineCreationSource} that the service accepts. */ +export enum KnownVirtualMachineCreationSource { + /** FromCustomImage */ + FromCustomImage = "FromCustomImage", + /** FromGalleryImage */ + FromGalleryImage = "FromGalleryImage", + /** FromSharedGalleryImage */ + FromSharedGalleryImage = "FromSharedGalleryImage" +} + +/** + * Defines values for VirtualMachineCreationSource. \ + * {@link KnownVirtualMachineCreationSource} can be used interchangeably with VirtualMachineCreationSource, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **FromCustomImage** \ + * **FromGalleryImage** \ + * **FromSharedGalleryImage** + */ +export type VirtualMachineCreationSource = string; + /** Known values of {@link HostCachingOptions} that the service accepts. */ export enum KnownHostCachingOptions { /** None */ @@ -2192,12 +3624,28 @@ export enum KnownHostCachingOptions { */ export type HostCachingOptions = string; +/** Known values of {@link SecurityTypes} that the service accepts. */ +export enum KnownSecurityTypes { + /** TrustedLaunch */ + TrustedLaunch = "TrustedLaunch", + /** ConfidentialVM */ + ConfidentialVM = "ConfidentialVM" +} + +/** + * Defines values for SecurityTypes. \ + * {@link KnownSecurityTypes} can be used interchangeably with SecurityTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **TrustedLaunch** \ + * **ConfidentialVM** + */ +export type SecurityTypes = string; + /** Known values of {@link NotificationChannelEventType} that the service accepts. */ export enum KnownNotificationChannelEventType { /** AutoShutdown */ - AutoShutdown = "AutoShutdown", - /** Cost */ - Cost = "Cost" + AutoShutdown = "AutoShutdown" } /** @@ -2205,8 +3653,7 @@ export enum KnownNotificationChannelEventType { * {@link KnownNotificationChannelEventType} can be used interchangeably with NotificationChannelEventType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **AutoShutdown** \ - * **Cost** + * **AutoShutdown** */ export type NotificationChannelEventType = string; @@ -2244,8 +3691,6 @@ export enum KnownPolicyFactName { GalleryImage = "GalleryImage", /** UserOwnedLabVmCountInSubnet */ UserOwnedLabVmCountInSubnet = "UserOwnedLabVmCountInSubnet", - /** LabTargetCost */ - LabTargetCost = "LabTargetCost", /** EnvironmentTemplate */ EnvironmentTemplate = "EnvironmentTemplate", /** ScheduleEditPermission */ @@ -2264,7 +3709,6 @@ export enum KnownPolicyFactName { * **LabVmSize** \ * **GalleryImage** \ * **UserOwnedLabVmCountInSubnet** \ - * **LabTargetCost** \ * **EnvironmentTemplate** \ * **ScheduleEditPermission** */ @@ -2288,50 +3732,80 @@ export enum KnownPolicyEvaluatorType { */ export type PolicyEvaluatorType = string; -/** Known values of {@link ManagedIdentityType} that the service accepts. */ -export enum KnownManagedIdentityType { - /** None */ - None = "None", - /** SystemAssigned */ - SystemAssigned = "SystemAssigned", - /** UserAssigned */ - UserAssigned = "UserAssigned", - /** SystemAssignedUserAssigned */ - SystemAssignedUserAssigned = "SystemAssigned,UserAssigned" +/** Known values of {@link EnableState} that the service accepts. */ +export enum KnownEnableState { + /** Disabled */ + Disabled = "Disabled", + /** Enabled */ + Enabled = "Enabled" } /** - * Defines values for ManagedIdentityType. \ - * {@link KnownManagedIdentityType} can be used interchangeably with ManagedIdentityType, + * Defines values for EnableState. \ + * {@link KnownEnableState} can be used interchangeably with EnableState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **None** \ - * **SystemAssigned** \ - * **UserAssigned** \ - * **SystemAssigned,UserAssigned** + * **Disabled** \ + * **Enabled** */ -export type ManagedIdentityType = string; +export type EnableState = string; -/** Known values of {@link VirtualMachineCreationSource} that the service accepts. */ -export enum KnownVirtualMachineCreationSource { - /** FromCustomImage */ - FromCustomImage = "FromCustomImage", - /** FromGalleryImage */ - FromGalleryImage = "FromGalleryImage", - /** FromSharedGalleryImage */ - FromSharedGalleryImage = "FromSharedGalleryImage" +/** Known values of {@link OsType} that the service accepts. */ +export enum KnownOsType { + /** Windows */ + Windows = "Windows", + /** Linux */ + Linux = "Linux" } /** - * Defines values for VirtualMachineCreationSource. \ - * {@link KnownVirtualMachineCreationSource} can be used interchangeably with VirtualMachineCreationSource, + * Defines values for OsType. \ + * {@link KnownOsType} can be used interchangeably with OsType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **FromCustomImage** \ - * **FromGalleryImage** \ - * **FromSharedGalleryImage** + * **Windows** \ + * **Linux** */ -export type VirtualMachineCreationSource = string; +export type OsType = string; + +/** Known values of {@link ImageType} that the service accepts. */ +export enum KnownImageType { + /** Generalized */ + Generalized = "Generalized", + /** Specialized */ + Specialized = "Specialized" +} + +/** + * Defines values for ImageType. \ + * {@link KnownImageType} can be used interchangeably with ImageType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Generalized** \ + * **Specialized** + */ +export type ImageType = string; + +/** Known values of {@link StorageTypes} that the service accepts. */ +export enum KnownStorageTypes { + /** Standard */ + Standard = "Standard", + /** Premium */ + Premium = "Premium", + /** StandardSSD */ + StandardSSD = "StandardSSD" +} + +/** + * Defines values for StorageTypes. \ + * {@link KnownStorageTypes} can be used interchangeably with StorageTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Standard** \ + * **Premium** \ + * **StandardSSD** + */ +export type StorageTypes = string; /** Known values of {@link UsagePermissionType} that the service accepts. */ export enum KnownUsagePermissionType { @@ -2373,7 +3847,7 @@ export interface LabsListBySubscriptionOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=defaultStorageAccount)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2389,7 +3863,7 @@ export interface LabsListByResourceGroupOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=defaultStorageAccount)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2453,6 +3927,10 @@ export interface LabsCreateEnvironmentOptionalParams resumeFrom?: string; } +/** Optional parameters. */ +export interface LabsEnsureCurrentUserProfileOptionalParams + extends coreClient.OperationOptions {} + /** Optional parameters. */ export interface LabsExportResourceUsageOptionalParams extends coreClient.OperationOptions { @@ -2487,32 +3965,14 @@ export type LabsListVhdsResponse = LabVhdList; /** Optional parameters. */ export interface LabsListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=defaultStorageAccount)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listBySubscriptionNext operation. */ export type LabsListBySubscriptionNextResponse = LabList; /** Optional parameters. */ export interface LabsListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=defaultStorageAccount)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listByResourceGroupNext operation. */ export type LabsListByResourceGroupNextResponse = LabList; @@ -2536,7 +3996,7 @@ export interface GlobalSchedulesListBySubscriptionOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=status)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2552,7 +4012,7 @@ export interface GlobalSchedulesListByResourceGroupOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=status)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2611,32 +4071,14 @@ export interface GlobalSchedulesRetargetOptionalParams /** Optional parameters. */ export interface GlobalSchedulesListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=status)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listBySubscriptionNext operation. */ export type GlobalSchedulesListBySubscriptionNextResponse = ScheduleList; -/** Optional parameters. */ -export interface GlobalSchedulesListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=status)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} +/** Optional parameters. */ +export interface GlobalSchedulesListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the listByResourceGroupNext operation. */ export type GlobalSchedulesListByResourceGroupNextResponse = ScheduleList; @@ -2646,7 +4088,7 @@ export interface ArtifactSourcesListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=displayName)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2687,16 +4129,7 @@ export type ArtifactSourcesUpdateResponse = ArtifactSource; /** Optional parameters. */ export interface ArtifactSourcesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=displayName)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ArtifactSourcesListNextResponse = ArtifactSourceList; @@ -2706,7 +4139,7 @@ export interface ArmTemplatesListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=displayName)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2729,16 +4162,7 @@ export type ArmTemplatesGetResponse = ArmTemplate; /** Optional parameters. */ export interface ArmTemplatesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=displayName)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ArmTemplatesListNextResponse = ArmTemplateList; @@ -2748,7 +4172,7 @@ export interface ArtifactsListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=title)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2778,42 +4202,17 @@ export type ArtifactsGenerateArmTemplateResponse = ArmTemplateInfo; /** Optional parameters. */ export interface ArtifactsListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=title)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ArtifactsListNextResponse = ArtifactList; -/** Optional parameters. */ -export interface CostsGetOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($expand=labCostDetails)' */ - expand?: string; -} - -/** Contains response data for the get operation. */ -export type CostsGetResponse = LabCost; - -/** Optional parameters. */ -export interface CostsCreateOrUpdateOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the createOrUpdate operation. */ -export type CostsCreateOrUpdateResponse = LabCost; - /** Optional parameters. */ export interface CustomImagesListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=vm)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2864,16 +4263,7 @@ export type CustomImagesUpdateResponse = CustomImage; /** Optional parameters. */ export interface CustomImagesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=vm)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type CustomImagesListNextResponse = CustomImageList; @@ -2883,7 +4273,7 @@ export interface FormulasListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=description)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2928,16 +4318,7 @@ export type FormulasUpdateResponse = Formula; /** Optional parameters. */ export interface FormulasListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=description)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type FormulasListNextResponse = FormulaList; @@ -2947,7 +4328,7 @@ export interface GalleryImagesListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=author)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -2958,18 +4339,16 @@ export interface GalleryImagesListOptionalParams /** Contains response data for the list operation. */ export type GalleryImagesListResponse = GalleryImageList; +/** Optional parameters. */ +export interface GalleryImagesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type GalleryImagesGetResponse = GalleryImage; + /** Optional parameters. */ export interface GalleryImagesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=author)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type GalleryImagesListNextResponse = GalleryImageList; @@ -2979,7 +4358,7 @@ export interface NotificationChannelsListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=webHookUrl)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3015,42 +4394,237 @@ export interface NotificationChannelsDeleteOptionalParams export interface NotificationChannelsUpdateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the update operation. */ -export type NotificationChannelsUpdateResponse = NotificationChannel; +/** Contains response data for the update operation. */ +export type NotificationChannelsUpdateResponse = NotificationChannel; + +/** Optional parameters. */ +export interface NotificationChannelsNotifyOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface NotificationChannelsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NotificationChannelsListNextResponse = NotificationChannelList; + +/** Optional parameters. */ +export interface PolicySetsListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ + filter?: string; + /** The maximum number of resources to return from the operation. Example: '$top=10' */ + top?: number; + /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ + orderby?: string; +} + +/** Contains response data for the list operation. */ +export type PolicySetsListResponse = PolicySetList; + +/** Optional parameters. */ +export interface PolicySetsEvaluatePoliciesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the evaluatePolicies operation. */ +export type PolicySetsEvaluatePoliciesResponse = EvaluatePoliciesResponse; + +/** Optional parameters. */ +export interface PolicySetsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type PolicySetsListNextResponse = PolicySetList; + +/** Optional parameters. */ +export interface PoliciesListOptionalParams + extends coreClient.OperationOptions { + /** Specify the $expand query. Example: 'properties($select=description)' */ + expand?: string; + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ + filter?: string; + /** The maximum number of resources to return from the operation. Example: '$top=10' */ + top?: number; + /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ + orderby?: string; +} + +/** Contains response data for the list operation. */ +export type PoliciesListResponse = PolicyList; + +/** Optional parameters. */ +export interface PoliciesGetOptionalParams extends coreClient.OperationOptions { + /** Specify the $expand query. Example: 'properties($select=description)' */ + expand?: string; +} + +/** Contains response data for the get operation. */ +export type PoliciesGetResponse = Policy; + +/** Optional parameters. */ +export interface PoliciesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type PoliciesCreateOrUpdateResponse = Policy; + +/** Optional parameters. */ +export interface PoliciesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface PoliciesUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the update operation. */ +export type PoliciesUpdateResponse = Policy; + +/** Optional parameters. */ +export interface PoliciesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type PoliciesListNextResponse = PolicyList; + +/** Optional parameters. */ +export interface SchedulesListOptionalParams + extends coreClient.OperationOptions { + /** Specify the $expand query. Example: 'properties($select=status)' */ + expand?: string; + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ + filter?: string; + /** The maximum number of resources to return from the operation. Example: '$top=10' */ + top?: number; + /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ + orderby?: string; +} + +/** Contains response data for the list operation. */ +export type SchedulesListResponse = ScheduleList; + +/** Optional parameters. */ +export interface SchedulesGetOptionalParams + extends coreClient.OperationOptions { + /** Specify the $expand query. Example: 'properties($select=status)' */ + expand?: string; +} + +/** Contains response data for the get operation. */ +export type SchedulesGetResponse = Schedule; + +/** Optional parameters. */ +export interface SchedulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type SchedulesCreateOrUpdateResponse = Schedule; + +/** Optional parameters. */ +export interface SchedulesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface SchedulesUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the update operation. */ +export type SchedulesUpdateResponse = Schedule; + +/** Optional parameters. */ +export interface SchedulesExecuteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface SchedulesListApplicableOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listApplicable operation. */ +export type SchedulesListApplicableResponse = ScheduleList; + +/** Optional parameters. */ +export interface SchedulesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type SchedulesListNextResponse = ScheduleList; + +/** Optional parameters. */ +export interface SchedulesListApplicableNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listApplicableNext operation. */ +export type SchedulesListApplicableNextResponse = ScheduleList; + +/** Optional parameters. */ +export interface LabSecretsListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ + filter?: string; + /** The maximum number of resources to return from the operation. Example: '$top=10' */ + top?: number; + /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ + orderby?: string; +} + +/** Contains response data for the list operation. */ +export type LabSecretsListResponse = LabSecretList; + +/** Optional parameters. */ +export interface LabSecretsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type LabSecretsGetResponse = LabSecret; + +/** Optional parameters. */ +export interface LabSecretsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type LabSecretsCreateOrUpdateResponse = LabSecret; /** Optional parameters. */ -export interface NotificationChannelsNotifyOptionalParams - extends coreClient.OperationOptions {} +export interface LabSecretsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} /** Optional parameters. */ -export interface NotificationChannelsListNextOptionalParams +export interface LabSecretsUpdateOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=webHookUrl)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; } -/** Contains response data for the listNext operation. */ -export type NotificationChannelsListNextResponse = NotificationChannelList; +/** Contains response data for the update operation. */ +export type LabSecretsUpdateResponse = LabSecret; /** Optional parameters. */ -export interface PolicySetsEvaluatePoliciesOptionalParams +export interface LabSecretsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the evaluatePolicies operation. */ -export type PolicySetsEvaluatePoliciesResponse = EvaluatePoliciesResponse; +/** Contains response data for the listNext operation. */ +export type LabSecretsListNextResponse = LabSecretList; /** Optional parameters. */ -export interface PoliciesListOptionalParams +export interface ServiceRunnersListOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=description)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3059,57 +4633,44 @@ export interface PoliciesListOptionalParams } /** Contains response data for the list operation. */ -export type PoliciesListResponse = PolicyList; +export type ServiceRunnersListResponse = ServiceRunnerList; /** Optional parameters. */ -export interface PoliciesGetOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=description)' */ - expand?: string; -} +export interface ServiceRunnersGetOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type PoliciesGetResponse = Policy; +export type ServiceRunnersGetResponse = ServiceRunner; /** Optional parameters. */ -export interface PoliciesCreateOrUpdateOptionalParams +export interface ServiceRunnersCreateOrUpdateOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ -export type PoliciesCreateOrUpdateResponse = Policy; +export type ServiceRunnersCreateOrUpdateResponse = ServiceRunner; /** Optional parameters. */ -export interface PoliciesDeleteOptionalParams - extends coreClient.OperationOptions {} +export interface ServiceRunnersDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} /** Optional parameters. */ -export interface PoliciesUpdateOptionalParams +export interface ServiceRunnersListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the update operation. */ -export type PoliciesUpdateResponse = Policy; - -/** Optional parameters. */ -export interface PoliciesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=description)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} - /** Contains response data for the listNext operation. */ -export type PoliciesListNextResponse = PolicyList; +export type ServiceRunnersListNextResponse = ServiceRunnerList; /** Optional parameters. */ -export interface SchedulesListOptionalParams +export interface SharedGalleriesListOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=status)' */ + /** Specify the $expand query. Example: 'properties($select=identity)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3118,58 +4679,49 @@ export interface SchedulesListOptionalParams } /** Contains response data for the list operation. */ -export type SchedulesListResponse = ScheduleList; +export type SharedGalleriesListResponse = SharedGalleryList; /** Optional parameters. */ -export interface SchedulesGetOptionalParams +export interface SharedGalleriesGetOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=status)' */ + /** Specify the $expand query. Example: 'properties($select=identity)' */ expand?: string; } /** Contains response data for the get operation. */ -export type SchedulesGetResponse = Schedule; +export type SharedGalleriesGetResponse = SharedGallery; /** Optional parameters. */ -export interface SchedulesCreateOrUpdateOptionalParams +export interface SharedGalleriesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ -export type SchedulesCreateOrUpdateResponse = Schedule; +export type SharedGalleriesCreateOrUpdateResponse = SharedGallery; /** Optional parameters. */ -export interface SchedulesDeleteOptionalParams +export interface SharedGalleriesDeleteOptionalParams extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface SchedulesUpdateOptionalParams +export interface SharedGalleriesUpdateOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the update operation. */ -export type SchedulesUpdateResponse = Schedule; - -/** Optional parameters. */ -export interface SchedulesExecuteOptionalParams - extends coreClient.OperationOptions { - /** Delay to wait until next poll, in milliseconds. */ - updateIntervalInMs?: number; - /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ - resumeFrom?: string; -} +export type SharedGalleriesUpdateResponse = SharedGallery; /** Optional parameters. */ -export interface SchedulesListApplicableOptionalParams +export interface SharedGalleriesListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listApplicable operation. */ -export type SchedulesListApplicableResponse = ScheduleList; +/** Contains response data for the listNext operation. */ +export type SharedGalleriesListNextResponse = SharedGalleryList; /** Optional parameters. */ -export interface SchedulesListNextOptionalParams +export interface SharedImagesListOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=status)' */ + /** Specify the $expand query. Example: 'properties($expand=versions)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3177,39 +4729,49 @@ export interface SchedulesListNextOptionalParams orderby?: string; } -/** Contains response data for the listNext operation. */ -export type SchedulesListNextResponse = ScheduleList; +/** Contains response data for the list operation. */ +export type SharedImagesListResponse = SharedImageList; /** Optional parameters. */ -export interface SchedulesListApplicableNextOptionalParams - extends coreClient.OperationOptions {} +export interface SharedImagesGetOptionalParams + extends coreClient.OperationOptions { + /** Specify the $expand query. Example: 'properties($expand=versions)' */ + expand?: string; +} -/** Contains response data for the listApplicableNext operation. */ -export type SchedulesListApplicableNextResponse = ScheduleList; +/** Contains response data for the get operation. */ +export type SharedImagesGetResponse = SharedImage; /** Optional parameters. */ -export interface ServiceRunnersGetOptionalParams +export interface SharedImagesCreateOrUpdateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type ServiceRunnersGetResponse = ServiceRunner; +/** Contains response data for the createOrUpdate operation. */ +export type SharedImagesCreateOrUpdateResponse = SharedImage; /** Optional parameters. */ -export interface ServiceRunnersCreateOrUpdateOptionalParams +export interface SharedImagesDeleteOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the createOrUpdate operation. */ -export type ServiceRunnersCreateOrUpdateResponse = ServiceRunner; +/** Optional parameters. */ +export interface SharedImagesUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the update operation. */ +export type SharedImagesUpdateResponse = SharedImage; /** Optional parameters. */ -export interface ServiceRunnersDeleteOptionalParams +export interface SharedImagesListNextOptionalParams extends coreClient.OperationOptions {} +/** Contains response data for the listNext operation. */ +export type SharedImagesListNextResponse = SharedImageList; + /** Optional parameters. */ export interface UsersListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=identity)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3232,6 +4794,8 @@ export type UsersGetResponse = User; /** Optional parameters. */ export interface UsersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + /** Profile of a lab user. */ + user?: User; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ @@ -3258,16 +4822,7 @@ export type UsersUpdateResponse = User; /** Optional parameters. */ export interface UsersListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=identity)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type UsersListNextResponse = UserList; @@ -3276,7 +4831,7 @@ export type UsersListNextResponse = UserList; export interface DisksListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=diskType)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3341,16 +4896,7 @@ export interface DisksDetachOptionalParams extends coreClient.OperationOptions { /** Optional parameters. */ export interface DisksListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=diskType)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type DisksListNextResponse = DiskList; @@ -3360,7 +4906,7 @@ export interface EnvironmentsListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=deploymentProperties)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3411,16 +4957,7 @@ export type EnvironmentsUpdateResponse = DtlEnvironment; /** Optional parameters. */ export interface EnvironmentsListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=deploymentProperties)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type EnvironmentsListNextResponse = DtlEnvironmentList; @@ -3429,7 +4966,7 @@ export type EnvironmentsListNextResponse = DtlEnvironmentList; export interface SecretsListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=value)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3474,16 +5011,7 @@ export type SecretsUpdateResponse = Secret; /** Optional parameters. */ export interface SecretsListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=value)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type SecretsListNextResponse = SecretList; @@ -3493,7 +5021,7 @@ export interface ServiceFabricsListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($expand=applicableSchedule)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3569,16 +5097,7 @@ export interface ServiceFabricsStopOptionalParams /** Optional parameters. */ export interface ServiceFabricsListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($expand=applicableSchedule)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ServiceFabricsListNextResponse = ServiceFabricList; @@ -3588,7 +5107,7 @@ export interface ServiceFabricSchedulesListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=status)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3638,16 +5157,7 @@ export interface ServiceFabricSchedulesExecuteOptionalParams /** Optional parameters. */ export interface ServiceFabricSchedulesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=status)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ServiceFabricSchedulesListNextResponse = ScheduleList; @@ -3657,7 +5167,7 @@ export interface VirtualMachinesListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3733,6 +5243,10 @@ export interface VirtualMachinesClaimOptionalParams resumeFrom?: string; } +/** Optional parameters. */ +export interface VirtualMachinesClearArtifactResultsOptionalParams + extends coreClient.OperationOptions {} + /** Optional parameters. */ export interface VirtualMachinesDetachDataDiskOptionalParams extends coreClient.OperationOptions { @@ -3821,16 +5335,7 @@ export interface VirtualMachinesUnClaimOptionalParams /** Optional parameters. */ export interface VirtualMachinesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type VirtualMachinesListNextResponse = LabVirtualMachineList; @@ -3840,7 +5345,7 @@ export interface VirtualMachineSchedulesListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($select=status)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3890,16 +5395,7 @@ export interface VirtualMachineSchedulesExecuteOptionalParams /** Optional parameters. */ export interface VirtualMachineSchedulesListNextOptionalParams - extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($select=status)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ - filter?: string; - /** The maximum number of resources to return from the operation. Example: '$top=10' */ - top?: number; - /** The ordering expression for the results, using OData notation. Example: '$orderby=name desc' */ - orderby?: string; -} + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type VirtualMachineSchedulesListNextResponse = ScheduleList; @@ -3909,7 +5405,7 @@ export interface VirtualNetworksListOptionalParams extends coreClient.OperationOptions { /** Specify the $expand query. Example: 'properties($expand=externalSubnets)' */ expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3960,10 +5456,15 @@ export type VirtualNetworksUpdateResponse = VirtualNetwork; /** Optional parameters. */ export interface VirtualNetworksListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type VirtualNetworksListNextResponse = VirtualNetworkList; + +/** Optional parameters. */ +export interface BastionHostsListOptionalParams extends coreClient.OperationOptions { - /** Specify the $expand query. Example: 'properties($expand=externalSubnets)' */ - expand?: string; - /** The filter to apply to the operation. Example: '$filter=contains(name,'myName') */ + /** The filter to apply to the operation. Example: '$filter=contains(name,'myName')' */ filter?: string; /** The maximum number of resources to return from the operation. Example: '$top=10' */ top?: number; @@ -3971,8 +5472,50 @@ export interface VirtualNetworksListNextOptionalParams orderby?: string; } +/** Contains response data for the list operation. */ +export type BastionHostsListResponse = BastionHostList; + +/** Optional parameters. */ +export interface BastionHostsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type BastionHostsGetResponse = BastionHost; + +/** Optional parameters. */ +export interface BastionHostsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type BastionHostsCreateOrUpdateResponse = BastionHost; + +/** Optional parameters. */ +export interface BastionHostsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface BastionHostsUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the update operation. */ +export type BastionHostsUpdateResponse = BastionHost; + +/** Optional parameters. */ +export interface BastionHostsListNextOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the listNext operation. */ -export type VirtualNetworksListNextResponse = VirtualNetworkList; +export type BastionHostsListNextResponse = BastionHostList; /** Optional parameters. */ export interface DevTestLabsClientOptionalParams diff --git a/sdk/devtestlabs/arm-devtestlabs/src/models/mappers.ts b/sdk/devtestlabs/arm-devtestlabs/src/models/mappers.ts index 6b9a004d562d..35dcbbd74d14 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/models/mappers.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/models/mappers.ts @@ -173,75 +173,88 @@ export const LabList: coreClient.CompositeMapper = { } }; -export const LabAnnouncementProperties: coreClient.CompositeMapper = { +export const IdentityProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabAnnouncementProperties", + className: "IdentityProperties", modelProperties: { - title: { - serializedName: "title", + type: { + serializedName: "type", type: { name: "String" } }, - markdown: { - serializedName: "markdown", + principalId: { + serializedName: "principalId", type: { name: "String" } }, - enabled: { - serializedName: "enabled", + tenantId: { + serializedName: "tenantId", type: { name: "String" } }, - expirationDate: { - serializedName: "expirationDate", - type: { - name: "DateTime" - } - }, - expired: { - serializedName: "expired", - type: { - name: "Boolean" - } - }, - provisioningState: { - serializedName: "provisioningState", - readOnly: true, + clientSecretUrl: { + serializedName: "clientSecretUrl", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "uniqueIdentifier", - readOnly: true, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", type: { - name: "String" + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } } } } } }; -export const LabSupportProperties: coreClient.CompositeMapper = { +export const SystemData: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabSupportProperties", + className: "SystemData", modelProperties: { - enabled: { - serializedName: "enabled", + createdBy: { + serializedName: "createdBy", + type: { + name: "String" + } + }, + createdByType: { + serializedName: "createdByType", + type: { + name: "String" + } + }, + createdAt: { + serializedName: "createdAt", + type: { + name: "DateTime" + } + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", type: { name: "String" } }, - markdown: { - serializedName: "markdown", + lastModifiedByType: { + serializedName: "lastModifiedByType", type: { name: "String" } + }, + lastModifiedAt: { + serializedName: "lastModifiedAt", + type: { + name: "DateTime" + } } } } @@ -273,18 +286,19 @@ export const Resource: coreClient.CompositeMapper = { name: "String" } }, - location: { - serializedName: "location", - type: { - name: "String" - } - }, tags: { serializedName: "tags", type: { name: "Dictionary", value: { type: { name: "String" } } } + }, + location: { + serializedName: "location", + required: true, + type: { + name: "String" + } } } } @@ -307,30 +321,14 @@ export const OperationResult: coreClient.CompositeMapper = { name: "String" } }, - error: { - serializedName: "error", - type: { - name: "Composite", - className: "OperationError" - } - } - } - } -}; - -export const OperationError: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "OperationError", - modelProperties: { code: { - serializedName: "code", + serializedName: "error.code", type: { name: "String" } }, message: { - serializedName: "message", + serializedName: "error.message", type: { name: "String" } @@ -366,101 +364,6 @@ export const ScheduleList: coreClient.CompositeMapper = { } }; -export const WeekDetails: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "WeekDetails", - modelProperties: { - weekdays: { - serializedName: "weekdays", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - time: { - serializedName: "time", - type: { - name: "String" - } - } - } - } -}; - -export const DayDetails: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "DayDetails", - modelProperties: { - time: { - serializedName: "time", - type: { - name: "String" - } - } - } - } -}; - -export const HourDetails: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "HourDetails", - modelProperties: { - minute: { - serializedName: "minute", - type: { - name: "Number" - } - } - } - } -}; - -export const NotificationSettings: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "NotificationSettings", - modelProperties: { - status: { - serializedName: "status", - type: { - name: "String" - } - }, - timeInMinutes: { - serializedName: "timeInMinutes", - type: { - name: "Number" - } - }, - webhookUrl: { - serializedName: "webhookUrl", - type: { - name: "String" - } - }, - emailRecipient: { - serializedName: "emailRecipient", - type: { - name: "String" - } - }, - notificationLocale: { - serializedName: "notificationLocale", - type: { - name: "String" - } - } - } - } -}; - export const ArtifactSourceList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -658,54 +561,37 @@ export const UpdateResource: coreClient.CompositeMapper = { name: "Dictionary", value: { type: { name: "String" } } } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "IdentityProperties" + } } } } }; -export const TargetCostProperties: coreClient.CompositeMapper = { +export const CustomImageList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TargetCostProperties", + className: "CustomImageList", modelProperties: { - status: { - serializedName: "status", - type: { - name: "String" - } - }, - target: { - serializedName: "target", - type: { - name: "Number" - } - }, - costThresholds: { - serializedName: "costThresholds", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "CostThresholdProperties" + className: "CustomImage" } } } }, - cycleStartDateTime: { - serializedName: "cycleStartDateTime", - type: { - name: "DateTime" - } - }, - cycleEndDateTime: { - serializedName: "cycleEndDateTime", - type: { - name: "DateTime" - } - }, - cycleType: { - serializedName: "cycleType", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -714,38 +600,19 @@ export const TargetCostProperties: coreClient.CompositeMapper = { } }; -export const CostThresholdProperties: coreClient.CompositeMapper = { +export const DataDiskStorageTypeInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CostThresholdProperties", + className: "DataDiskStorageTypeInfo", modelProperties: { - thresholdId: { - serializedName: "thresholdId", - type: { - name: "String" - } - }, - percentageThreshold: { - serializedName: "percentageThreshold", - type: { - name: "Composite", - className: "PercentageCostThresholdProperties" - } - }, - displayOnChart: { - serializedName: "displayOnChart", - type: { - name: "String" - } - }, - sendNotificationWhenExceeded: { - serializedName: "sendNotificationWhenExceeded", + lun: { + serializedName: "lun", type: { name: "String" } }, - notificationSent: { - serializedName: "notificationSent", + storageType: { + serializedName: "storageType", type: { name: "String" } @@ -754,55 +621,25 @@ export const CostThresholdProperties: coreClient.CompositeMapper = { } }; -export const PercentageCostThresholdProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PercentageCostThresholdProperties", - modelProperties: { - thresholdValue: { - serializedName: "thresholdValue", - type: { - name: "Number" - } - } - } - } -}; - -export const LabCostSummaryProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LabCostSummaryProperties", - modelProperties: { - estimatedLabCost: { - serializedName: "estimatedLabCost", - type: { - name: "Number" - } - } - } - } -}; - -export const LabCostDetailsProperties: coreClient.CompositeMapper = { +export const FormulaList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabCostDetailsProperties", + className: "FormulaList", modelProperties: { - date: { - serializedName: "date", - type: { - name: "DateTime" - } - }, - cost: { - serializedName: "cost", + value: { + serializedName: "value", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Formula" + } + } } }, - costType: { - serializedName: "costType", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -811,316 +648,103 @@ export const LabCostDetailsProperties: coreClient.CompositeMapper = { } }; -export const LabResourceCostProperties: coreClient.CompositeMapper = { +export const LabVirtualMachineCreationParameter: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabResourceCostProperties", + className: "LabVirtualMachineCreationParameter", modelProperties: { - resourcename: { - serializedName: "resourcename", + name: { + serializedName: "name", type: { name: "String" } }, - resourceUId: { - serializedName: "resourceUId", + location: { + serializedName: "location", type: { name: "String" } }, - resourceCost: { - serializedName: "resourceCost", + tags: { + serializedName: "tags", type: { - name: "Number" - } - }, - resourceType: { - serializedName: "resourceType", - type: { - name: "String" - } - }, - resourceOwner: { - serializedName: "resourceOwner", - type: { - name: "String" - } - }, - resourcePricingTier: { - serializedName: "resourcePricingTier", - type: { - name: "String" - } - }, - resourceStatus: { - serializedName: "resourceStatus", - type: { - name: "String" - } - }, - resourceId: { - serializedName: "resourceId", - type: { - name: "String" - } - }, - externalResourceId: { - serializedName: "externalResourceId", - type: { - name: "String" - } - } - } - } -}; - -export const CustomImageList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CustomImageList", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "CustomImage" - } - } + name: "Dictionary", + value: { type: { name: "String" } } } }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const CustomImagePropertiesFromVm: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CustomImagePropertiesFromVm", - modelProperties: { - sourceVmId: { - serializedName: "sourceVmId", + notes: { + serializedName: "properties.notes", type: { name: "String" } }, - windowsOsInfo: { - serializedName: "windowsOsInfo", - type: { - name: "Composite", - className: "WindowsOsInfo" - } - }, - linuxOsInfo: { - serializedName: "linuxOsInfo", - type: { - name: "Composite", - className: "LinuxOsInfo" - } - } - } - } -}; - -export const WindowsOsInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "WindowsOsInfo", - modelProperties: { - windowsOsState: { - serializedName: "windowsOsState", - type: { - name: "String" - } - } - } - } -}; - -export const LinuxOsInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LinuxOsInfo", - modelProperties: { - linuxOsState: { - serializedName: "linuxOsState", - type: { - name: "String" - } - } - } - } -}; - -export const CustomImagePropertiesCustom: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CustomImagePropertiesCustom", - modelProperties: { - imageName: { - serializedName: "imageName", + ownerObjectId: { + defaultValue: "dynamicValue", + serializedName: "properties.ownerObjectId", type: { name: "String" } }, - sysPrep: { - serializedName: "sysPrep", - type: { - name: "Boolean" - } - }, - osType: { - serializedName: "osType", - required: true, - type: { - name: "String" - } - } - } - } -}; - -export const DataDiskStorageTypeInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "DataDiskStorageTypeInfo", - modelProperties: { - lun: { - serializedName: "lun", + ownerUserPrincipalName: { + serializedName: "properties.ownerUserPrincipalName", type: { name: "String" } }, - storageType: { - serializedName: "storageType", - type: { - name: "String" - } - } - } - } -}; - -export const CustomImagePropertiesFromPlan: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CustomImagePropertiesFromPlan", - modelProperties: { - id: { - serializedName: "id", + createdByUserId: { + serializedName: "properties.createdByUserId", + readOnly: true, type: { name: "String" } }, - publisher: { - serializedName: "publisher", + createdByUser: { + serializedName: "properties.createdByUser", + readOnly: true, type: { name: "String" } }, - offer: { - serializedName: "offer", - type: { - name: "String" - } - } - } - } -}; - -export const FormulaList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "FormulaList", - modelProperties: { - value: { - serializedName: "value", + createdDatePropertiesCreatedDate: { + serializedName: "properties.createdDate", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Formula" - } - } + name: "DateTime" } }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const LabVirtualMachineCreationParameter: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LabVirtualMachineCreationParameter", - modelProperties: { - name: { - serializedName: "name", + computeId: { + serializedName: "properties.computeId", + readOnly: true, type: { name: "String" } }, - location: { - serializedName: "location", + customImageId: { + serializedName: "properties.customImageId", type: { name: "String" } }, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { type: { name: "String" } } - } - }, - bulkCreationParameters: { - serializedName: "properties.bulkCreationParameters", - type: { - name: "Composite", - className: "BulkCreationParameters" - } - }, - notes: { - serializedName: "properties.notes", + galleryImageVersionId: { + serializedName: "properties.galleryImageVersionId", type: { name: "String" } }, - ownerObjectId: { - defaultValue: "dynamicValue", - serializedName: "properties.ownerObjectId", + sharedImageId: { + serializedName: "properties.sharedImageId", type: { name: "String" } }, - ownerUserPrincipalName: { - serializedName: "properties.ownerUserPrincipalName", + sharedImageVersion: { + serializedName: "properties.sharedImageVersion", type: { name: "String" } }, - createdDate: { - serializedName: "properties.createdDate", - type: { - name: "DateTime" - } - }, - customImageId: { - serializedName: "properties.customImageId", + osTypePropertiesOsType: { + serializedName: "properties.osType", + readOnly: true, type: { name: "String" } @@ -1155,6 +779,13 @@ export const LabVirtualMachineCreationParameter: coreClient.CompositeMapper = { name: "Boolean" } }, + fqdn: { + serializedName: "properties.fqdn", + readOnly: true, + type: { + name: "String" + } + }, labSubnetName: { serializedName: "properties.labSubnetName", type: { @@ -1186,24 +817,16 @@ export const LabVirtualMachineCreationParameter: coreClient.CompositeMapper = { } } }, - galleryImageReference: { - serializedName: "properties.galleryImageReference", - type: { - name: "Composite", - className: "GalleryImageReference" - } - }, planId: { serializedName: "properties.planId", type: { name: "String" } }, - networkInterface: { - serializedName: "properties.networkInterface", + osDiskSizeGb: { + serializedName: "properties.osDiskSizeGb", type: { - name: "Composite", - className: "NetworkInterfaceProperties" + name: "Number" } }, expirationDate: { @@ -1220,12 +843,18 @@ export const LabVirtualMachineCreationParameter: coreClient.CompositeMapper = { } }, storageType: { - defaultValue: "labStorageType", serializedName: "properties.storageType", type: { name: "String" } }, + virtualMachineCreationSource: { + serializedName: "properties.virtualMachineCreationSource", + readOnly: true, + type: { + name: "String" + } + }, environmentId: { serializedName: "properties.environmentId", type: { @@ -1255,842 +884,665 @@ export const LabVirtualMachineCreationParameter: coreClient.CompositeMapper = { } } } - } - } - } -}; - -export const BulkCreationParameters: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "BulkCreationParameters", - modelProperties: { - instanceCount: { - serializedName: "instanceCount", + }, + lastKnownPowerState: { + serializedName: "properties.lastKnownPowerState", + readOnly: true, type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const ArtifactInstallProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ArtifactInstallProperties", - modelProperties: { - artifactId: { - serializedName: "artifactId", + }, + canApplyArtifacts: { + serializedName: "properties.canApplyArtifacts", + readOnly: true, + type: { + name: "Boolean" + } + }, + provisioningStatePropertiesProvisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { name: "String" } }, - artifactTitle: { - serializedName: "artifactTitle", + uniqueIdentifierPropertiesUniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, type: { name: "String" } }, - parameters: { - serializedName: "parameters", + securityProfile: { + serializedName: "properties.securityProfile", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ArtifactParameterProperties" - } - } + name: "Composite", + className: "SecurityProfile" } }, - status: { - serializedName: "status", + idPropertiesApplicableScheduleId: { + serializedName: "properties.applicableSchedule.id", + readOnly: true, type: { name: "String" } }, - deploymentStatusMessage: { - serializedName: "deploymentStatusMessage", + namePropertiesApplicableScheduleName: { + serializedName: "properties.applicableSchedule.name", + readOnly: true, type: { name: "String" } }, - vmExtensionStatusMessage: { - serializedName: "vmExtensionStatusMessage", + typePropertiesApplicableScheduleType: { + serializedName: "properties.applicableSchedule.type", + readOnly: true, type: { name: "String" } }, - installTime: { - serializedName: "installTime", + tagsPropertiesApplicableScheduleTags: { + serializedName: "properties.applicableSchedule.tags", type: { - name: "DateTime" + name: "Dictionary", + value: { type: { name: "String" } } } - } - } - } -}; - -export const ArtifactParameterProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ArtifactParameterProperties", - modelProperties: { - name: { - serializedName: "name", + }, + locationPropertiesApplicableScheduleLocation: { + serializedName: "properties.applicableSchedule.location", type: { name: "String" } }, - value: { - serializedName: "value", + systemDataPropertiesApplicableScheduleSystemData: { + serializedName: "properties.applicableSchedule.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + idPropertiesApplicableSchedulePropertiesLabVmsStartupId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.id", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const GalleryImageReference: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "GalleryImageReference", - modelProperties: { - offer: { - serializedName: "offer", + }, + namePropertiesApplicableSchedulePropertiesLabVmsStartupName: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.name", + readOnly: true, type: { name: "String" } }, - publisher: { - serializedName: "publisher", + typePropertiesApplicableSchedulePropertiesLabVmsStartupType: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.type", + readOnly: true, type: { name: "String" } }, - sku: { - serializedName: "sku", + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.location", type: { name: "String" } }, - osType: { - serializedName: "osType", + systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.status", type: { name: "String" } }, - version: { - serializedName: "version", + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.taskType", type: { name: "String" } - } - } - } -}; - -export const NetworkInterfaceProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "NetworkInterfaceProperties", - modelProperties: { - virtualNetworkId: { - serializedName: "virtualNetworkId", + }, + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.timeZoneId", type: { name: "String" } }, - subnetId: { - serializedName: "subnetId", + createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.targetResourceId", type: { name: "String" } }, - publicIpAddressId: { - serializedName: "publicIpAddressId", + provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.provisioningState", + readOnly: true, type: { name: "String" } }, - publicIpAddress: { - serializedName: "publicIpAddress", + uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.uniqueIdentifier", + readOnly: true, type: { name: "String" } }, - privateIpAddress: { - serializedName: "privateIpAddress", + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.status", type: { name: "String" } }, - dnsName: { - serializedName: "dnsName", + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.webhookUrl", type: { name: "String" } }, - rdpAuthority: { - serializedName: "rdpAuthority", + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.emailRecipient", type: { name: "String" } }, - sshAuthority: { - serializedName: "sshAuthority", + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.notificationLocale", type: { name: "String" } }, - sharedPublicIpAddressConfiguration: { - serializedName: "sharedPublicIpAddressConfiguration", + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.hourlyRecurrence.minute", type: { - name: "Composite", - className: "SharedPublicIpAddressConfiguration" + name: "Number" } - } - } - } -}; - -export const SharedPublicIpAddressConfiguration: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "SharedPublicIpAddressConfiguration", - modelProperties: { - inboundNatRules: { - serializedName: "inboundNatRules", + }, + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.weekdays", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "InboundNatRule" + name: "String" } } } - } - } - } -}; - -export const InboundNatRule: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "InboundNatRule", - modelProperties: { - transportProtocol: { - serializedName: "transportProtocol", + }, + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.time", type: { name: "String" } }, - frontendPort: { - serializedName: "frontendPort", + idPropertiesApplicableSchedulePropertiesLabVmsShutdownId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.id", + readOnly: true, type: { - name: "Number" + name: "String" } }, - backendPort: { - serializedName: "backendPort", + namePropertiesApplicableSchedulePropertiesLabVmsShutdownName: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.name", + readOnly: true, type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const DataDiskProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "DataDiskProperties", - modelProperties: { - attachNewDataDiskOptions: { - serializedName: "attachNewDataDiskOptions", + }, + typePropertiesApplicableSchedulePropertiesLabVmsShutdownType: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.type", + readOnly: true, type: { - name: "Composite", - className: "AttachNewDataDiskOptions" + name: "String" } }, - existingLabDiskId: { - serializedName: "existingLabDiskId", + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - hostCaching: { - serializedName: "hostCaching", + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.location", type: { name: "String" } - } - } - } -}; - -export const AttachNewDataDiskOptions: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "AttachNewDataDiskOptions", - modelProperties: { - diskSizeGiB: { - serializedName: "diskSizeGiB", + }, + systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.systemData", type: { - name: "Number" + name: "Composite", + className: "SystemData" } }, - diskName: { - serializedName: "diskName", + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.status", type: { name: "String" } }, - diskType: { - serializedName: "diskType", + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.taskType", type: { name: "String" } - } - } - } -}; - -export const ScheduleCreationParameter: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ScheduleCreationParameter", - modelProperties: { - name: { - serializedName: "name", + }, + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.timeZoneId", type: { name: "String" } }, - location: { - serializedName: "location", + createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.createdDate", readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.targetResourceId", type: { name: "String" } }, - tags: { - serializedName: "tags", + provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.provisioningState", + readOnly: true, type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "String" } }, - status: { - serializedName: "properties.status", + uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.uniqueIdentifier", + readOnly: true, type: { name: "String" } }, - taskType: { - serializedName: "properties.taskType", + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.status", type: { name: "String" } }, - weeklyRecurrence: { - serializedName: "properties.weeklyRecurrence", + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.timeInMinutes", type: { - name: "Composite", - className: "WeekDetails" + name: "Number" } }, - dailyRecurrence: { - serializedName: "properties.dailyRecurrence", + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.webhookUrl", type: { - name: "Composite", - className: "DayDetails" + name: "String" } }, - hourlyRecurrence: { - serializedName: "properties.hourlyRecurrence", + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.emailRecipient", type: { - name: "Composite", - className: "HourDetails" + name: "String" } }, - timeZoneId: { - serializedName: "properties.timeZoneId", + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.notificationLocale", type: { name: "String" } }, - notificationSettings: { - serializedName: "properties.notificationSettings", + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.hourlyRecurrence.minute", type: { - name: "Composite", - className: "NotificationSettings" + name: "Number" } }, - targetResourceId: { - serializedName: "properties.targetResourceId", + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.dailyRecurrence.time", type: { name: "String" } - } - } - } -}; - -export const FormulaPropertiesFromVm: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "FormulaPropertiesFromVm", - modelProperties: { - labVmId: { - serializedName: "labVmId", - type: { - name: "String" - } - } - } - } -}; - -export const GalleryImageList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "GalleryImageList", - modelProperties: { - value: { - serializedName: "value", + }, + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.weekdays", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "GalleryImage" + name: "String" } } } }, - nextLink: { - serializedName: "nextLink", + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.time", type: { name: "String" } - } - } - } -}; - -export const NotificationChannelList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "NotificationChannelList", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NotificationChannel" - } - } - } }, - nextLink: { - serializedName: "nextLink", + virtualNetworkId: { + serializedName: "properties.networkInterface.virtualNetworkId", type: { name: "String" } - } - } - } -}; - -export const Event: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Event", - modelProperties: { - eventName: { - serializedName: "eventName", + }, + subnetId: { + serializedName: "properties.networkInterface.subnetId", type: { name: "String" } - } - } - } -}; - -export const NotifyParameters: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "NotifyParameters", - modelProperties: { - eventName: { - serializedName: "eventName", + }, + publicIpAddressId: { + serializedName: "properties.networkInterface.publicIpAddressId", type: { name: "String" } }, - jsonPayload: { - serializedName: "jsonPayload", + publicIpAddress: { + serializedName: "properties.networkInterface.publicIpAddress", type: { name: "String" } - } - } - } -}; - -export const EvaluatePoliciesRequest: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "EvaluatePoliciesRequest", - modelProperties: { - policies: { - serializedName: "policies", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "EvaluatePoliciesProperties" - } - } - } - } - } - } -}; - -export const EvaluatePoliciesProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "EvaluatePoliciesProperties", - modelProperties: { - factName: { - serializedName: "factName", + }, + privateIpAddress: { + serializedName: "properties.networkInterface.privateIpAddress", type: { name: "String" } }, - factData: { - serializedName: "factData", + dnsName: { + serializedName: "properties.networkInterface.dnsName", type: { name: "String" } }, - valueOffset: { - serializedName: "valueOffset", + rdpAuthority: { + serializedName: "properties.networkInterface.rdpAuthority", type: { name: "String" } }, - userObjectId: { - serializedName: "userObjectId", + sshAuthority: { + serializedName: "properties.networkInterface.sshAuthority", type: { name: "String" } - } - } - } -}; - -export const EvaluatePoliciesResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "EvaluatePoliciesResponse", - modelProperties: { - results: { - serializedName: "results", + }, + inboundNatRules: { + serializedName: + "properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules", type: { name: "Sequence", element: { type: { name: "Composite", - className: "PolicySetResult" + className: "InboundNatRule" } } } - } - } - } -}; - -export const PolicySetResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicySetResult", - modelProperties: { - hasError: { - serializedName: "hasError", - type: { - name: "Boolean" - } }, - policyViolations: { - serializedName: "policyViolations", + statuses: { + serializedName: "properties.computeVm.statuses", type: { name: "Sequence", element: { type: { name: "Composite", - className: "PolicyViolation" + className: "ComputeVmInstanceViewStatus" } } } - } - } - } -}; - -export const PolicyViolation: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyViolation", - modelProperties: { - code: { - serializedName: "code", + }, + osTypePropertiesComputeVmOsType: { + serializedName: "properties.computeVm.osType", type: { name: "String" } }, - message: { - serializedName: "message", + vmSize: { + serializedName: "properties.computeVm.vmSize", type: { name: "String" } - } - } - } -}; - -export const PolicyList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyList", - modelProperties: { - value: { - serializedName: "value", + }, + networkInterfaceId: { + serializedName: "properties.computeVm.networkInterfaceId", + type: { + name: "String" + } + }, + osDiskId: { + serializedName: "properties.computeVm.osDiskId", + type: { + name: "String" + } + }, + dataDiskIds: { + serializedName: "properties.computeVm.dataDiskIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dataDisks: { + serializedName: "properties.computeVm.dataDisks", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Policy" + className: "ComputeDataDisk" } } } }, - nextLink: { - serializedName: "nextLink", + offer: { + serializedName: "properties.galleryImageReference.offer", type: { name: "String" } - } - } - } -}; - -export const IdentityProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "IdentityProperties", - modelProperties: { - type: { - serializedName: "type", + }, + publisher: { + serializedName: "properties.galleryImageReference.publisher", type: { name: "String" } }, - principalId: { - serializedName: "principalId", + sku: { + serializedName: "properties.galleryImageReference.sku", type: { name: "String" } }, - tenantId: { - serializedName: "tenantId", + osTypePropertiesGalleryImageReferenceOsType: { + serializedName: "properties.galleryImageReference.osType", type: { name: "String" } }, - clientSecretUrl: { - serializedName: "clientSecretUrl", + version: { + serializedName: "properties.galleryImageReference.version", type: { name: "String" } - } - } - } -}; - -export const UserList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "UserList", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "User" - } - } - } - }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const UserIdentity: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "UserIdentity", - modelProperties: { - principalName: { - serializedName: "principalName", + }, + deploymentStatus: { + serializedName: "properties.artifactDeploymentStatus.deploymentStatus", type: { name: "String" } }, - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - }, - tenantId: { - serializedName: "tenantId", + artifactsApplied: { + serializedName: "properties.artifactDeploymentStatus.artifactsApplied", type: { - name: "String" + name: "Number" } }, - objectId: { - serializedName: "objectId", + totalArtifacts: { + serializedName: "properties.artifactDeploymentStatus.totalArtifacts", type: { - name: "String" + name: "Number" } }, - appId: { - serializedName: "appId", + instanceCount: { + serializedName: "properties.bulkCreationParameters.instanceCount", type: { - name: "String" + name: "Number" } } } } }; -export const UserSecretStore: coreClient.CompositeMapper = { +export const ArtifactInstallProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "UserSecretStore", + className: "ArtifactInstallProperties", modelProperties: { - keyVaultUri: { - serializedName: "keyVaultUri", + artifactId: { + serializedName: "artifactId", type: { name: "String" } }, - keyVaultId: { - serializedName: "keyVaultId", + artifactTitle: { + serializedName: "artifactTitle", type: { name: "String" } - } - } - } -}; - -export const DiskList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "DiskList", - modelProperties: { - value: { - serializedName: "value", + }, + parameters: { + serializedName: "parameters", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Disk" + className: "ArtifactParameterProperties" } } } }, - nextLink: { - serializedName: "nextLink", + status: { + serializedName: "status", type: { name: "String" } - } - } - } -}; - -export const AttachDiskProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "AttachDiskProperties", - modelProperties: { - leasedByLabVmId: { - serializedName: "leasedByLabVmId", + }, + deploymentStatusMessage: { + serializedName: "deploymentStatusMessage", type: { name: "String" } - } - } - } -}; - -export const DetachDiskProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "DetachDiskProperties", - modelProperties: { - leasedByLabVmId: { - serializedName: "leasedByLabVmId", + }, + vmExtensionStatusMessage: { + serializedName: "vmExtensionStatusMessage", type: { name: "String" } + }, + installTime: { + serializedName: "installTime", + type: { + name: "DateTime" + } } } } }; -export const DtlEnvironmentList: coreClient.CompositeMapper = { +export const ArtifactParameterProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DtlEnvironmentList", + className: "ArtifactParameterProperties", modelProperties: { - value: { - serializedName: "value", + name: { + serializedName: "name", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DtlEnvironment" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + value: { + serializedName: "value", type: { name: "String" } @@ -2099,37 +1551,37 @@ export const DtlEnvironmentList: coreClient.CompositeMapper = { } }; -export const EnvironmentDeploymentProperties: coreClient.CompositeMapper = { +export const ComputeVmInstanceViewStatus: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EnvironmentDeploymentProperties", + className: "ComputeVmInstanceViewStatus", modelProperties: { - armTemplateId: { - serializedName: "armTemplateId", + code: { + serializedName: "code", type: { name: "String" } }, - parameters: { - serializedName: "parameters", + displayStatus: { + serializedName: "displayStatus", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ArmTemplateParameterProperties" - } - } + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" } } } } }; -export const ArmTemplateParameterProperties: coreClient.CompositeMapper = { +export const ComputeDataDisk: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ArmTemplateParameterProperties", + className: "ComputeDataDisk", modelProperties: { name: { serializedName: "name", @@ -2137,89 +1589,86 @@ export const ArmTemplateParameterProperties: coreClient.CompositeMapper = { name: "String" } }, - value: { - serializedName: "value", + diskUri: { + serializedName: "diskUri", + type: { + name: "String" + } + }, + managedDiskId: { + serializedName: "managedDiskId", type: { name: "String" } + }, + diskSizeGiB: { + serializedName: "diskSizeGiB", + type: { + name: "Number" + } } } } }; -export const SecretList: coreClient.CompositeMapper = { +export const InboundNatRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SecretList", + className: "InboundNatRule", modelProperties: { - value: { - serializedName: "value", + transportProtocol: { + serializedName: "transportProtocol", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Secret" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + frontendPort: { + serializedName: "frontendPort", type: { - name: "String" + name: "Number" + } + }, + backendPort: { + serializedName: "backendPort", + type: { + name: "Number" } } } } }; -export const ServiceFabricList: coreClient.CompositeMapper = { +export const DataDiskProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceFabricList", + className: "DataDiskProperties", modelProperties: { - value: { - serializedName: "value", + existingLabDiskId: { + serializedName: "existingLabDiskId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ServiceFabric" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + hostCaching: { + serializedName: "hostCaching", type: { name: "String" } - } - } - } -}; - -export const LabVirtualMachineList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LabVirtualMachineList", - modelProperties: { - value: { - serializedName: "value", + }, + diskSizeGiB: { + serializedName: "attachNewDataDiskOptions.diskSizeGiB", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LabVirtualMachine" - } - } + name: "Number" } }, - nextLink: { - serializedName: "nextLink", + diskName: { + serializedName: "attachNewDataDiskOptions.diskName", + type: { + name: "String" + } + }, + diskType: { + serializedName: "attachNewDataDiskOptions.diskType", type: { name: "String" } @@ -2228,76 +1677,120 @@ export const LabVirtualMachineList: coreClient.CompositeMapper = { } }; -export const ArtifactDeploymentStatusProperties: coreClient.CompositeMapper = { +export const ScheduleCreationParameter: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ArtifactDeploymentStatusProperties", + className: "ScheduleCreationParameter", modelProperties: { - deploymentStatus: { - serializedName: "deploymentStatus", + name: { + serializedName: "name", type: { name: "String" } }, - artifactsApplied: { - serializedName: "artifactsApplied", - type: { - name: "Number" + location: { + serializedName: "location", + readOnly: true, + type: { + name: "String" } }, - totalArtifacts: { - serializedName: "totalArtifacts", + tags: { + serializedName: "tags", type: { - name: "Number" + name: "Dictionary", + value: { type: { name: "String" } } } - } - } - } -}; - -export const ComputeVmProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ComputeVmProperties", - modelProperties: { - statuses: { - serializedName: "statuses", + }, + statusPropertiesStatus: { + serializedName: "properties.status", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ComputeVmInstanceViewStatus" - } - } + name: "String" } }, - osType: { - serializedName: "osType", + taskType: { + serializedName: "properties.taskType", type: { name: "String" } }, - vmSize: { - serializedName: "vmSize", + timeZoneId: { + serializedName: "properties.timeZoneId", type: { name: "String" } }, - networkInterfaceId: { - serializedName: "networkInterfaceId", + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceId: { + serializedName: "properties.targetResourceId", type: { name: "String" } }, - osDiskId: { - serializedName: "osDiskId", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { name: "String" } }, - dataDiskIds: { - serializedName: "dataDiskIds", + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + statusPropertiesNotificationSettingsStatus: { + serializedName: "properties.notificationSettings.status", + type: { + name: "String" + } + }, + timeInMinutes: { + serializedName: "properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrl: { + serializedName: "properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipient: { + serializedName: "properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocale: { + serializedName: "properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minute: { + serializedName: "properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesDailyRecurrenceTime: { + serializedName: "properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdays: { + serializedName: "properties.weeklyRecurrence.weekdays", type: { name: "Sequence", element: { @@ -2307,110 +1800,105 @@ export const ComputeVmProperties: coreClient.CompositeMapper = { } } }, - dataDisks: { - serializedName: "dataDisks", + timePropertiesWeeklyRecurrenceTime: { + serializedName: "properties.weeklyRecurrence.time", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ComputeDataDisk" - } - } + name: "String" } } } } }; -export const ComputeVmInstanceViewStatus: coreClient.CompositeMapper = { +export const SecurityProfile: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ComputeVmInstanceViewStatus", + className: "SecurityProfile", modelProperties: { - code: { - serializedName: "code", - type: { - name: "String" - } - }, - displayStatus: { - serializedName: "displayStatus", + securityType: { + serializedName: "securityType", type: { name: "String" } }, - message: { - serializedName: "message", + uefiSettings: { + serializedName: "uefiSettings", type: { - name: "String" + name: "Composite", + className: "UefiSettings" } } } } }; -export const ComputeDataDisk: coreClient.CompositeMapper = { +export const UefiSettings: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ComputeDataDisk", + className: "UefiSettings", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, - diskUri: { - serializedName: "diskUri", - type: { - name: "String" - } - }, - managedDiskId: { - serializedName: "managedDiskId", + secureBootEnabled: { + serializedName: "secureBootEnabled", type: { - name: "String" + name: "Boolean" } }, - diskSizeGiB: { - serializedName: "diskSizeGiB", + vTpmEnabled: { + serializedName: "vTpmEnabled", type: { - name: "Number" + name: "Boolean" } } } } }; -export const ApplyArtifactsRequest: coreClient.CompositeMapper = { +export const GalleryImageList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplyArtifactsRequest", + className: "GalleryImageList", modelProperties: { - artifacts: { - serializedName: "artifacts", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ArtifactInstallProperties" + className: "GalleryImage" } } } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } } } } }; -export const DetachDataDiskProperties: coreClient.CompositeMapper = { +export const NotificationChannelList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DetachDataDiskProperties", + className: "NotificationChannelList", modelProperties: { - existingLabDiskId: { - serializedName: "existingLabDiskId", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NotificationChannel" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2419,13 +1907,13 @@ export const DetachDataDiskProperties: coreClient.CompositeMapper = { } }; -export const RdpConnection: coreClient.CompositeMapper = { +export const Event: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RdpConnection", + className: "Event", modelProperties: { - contents: { - serializedName: "contents", + eventName: { + serializedName: "eventName", type: { name: "String" } @@ -2434,13 +1922,19 @@ export const RdpConnection: coreClient.CompositeMapper = { } }; -export const ResizeLabVirtualMachineProperties: coreClient.CompositeMapper = { +export const NotifyParameters: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ResizeLabVirtualMachineProperties", + className: "NotifyParameters", modelProperties: { - size: { - serializedName: "size", + eventName: { + serializedName: "eventName", + type: { + name: "String" + } + }, + jsonPayload: { + serializedName: "jsonPayload", type: { name: "String" } @@ -2449,19 +1943,20 @@ export const ResizeLabVirtualMachineProperties: coreClient.CompositeMapper = { } }; -export const VirtualNetworkList: coreClient.CompositeMapper = { +export const PolicySetList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualNetworkList", + className: "PolicySetList", modelProperties: { value: { serializedName: "value", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "VirtualNetwork" + className: "PolicySet" } } } @@ -2476,46 +1971,52 @@ export const VirtualNetworkList: coreClient.CompositeMapper = { } }; -export const Subnet: coreClient.CompositeMapper = { +export const EvaluatePoliciesRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Subnet", + className: "EvaluatePoliciesRequest", modelProperties: { - resourceId: { - serializedName: "resourceId", - type: { - name: "String" - } - }, - labSubnetName: { - serializedName: "labSubnetName", - type: { - name: "String" - } - }, - allowPublicIp: { - serializedName: "allowPublicIp", + policies: { + serializedName: "policies", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EvaluatePoliciesProperties" + } + } } } } } }; -export const ExternalSubnet: coreClient.CompositeMapper = { +export const EvaluatePoliciesProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExternalSubnet", + className: "EvaluatePoliciesProperties", modelProperties: { - id: { - serializedName: "id", + factName: { + serializedName: "factName", type: { name: "String" } }, - name: { - serializedName: "name", + factData: { + serializedName: "factData", + type: { + name: "String" + } + }, + valueOffset: { + serializedName: "valueOffset", + type: { + name: "String" + } + }, + userObjectId: { + serializedName: "userObjectId", type: { name: "String" } @@ -2524,44 +2025,94 @@ export const ExternalSubnet: coreClient.CompositeMapper = { } }; -export const SubnetOverride: coreClient.CompositeMapper = { +export const EvaluatePoliciesResponse: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SubnetOverride", + className: "EvaluatePoliciesResponse", modelProperties: { - resourceId: { - serializedName: "resourceId", + results: { + serializedName: "results", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PolicySetResult" + } + } } - }, - labSubnetName: { - serializedName: "labSubnetName", + } + } + } +}; + +export const PolicySetResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicySetResult", + modelProperties: { + hasError: { + serializedName: "hasError", type: { - name: "String" + name: "Boolean" } }, - useInVmCreationPermission: { - serializedName: "useInVmCreationPermission", + policyViolations: { + serializedName: "policyViolations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PolicyViolation" + } + } + } + } + } + } +}; + +export const PolicyViolation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyViolation", + modelProperties: { + code: { + serializedName: "code", type: { name: "String" } }, - usePublicIpAddressPermission: { - serializedName: "usePublicIpAddressPermission", + message: { + serializedName: "message", type: { name: "String" } - }, - sharedPublicIpAddressConfiguration: { - serializedName: "sharedPublicIpAddressConfiguration", + } + } + } +}; + +export const PolicyList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyList", + modelProperties: { + value: { + serializedName: "value", type: { - name: "Composite", - className: "SubnetSharedPublicIpAddressConfiguration" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Policy" + } + } } }, - virtualNetworkPoolName: { - serializedName: "virtualNetworkPoolName", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2570,76 +2121,106 @@ export const SubnetOverride: coreClient.CompositeMapper = { } }; -export const SubnetSharedPublicIpAddressConfiguration: coreClient.CompositeMapper = { +export const LabSecretList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SubnetSharedPublicIpAddressConfiguration", + className: "LabSecretList", modelProperties: { - allowedPorts: { - serializedName: "allowedPorts", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Port" + className: "LabSecret" } } } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } } } } }; -export const Port: coreClient.CompositeMapper = { +export const ServiceRunnerList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Port", + className: "ServiceRunnerList", modelProperties: { - transportProtocol: { - serializedName: "transportProtocol", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServiceRunner" + } + } } }, - backendPort: { - serializedName: "backendPort", + nextLink: { + serializedName: "nextLink", type: { - name: "Number" + name: "String" } } } } }; -export const ExportResourceUsageParameters: coreClient.CompositeMapper = { +export const SharedGalleryList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExportResourceUsageParameters", + className: "SharedGalleryList", modelProperties: { - blobStorageAbsoluteSasUri: { - serializedName: "blobStorageAbsoluteSasUri", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SharedGallery" + } + } } }, - usageStartDate: { - serializedName: "usageStartDate", + nextLink: { + serializedName: "nextLink", type: { - name: "DateTime" + name: "String" } } } } }; -export const GenerateUploadUriParameter: coreClient.CompositeMapper = { +export const SharedImageList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "GenerateUploadUriParameter", + className: "SharedImageList", modelProperties: { - blobName: { - serializedName: "blobName", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SharedImage" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2648,13 +2229,13 @@ export const GenerateUploadUriParameter: coreClient.CompositeMapper = { } }; -export const GenerateUploadUriResponse: coreClient.CompositeMapper = { +export const ImageVersionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "GenerateUploadUriResponse", + className: "ImageVersionProperties", modelProperties: { - uploadUri: { - serializedName: "uploadUri", + name: { + serializedName: "name", type: { name: "String" } @@ -2663,19 +2244,25 @@ export const GenerateUploadUriResponse: coreClient.CompositeMapper = { } }; -export const ImportLabVirtualMachineRequest: coreClient.CompositeMapper = { +export const UserList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ImportLabVirtualMachineRequest", + className: "UserList", modelProperties: { - sourceVirtualMachineResourceId: { - serializedName: "sourceVirtualMachineResourceId", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "User" + } + } } }, - destinationVirtualMachineName: { - serializedName: "destinationVirtualMachineName", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2684,10 +2271,10 @@ export const ImportLabVirtualMachineRequest: coreClient.CompositeMapper = { } }; -export const LabVhdList: coreClient.CompositeMapper = { +export const DiskList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabVhdList", + className: "DiskList", modelProperties: { value: { serializedName: "value", @@ -2696,7 +2283,7 @@ export const LabVhdList: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "LabVhd" + className: "Disk" } } } @@ -2711,13 +2298,13 @@ export const LabVhdList: coreClient.CompositeMapper = { } }; -export const LabVhd: coreClient.CompositeMapper = { +export const AttachDiskProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabVhd", + className: "AttachDiskProperties", modelProperties: { - id: { - serializedName: "id", + leasedByLabVmId: { + serializedName: "leasedByLabVmId", type: { name: "String" } @@ -2726,19 +2313,13 @@ export const LabVhd: coreClient.CompositeMapper = { } }; -export const RetargetScheduleProperties: coreClient.CompositeMapper = { +export const DetachDiskProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RetargetScheduleProperties", + className: "DetachDiskProperties", modelProperties: { - currentResourceId: { - serializedName: "currentResourceId", - type: { - name: "String" - } - }, - targetResourceId: { - serializedName: "targetResourceId", + leasedByLabVmId: { + serializedName: "leasedByLabVmId", type: { name: "String" } @@ -2747,10 +2328,10 @@ export const RetargetScheduleProperties: coreClient.CompositeMapper = { } }; -export const ServiceRunnerList: coreClient.CompositeMapper = { +export const DtlEnvironmentList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceRunnerList", + className: "DtlEnvironmentList", modelProperties: { value: { serializedName: "value", @@ -2759,7 +2340,7 @@ export const ServiceRunnerList: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ServiceRunner" + className: "DtlEnvironment" } } } @@ -2774,142 +2355,3552 @@ export const ServiceRunnerList: coreClient.CompositeMapper = { } }; -export const ShutdownNotificationContent: coreClient.CompositeMapper = { +export const ArmTemplateParameterProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ShutdownNotificationContent", + className: "ArmTemplateParameterProperties", modelProperties: { - skipUrl: { - serializedName: "skipUrl", + name: { + serializedName: "name", type: { name: "String" } }, - delayUrl60: { - serializedName: "delayUrl60", + value: { + serializedName: "value", type: { name: "String" } - }, - delayUrl120: { - serializedName: "delayUrl120", + } + } + } +}; + +export const SecretList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecretList", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Secret" + } + } } }, - vmName: { - serializedName: "vmName", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - guid: { - serializedName: "guid", + } + } + } +}; + +export const ServiceFabricList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceFabricList", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" - } - }, - owner: { - serializedName: "owner", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServiceFabric" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const LabVirtualMachineList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabVirtualMachineList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LabVirtualMachine" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ApplyArtifactsRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplyArtifactsRequest", + modelProperties: { + artifacts: { + serializedName: "artifacts", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ArtifactInstallProperties" + } + } + } + } + } + } +}; + +export const DetachDataDiskProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DetachDataDiskProperties", + modelProperties: { + existingLabDiskId: { + serializedName: "existingLabDiskId", + type: { + name: "String" + } + } + } + } +}; + +export const RdpConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RdpConnection", + modelProperties: { + contents: { + serializedName: "contents", + type: { + name: "String" + } + } + } + } +}; + +export const ResizeLabVirtualMachineProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResizeLabVirtualMachineProperties", + modelProperties: { + size: { + serializedName: "size", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetwork" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const Subnet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Subnet", + modelProperties: { + resourceId: { + serializedName: "resourceId", + type: { + name: "String" + } + }, + labSubnetName: { + serializedName: "labSubnetName", + type: { + name: "String" + } + }, + allowPublicIp: { + serializedName: "allowPublicIp", + type: { + name: "String" + } + } + } + } +}; + +export const ExternalSubnet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExternalSubnet", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + } + } + } +}; + +export const SubnetOverride: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SubnetOverride", + modelProperties: { + resourceId: { + serializedName: "resourceId", + type: { + name: "String" + } + }, + labSubnetName: { + serializedName: "labSubnetName", + type: { + name: "String" + } + }, + useInVmCreationPermission: { + serializedName: "useInVmCreationPermission", + type: { + name: "String" + } + }, + usePublicIpAddressPermission: { + serializedName: "usePublicIpAddressPermission", + type: { + name: "String" + } + }, + virtualNetworkPoolName: { + serializedName: "virtualNetworkPoolName", + type: { + name: "String" + } + }, + allowedPorts: { + serializedName: "sharedPublicIpAddressConfiguration.allowedPorts", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Port" + } + } + } + } + } + } +}; + +export const Port: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Port", + modelProperties: { + transportProtocol: { + serializedName: "transportProtocol", + type: { + name: "String" + } + }, + backendPort: { + serializedName: "backendPort", + type: { + name: "Number" + } + } + } + } +}; + +export const BastionHostList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BastionHostList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BastionHost" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ExportResourceUsageParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExportResourceUsageParameters", + modelProperties: { + blobStorageAbsoluteSasUri: { + serializedName: "blobStorageAbsoluteSasUri", + type: { + name: "String" + } + }, + usageStartDate: { + serializedName: "usageStartDate", + type: { + name: "DateTime" + } + } + } + } +}; + +export const GenerateUploadUriParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GenerateUploadUriParameter", + modelProperties: { + blobName: { + serializedName: "blobName", + type: { + name: "String" + } + } + } + } +}; + +export const GenerateUploadUriResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GenerateUploadUriResponse", + modelProperties: { + uploadUri: { + serializedName: "uploadUri", + type: { + name: "String" + } + } + } + } +}; + +export const ImportLabVirtualMachineRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImportLabVirtualMachineRequest", + modelProperties: { + sourceVirtualMachineResourceId: { + serializedName: "sourceVirtualMachineResourceId", + type: { + name: "String" + } + }, + destinationVirtualMachineName: { + serializedName: "destinationVirtualMachineName", + type: { + name: "String" + } + } + } + } +}; + +export const LabVhdList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabVhdList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LabVhd" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const LabVhd: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabVhd", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const RetargetScheduleProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RetargetScheduleProperties", + modelProperties: { + currentResourceId: { + serializedName: "currentResourceId", + type: { + name: "String" + } + }, + targetResourceId: { + serializedName: "targetResourceId", + type: { + name: "String" + } + } + } + } +}; + +export const CustomImagePropertiesFromPlanFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomImagePropertiesFromPlanFragment", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + publisher: { + serializedName: "publisher", + type: { + name: "String" + } + }, + offer: { + serializedName: "offer", + type: { + name: "String" + } + } + } + } +}; + +export const WeekDetailsFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "WeekDetailsFragment", + modelProperties: { + weekdays: { + serializedName: "weekdays", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + time: { + serializedName: "time", + type: { + name: "String" + } + } + } + } +}; + +export const Lab: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Lab", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + typeIdentityType: { + serializedName: "identity.type", + type: { + name: "String" + } + }, + principalId: { + serializedName: "identity.principalId", + type: { + name: "String" + } + }, + tenantId: { + serializedName: "identity.tenantId", + type: { + name: "String" + } + }, + clientSecretUrl: { + serializedName: "identity.clientSecretUrl", + type: { + name: "String" + } + }, + userAssignedIdentities: { + serializedName: "identity.userAssignedIdentities", + type: { + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + } + }, + defaultStorageAccount: { + serializedName: "properties.defaultStorageAccount", + readOnly: true, + type: { + name: "String" + } + }, + defaultPremiumStorageAccount: { + serializedName: "properties.defaultPremiumStorageAccount", + readOnly: true, + type: { + name: "String" + } + }, + artifactsStorageAccount: { + serializedName: "properties.artifactsStorageAccount", + readOnly: true, + type: { + name: "String" + } + }, + premiumDataDiskStorageAccount: { + serializedName: "properties.premiumDataDiskStorageAccount", + readOnly: true, + type: { + name: "String" + } + }, + vaultName: { + serializedName: "properties.vaultName", + readOnly: true, + type: { + name: "String" + } + }, + labStorageType: { + serializedName: "properties.labStorageType", + type: { + name: "String" + } + }, + mandatoryArtifactsResourceIdsLinux: { + serializedName: "properties.mandatoryArtifactsResourceIdsLinux", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + mandatoryArtifactsResourceIdsWindows: { + serializedName: "properties.mandatoryArtifactsResourceIdsWindows", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + premiumDataDisks: { + serializedName: "properties.premiumDataDisks", + type: { + name: "String" + } + }, + environmentPermission: { + serializedName: "properties.environmentPermission", + type: { + name: "String" + } + }, + vmCreationResourceGroup: { + serializedName: "properties.vmCreationResourceGroup", + readOnly: true, + type: { + name: "String" + } + }, + publicIpId: { + serializedName: "properties.publicIpId", + readOnly: true, + type: { + name: "String" + } + }, + loadBalancerId: { + serializedName: "properties.loadBalancerId", + readOnly: true, + type: { + name: "String" + } + }, + networkSecurityGroupId: { + serializedName: "properties.networkSecurityGroupId", + readOnly: true, + type: { + name: "String" + } + }, + extendedProperties: { + serializedName: "properties.extendedProperties", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + browserConnect: { + serializedName: "properties.browserConnect", + type: { + name: "String" + } + }, + disableAutoUpgradeCseMinorVersion: { + serializedName: "properties.disableAutoUpgradeCseMinorVersion", + type: { + name: "Boolean" + } + }, + managementIdentities: { + serializedName: "properties.managementIdentities", + type: { + name: "Dictionary", + value: { + type: { name: "Dictionary", value: { type: { name: "any" } } } + } + } + }, + isolateLabResources: { + serializedName: "properties.isolateLabResources", + type: { + name: "String" + } + }, + defaultSecretName: { + serializedName: "properties.defaultSecretName", + type: { + name: "String" + } + }, + provisioningStatePropertiesProvisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesUniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "properties.encryption.diskEncryptionSetId", + type: { + name: "String" + } + }, + typePropertiesEncryptionType: { + serializedName: "properties.encryption.type", + type: { + name: "String" + } + }, + enabledPropertiesSupportEnabled: { + serializedName: "properties.support.enabled", + type: { + name: "String" + } + }, + markdownPropertiesSupportMarkdown: { + serializedName: "properties.support.markdown", + type: { + name: "String" + } + }, + title: { + serializedName: "properties.announcement.title", + type: { + name: "String" + } + }, + markdownPropertiesAnnouncementMarkdown: { + serializedName: "properties.announcement.markdown", + type: { + name: "String" + } + }, + enabledPropertiesAnnouncementEnabled: { + serializedName: "properties.announcement.enabled", + type: { + name: "String" + } + }, + expirationDate: { + serializedName: "properties.announcement.expirationDate", + type: { + name: "DateTime" + } + }, + expired: { + serializedName: "properties.announcement.expired", + type: { + name: "Boolean" + } + }, + provisioningStatePropertiesAnnouncementProvisioningState: { + serializedName: "properties.announcement.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesAnnouncementUniqueIdentifier: { + serializedName: "properties.announcement.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const Schedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Schedule", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesStatus: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + taskType: { + serializedName: "properties.taskType", + type: { + name: "String" + } + }, + timeZoneId: { + serializedName: "properties.timeZoneId", + type: { + name: "String" + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceId: { + serializedName: "properties.targetResourceId", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + statusPropertiesNotificationSettingsStatus: { + serializedName: "properties.notificationSettings.status", + type: { + name: "String" + } + }, + timeInMinutes: { + serializedName: "properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrl: { + serializedName: "properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipient: { + serializedName: "properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocale: { + serializedName: "properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minute: { + serializedName: "properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesDailyRecurrenceTime: { + serializedName: "properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdays: { + serializedName: "properties.weeklyRecurrence.weekdays", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + timePropertiesWeeklyRecurrenceTime: { + serializedName: "properties.weeklyRecurrence.time", + type: { + name: "String" + } + } + } + } +}; + +export const ArtifactSource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ArtifactSource", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, + uri: { + serializedName: "properties.uri", + type: { + name: "String" + } + }, + sourceType: { + serializedName: "properties.sourceType", + type: { + name: "String" + } + }, + folderPath: { + serializedName: "properties.folderPath", + type: { + name: "String" + } + }, + armTemplateFolderPath: { + serializedName: "properties.armTemplateFolderPath", + type: { + name: "String" + } + }, + branchRef: { + serializedName: "properties.branchRef", + type: { + name: "String" + } + }, + securityToken: { + serializedName: "properties.securityToken", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ArmTemplate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ArmTemplate", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + displayName: { + serializedName: "properties.displayName", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String" + } + }, + publisher: { + serializedName: "properties.publisher", + readOnly: true, + type: { + name: "String" + } + }, + icon: { + serializedName: "properties.icon", + readOnly: true, + type: { + name: "String" + } + }, + contents: { + serializedName: "properties.contents", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + parametersValueFilesInfo: { + serializedName: "properties.parametersValueFilesInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ParametersValueFileInfo" + } + } + } + }, + enabled: { + serializedName: "properties.enabled", + readOnly: true, + type: { + name: "Boolean" + } + } + } + } +}; + +export const Artifact: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Artifact", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + title: { + serializedName: "properties.title", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String" + } + }, + publisher: { + serializedName: "properties.publisher", + readOnly: true, + type: { + name: "String" + } + }, + filePath: { + serializedName: "properties.filePath", + readOnly: true, + type: { + name: "String" + } + }, + icon: { + serializedName: "properties.icon", + readOnly: true, + type: { + name: "String" + } + }, + targetOsType: { + serializedName: "properties.targetOsType", + readOnly: true, + type: { + name: "String" + } + }, + parameters: { + serializedName: "properties.parameters", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const CustomImage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomImage", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + author: { + serializedName: "properties.author", + type: { + name: "String" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + managedImageId: { + serializedName: "properties.managedImageId", + type: { + name: "String" + } + }, + managedSnapshotId: { + serializedName: "properties.managedSnapshotId", + type: { + name: "String" + } + }, + dataDiskStorageInfo: { + serializedName: "properties.dataDiskStorageInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataDiskStorageTypeInfo" + } + } + } + }, + isPlanAuthorized: { + serializedName: "properties.isPlanAuthorized", + type: { + name: "Boolean" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + idPropertiesCustomImagePlanId: { + serializedName: "properties.customImagePlan.id", + type: { + name: "String" + } + }, + publisher: { + serializedName: "properties.customImagePlan.publisher", + type: { + name: "String" + } + }, + offer: { + serializedName: "properties.customImagePlan.offer", + type: { + name: "String" + } + }, + imageName: { + serializedName: "properties.vhd.imageName", + type: { + name: "String" + } + }, + sysPrep: { + serializedName: "properties.vhd.sysPrep", + type: { + name: "Boolean" + } + }, + osType: { + serializedName: "properties.vhd.osType", + type: { + name: "String" + } + }, + sourceVmId: { + serializedName: "properties.vm.sourceVmId", + type: { + name: "String" + } + }, + linuxOsState: { + serializedName: "properties.vm.linuxOsInfo.linuxOsState", + type: { + name: "String" + } + }, + windowsOsState: { + serializedName: "properties.vm.windowsOsInfo.windowsOsState", + type: { + name: "String" + } + } + } + } +}; + +export const ApplicableSchedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicableSchedule", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + idPropertiesLabVmsStartupId: { + serializedName: "properties.labVmsStartup.id", + readOnly: true, + type: { + name: "String" + } + }, + namePropertiesLabVmsStartupName: { + serializedName: "properties.labVmsStartup.name", + readOnly: true, + type: { + name: "String" + } + }, + typePropertiesLabVmsStartupType: { + serializedName: "properties.labVmsStartup.type", + readOnly: true, + type: { + name: "String" + } + }, + tagsPropertiesLabVmsStartupTags: { + serializedName: "properties.labVmsStartup.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesLabVmsStartupLocation: { + serializedName: "properties.labVmsStartup.location", + type: { + name: "String" + } + }, + systemDataPropertiesLabVmsStartupSystemData: { + serializedName: "properties.labVmsStartup.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesLabVmsStartupPropertiesStatus: { + serializedName: "properties.labVmsStartup.properties.status", + type: { + name: "String" + } + }, + taskTypePropertiesLabVmsStartupPropertiesTaskType: { + serializedName: "properties.labVmsStartup.properties.taskType", + type: { + name: "String" + } + }, + timeZoneIdPropertiesLabVmsStartupPropertiesTimeZoneId: { + serializedName: "properties.labVmsStartup.properties.timeZoneId", + type: { + name: "String" + } + }, + createdDatePropertiesLabVmsStartupPropertiesCreatedDate: { + serializedName: "properties.labVmsStartup.properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesLabVmsStartupPropertiesTargetResourceId: { + serializedName: "properties.labVmsStartup.properties.targetResourceId", + type: { + name: "String" + } + }, + provisioningStatePropertiesLabVmsStartupPropertiesProvisioningState: { + serializedName: "properties.labVmsStartup.properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesLabVmsStartupPropertiesUniqueIdentifier: { + serializedName: "properties.labVmsStartup.properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + statusPropertiesLabVmsStartupPropertiesNotificationSettingsStatus: { + serializedName: + "properties.labVmsStartup.properties.notificationSettings.status", + type: { + name: "String" + } + }, + timeInMinutesPropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.labVmsStartup.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.labVmsStartup.properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipientPropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.labVmsStartup.properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocalePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.labVmsStartup.properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minutePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.labVmsStartup.properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesLabVmsStartupPropertiesDailyRecurrenceTime: { + serializedName: + "properties.labVmsStartup.properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdaysPropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.labVmsStartup.properties.weeklyRecurrence.weekdays", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + timePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.labVmsStartup.properties.weeklyRecurrence.time", + type: { + name: "String" + } + }, + idPropertiesLabVmsShutdownId: { + serializedName: "properties.labVmsShutdown.id", + readOnly: true, + type: { + name: "String" + } + }, + namePropertiesLabVmsShutdownName: { + serializedName: "properties.labVmsShutdown.name", + readOnly: true, + type: { + name: "String" + } + }, + typePropertiesLabVmsShutdownType: { + serializedName: "properties.labVmsShutdown.type", + readOnly: true, + type: { + name: "String" + } + }, + tagsPropertiesLabVmsShutdownTags: { + serializedName: "properties.labVmsShutdown.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesLabVmsShutdownLocation: { + serializedName: "properties.labVmsShutdown.location", + type: { + name: "String" + } + }, + systemDataPropertiesLabVmsShutdownSystemData: { + serializedName: "properties.labVmsShutdown.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesLabVmsShutdownPropertiesStatus: { + serializedName: "properties.labVmsShutdown.properties.status", + type: { + name: "String" + } + }, + taskTypePropertiesLabVmsShutdownPropertiesTaskType: { + serializedName: "properties.labVmsShutdown.properties.taskType", + type: { + name: "String" + } + }, + timeZoneIdPropertiesLabVmsShutdownPropertiesTimeZoneId: { + serializedName: "properties.labVmsShutdown.properties.timeZoneId", + type: { + name: "String" + } + }, + createdDatePropertiesLabVmsShutdownPropertiesCreatedDate: { + serializedName: "properties.labVmsShutdown.properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesLabVmsShutdownPropertiesTargetResourceId: { + serializedName: "properties.labVmsShutdown.properties.targetResourceId", + type: { + name: "String" + } + }, + provisioningStatePropertiesLabVmsShutdownPropertiesProvisioningState: { + serializedName: + "properties.labVmsShutdown.properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesLabVmsShutdownPropertiesUniqueIdentifier: { + serializedName: "properties.labVmsShutdown.properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + statusPropertiesLabVmsShutdownPropertiesNotificationSettingsStatus: { + serializedName: + "properties.labVmsShutdown.properties.notificationSettings.status", + type: { + name: "String" + } + }, + timeInMinutesPropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.labVmsShutdown.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.labVmsShutdown.properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipientPropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.labVmsShutdown.properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocalePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.labVmsShutdown.properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minutePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.labVmsShutdown.properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime: { + serializedName: + "properties.labVmsShutdown.properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdaysPropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.labVmsShutdown.properties.weeklyRecurrence.weekdays", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + timePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.labVmsShutdown.properties.weeklyRecurrence.time", + type: { + name: "String" + } + } + } + } +}; + +export const Formula: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Formula", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + author: { + serializedName: "properties.author", + readOnly: true, + type: { + name: "String" + } + }, + osTypePropertiesOsType: { + serializedName: "properties.osType", + type: { + name: "String" + } + }, + creationDate: { + serializedName: "properties.creationDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + provisioningStatePropertiesProvisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesUniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + labVmId: { + serializedName: "properties.vm.labVmId", + type: { + name: "String" + } + }, + namePropertiesFormulaContentName: { + serializedName: "properties.formulaContent.name", + type: { + name: "String" + } + }, + locationPropertiesFormulaContentLocation: { + serializedName: "properties.formulaContent.location", + type: { + name: "String" + } + }, + tagsPropertiesFormulaContentTags: { + serializedName: "properties.formulaContent.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + notes: { + serializedName: "properties.formulaContent.properties.notes", + type: { + name: "String" + } + }, + ownerObjectId: { + defaultValue: "dynamicValue", + serializedName: "properties.formulaContent.properties.ownerObjectId", + type: { + name: "String" + } + }, + ownerUserPrincipalName: { + serializedName: + "properties.formulaContent.properties.ownerUserPrincipalName", + type: { + name: "String" + } + }, + createdByUserId: { + serializedName: "properties.formulaContent.properties.createdByUserId", + readOnly: true, + type: { + name: "String" + } + }, + createdByUser: { + serializedName: "properties.formulaContent.properties.createdByUser", + readOnly: true, + type: { + name: "String" + } + }, + createdDatePropertiesFormulaContentPropertiesCreatedDate: { + serializedName: "properties.formulaContent.properties.createdDate", + type: { + name: "DateTime" + } + }, + computeId: { + serializedName: "properties.formulaContent.properties.computeId", + readOnly: true, + type: { + name: "String" + } + }, + customImageId: { + serializedName: "properties.formulaContent.properties.customImageId", + type: { + name: "String" + } + }, + galleryImageVersionId: { + serializedName: + "properties.formulaContent.properties.galleryImageVersionId", + type: { + name: "String" + } + }, + sharedImageId: { + serializedName: "properties.formulaContent.properties.sharedImageId", + type: { + name: "String" + } + }, + sharedImageVersion: { + serializedName: + "properties.formulaContent.properties.sharedImageVersion", + type: { + name: "String" + } + }, + osTypePropertiesFormulaContentPropertiesOsType: { + serializedName: "properties.formulaContent.properties.osType", + readOnly: true, + type: { + name: "String" + } + }, + size: { + serializedName: "properties.formulaContent.properties.size", + type: { + name: "String" + } + }, + userName: { + serializedName: "properties.formulaContent.properties.userName", + type: { + name: "String" + } + }, + password: { + serializedName: "properties.formulaContent.properties.password", + type: { + name: "String" + } + }, + sshKey: { + serializedName: "properties.formulaContent.properties.sshKey", + type: { + name: "String" + } + }, + isAuthenticationWithSshKey: { + serializedName: + "properties.formulaContent.properties.isAuthenticationWithSshKey", + type: { + name: "Boolean" + } + }, + fqdn: { + serializedName: "properties.formulaContent.properties.fqdn", + readOnly: true, + type: { + name: "String" + } + }, + labSubnetName: { + serializedName: "properties.formulaContent.properties.labSubnetName", + type: { + name: "String" + } + }, + labVirtualNetworkId: { + serializedName: + "properties.formulaContent.properties.labVirtualNetworkId", + type: { + name: "String" + } + }, + disallowPublicIpAddress: { + defaultValue: false, + serializedName: + "properties.formulaContent.properties.disallowPublicIpAddress", + type: { + name: "Boolean" + } + }, + artifacts: { + serializedName: "properties.formulaContent.properties.artifacts", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ArtifactInstallProperties" + } + } + } + }, + planId: { + serializedName: "properties.formulaContent.properties.planId", + type: { + name: "String" + } + }, + osDiskSizeGb: { + serializedName: "properties.formulaContent.properties.osDiskSizeGb", + type: { + name: "Number" + } + }, + expirationDate: { + serializedName: "properties.formulaContent.properties.expirationDate", + type: { + name: "DateTime" + } + }, + allowClaim: { + defaultValue: false, + serializedName: "properties.formulaContent.properties.allowClaim", + type: { + name: "Boolean" + } + }, + storageType: { + serializedName: "properties.formulaContent.properties.storageType", + type: { + name: "String" + } + }, + virtualMachineCreationSource: { + serializedName: + "properties.formulaContent.properties.virtualMachineCreationSource", + readOnly: true, + type: { + name: "String" + } + }, + environmentId: { + serializedName: "properties.formulaContent.properties.environmentId", + type: { + name: "String" + } + }, + dataDiskParameters: { + serializedName: + "properties.formulaContent.properties.dataDiskParameters", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataDiskProperties" + } + } + } + }, + scheduleParameters: { + serializedName: + "properties.formulaContent.properties.scheduleParameters", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScheduleCreationParameter" + } + } + } + }, + lastKnownPowerState: { + serializedName: + "properties.formulaContent.properties.lastKnownPowerState", + readOnly: true, + type: { + name: "String" + } + }, + canApplyArtifacts: { + serializedName: + "properties.formulaContent.properties.canApplyArtifacts", + readOnly: true, + type: { + name: "Boolean" + } + }, + provisioningStatePropertiesFormulaContentPropertiesProvisioningState: { + serializedName: + "properties.formulaContent.properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesFormulaContentPropertiesUniqueIdentifier: { + serializedName: "properties.formulaContent.properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + securityProfile: { + serializedName: "properties.formulaContent.properties.securityProfile", + type: { + name: "Composite", + className: "SecurityProfile" + } + }, + idPropertiesFormulaContentPropertiesApplicableScheduleId: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.id", + readOnly: true, + type: { + name: "String" + } + }, + namePropertiesFormulaContentPropertiesApplicableScheduleName: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.name", + readOnly: true, + type: { + name: "String" + } + }, + typePropertiesFormulaContentPropertiesApplicableScheduleType: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.type", + readOnly: true, + type: { + name: "String" + } + }, + tagsPropertiesFormulaContentPropertiesApplicableScheduleTags: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesFormulaContentPropertiesApplicableScheduleLocation: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.location", + type: { + name: "String" + } + }, + systemDataPropertiesFormulaContentPropertiesApplicableScheduleSystemData: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupId: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.id", + readOnly: true, + type: { + name: "String" + } + }, + namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupName: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.name", + readOnly: true, + type: { + name: "String" + } + }, + typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupType: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.type", + readOnly: true, + type: { + name: "String" + } + }, + tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupTags: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupLocation: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.location", + type: { + name: "String" + } + }, + systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.status", + type: { + name: "String" + } + }, + taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.taskType", + type: { + name: "String" + } + }, + timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.timeZoneId", + type: { + name: "String" + } + }, + createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.targetResourceId", + type: { + name: "String" + } + }, + provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.status", + type: { + name: "String" + } + }, + timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.weekdays", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.time", + type: { + name: "String" + } + }, + idPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownId: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.id", + readOnly: true, + type: { + name: "String" + } + }, + namePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownName: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.name", + readOnly: true, + type: { + name: "String" + } + }, + typePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownType: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.type", + readOnly: true, + type: { + name: "String" + } + }, + tagsPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownTags: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.location", + type: { + name: "String" + } + }, + systemDataPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.status", + type: { + name: "String" + } + }, + taskTypePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.taskType", + type: { + name: "String" + } + }, + timeZoneIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.timeZoneId", + type: { + name: "String" + } + }, + createdDatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.targetResourceId", + type: { + name: "String" + } + }, + provisioningStatePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + statusPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.status", + type: { + name: "String" + } + }, + timeInMinutesPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipientPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocalePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minutePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdaysPropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.weekdays", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + timePropertiesFormulaContentPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.formulaContent.properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.time", + type: { + name: "String" + } + }, + virtualNetworkId: { + serializedName: + "properties.formulaContent.properties.networkInterface.virtualNetworkId", + type: { + name: "String" + } + }, + subnetId: { + serializedName: + "properties.formulaContent.properties.networkInterface.subnetId", + type: { + name: "String" + } + }, + publicIpAddressId: { + serializedName: + "properties.formulaContent.properties.networkInterface.publicIpAddressId", + type: { + name: "String" + } + }, + publicIpAddress: { + serializedName: + "properties.formulaContent.properties.networkInterface.publicIpAddress", + type: { + name: "String" + } + }, + privateIpAddress: { + serializedName: + "properties.formulaContent.properties.networkInterface.privateIpAddress", + type: { + name: "String" + } + }, + dnsName: { + serializedName: + "properties.formulaContent.properties.networkInterface.dnsName", + type: { + name: "String" + } + }, + rdpAuthority: { + serializedName: + "properties.formulaContent.properties.networkInterface.rdpAuthority", + type: { + name: "String" + } + }, + sshAuthority: { + serializedName: + "properties.formulaContent.properties.networkInterface.sshAuthority", + type: { + name: "String" + } + }, + inboundNatRules: { + serializedName: + "properties.formulaContent.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InboundNatRule" + } + } + } + }, + statuses: { + serializedName: + "properties.formulaContent.properties.computeVm.statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ComputeVmInstanceViewStatus" + } + } + } + }, + osTypePropertiesFormulaContentPropertiesComputeVmOsType: { + serializedName: "properties.formulaContent.properties.computeVm.osType", + type: { + name: "String" + } + }, + vmSize: { + serializedName: "properties.formulaContent.properties.computeVm.vmSize", + type: { + name: "String" + } + }, + networkInterfaceId: { + serializedName: + "properties.formulaContent.properties.computeVm.networkInterfaceId", + type: { + name: "String" + } + }, + osDiskId: { + serializedName: + "properties.formulaContent.properties.computeVm.osDiskId", + type: { + name: "String" + } + }, + dataDiskIds: { + serializedName: + "properties.formulaContent.properties.computeVm.dataDiskIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dataDisks: { + serializedName: + "properties.formulaContent.properties.computeVm.dataDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ComputeDataDisk" + } + } + } + }, + offer: { + serializedName: + "properties.formulaContent.properties.galleryImageReference.offer", + type: { + name: "String" + } + }, + publisher: { + serializedName: + "properties.formulaContent.properties.galleryImageReference.publisher", + type: { + name: "String" + } + }, + sku: { + serializedName: + "properties.formulaContent.properties.galleryImageReference.sku", + type: { + name: "String" + } + }, + osTypePropertiesFormulaContentPropertiesGalleryImageReferenceOsType: { + serializedName: + "properties.formulaContent.properties.galleryImageReference.osType", + type: { + name: "String" + } + }, + version: { + serializedName: + "properties.formulaContent.properties.galleryImageReference.version", + type: { + name: "String" + } + }, + deploymentStatus: { + serializedName: + "properties.formulaContent.properties.artifactDeploymentStatus.deploymentStatus", + type: { + name: "String" + } + }, + artifactsApplied: { + serializedName: + "properties.formulaContent.properties.artifactDeploymentStatus.artifactsApplied", + type: { + name: "Number" + } + }, + totalArtifacts: { + serializedName: + "properties.formulaContent.properties.artifactDeploymentStatus.totalArtifacts", + type: { + name: "Number" + } + }, + instanceCount: { + serializedName: + "properties.formulaContent.properties.bulkCreationParameters.instanceCount", + type: { + name: "Number" + } + } + } + } +}; + +export const GalleryImage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GalleryImage", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + author: { + serializedName: "properties.author", + type: { + name: "String" + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + icon: { + serializedName: "properties.icon", + type: { + name: "String" + } + }, + enabled: { + serializedName: "properties.enabled", + type: { + name: "Boolean" + } + }, + planId: { + serializedName: "properties.planId", + type: { + name: "String" + } + }, + isPlanAuthorized: { + serializedName: "properties.isPlanAuthorized", + type: { + name: "Boolean" + } + }, + offer: { + serializedName: "properties.imageReference.offer", + type: { + name: "String" + } + }, + publisher: { + serializedName: "properties.imageReference.publisher", + type: { + name: "String" + } + }, + sku: { + serializedName: "properties.imageReference.sku", + type: { + name: "String" + } + }, + osType: { + serializedName: "properties.imageReference.osType", + type: { + name: "String" + } + }, + version: { + serializedName: "properties.imageReference.version", + type: { + name: "String" + } + } + } + } +}; + +export const NotificationChannel: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NotificationChannel", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + webHookUrl: { + serializedName: "properties.webHookUrl", + type: { + name: "String" + } + }, + emailRecipient: { + serializedName: "properties.emailRecipient", + type: { + name: "String" + } + }, + notificationLocale: { + serializedName: "properties.notificationLocale", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + events: { + serializedName: "properties.events", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Event" + } + } + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PolicySet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicySet", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const Policy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Policy", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + factName: { + serializedName: "properties.factName", + type: { + name: "String" + } + }, + factData: { + serializedName: "properties.factData", + type: { + name: "String" + } + }, + threshold: { + serializedName: "properties.threshold", + type: { + name: "String" + } + }, + evaluatorType: { + serializedName: "properties.evaluatorType", + type: { + name: "String" + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const LabSecret: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabSecret", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + value: { + serializedName: "properties.value", + type: { + name: "String" + } + }, + keyVaultEntry: { + serializedName: "properties.keyVaultEntry", + readOnly: true, + type: { + name: "String" + } + }, + enabledForArtifacts: { + serializedName: "properties.enabledForArtifacts", + type: { + name: "Boolean" + } + }, + enabledForVmCreation: { + serializedName: "properties.enabledForVmCreation", + type: { + name: "Boolean" + } + }, + enabledForArmEnvironments: { + serializedName: "properties.enabledForArmEnvironments", + type: { + name: "Boolean" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ServiceRunner: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceRunner", + modelProperties: { + ...Resource.type.modelProperties, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "IdentityProperties" + } + }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + identityUsageType: { + serializedName: "properties.identityUsageType", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SharedGallery: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SharedGallery", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + galleryId: { + serializedName: "properties.galleryId", + type: { + name: "String" + } + }, + allowAllImages: { + serializedName: "properties.allowAllImages", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const SharedImage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SharedImage", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + definitionName: { + serializedName: "properties.definitionName", + type: { + name: "String" + } + }, + osType: { + serializedName: "properties.osType", + type: { + name: "String" + } + }, + imageType: { + serializedName: "properties.imageType", + type: { + name: "String" + } + }, + enableState: { + serializedName: "properties.enableState", + type: { + name: "String" + } + }, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, + versions: { + serializedName: "properties.versions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ImageVersionProperties" + } + } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const User: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "User", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + keyVaultUri: { + serializedName: "properties.secretStore.keyVaultUri", + type: { + name: "String" + } + }, + keyVaultId: { + serializedName: "properties.secretStore.keyVaultId", + type: { + name: "String" + } + }, + principalName: { + serializedName: "properties.identity.principalName", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.identity.principalId", + type: { + name: "String" + } + }, + tenantId: { + serializedName: "properties.identity.tenantId", + type: { + name: "String" + } + }, + objectId: { + serializedName: "properties.identity.objectId", + type: { + name: "String" + } + }, + appId: { + serializedName: "properties.identity.appId", + type: { + name: "String" + } + } + } + } +}; + +export const Disk: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Disk", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + diskType: { + serializedName: "properties.diskType", + type: { + name: "String" + } + }, + diskSizeGiB: { + serializedName: "properties.diskSizeGiB", + type: { + name: "Number" + } + }, + leasedByLabVmId: { + serializedName: "properties.leasedByLabVmId", + type: { + name: "String" + } + }, + diskBlobName: { + serializedName: "properties.diskBlobName", + type: { + name: "String" + } + }, + diskUri: { + serializedName: "properties.diskUri", + type: { + name: "String" + } + }, + storageAccountId: { + serializedName: "properties.storageAccountId", + type: { + name: "String" + } + }, + createdDate: { + serializedName: "properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + hostCaching: { + serializedName: "properties.hostCaching", + type: { + name: "String" + } + }, + managedDiskId: { + serializedName: "properties.managedDiskId", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DtlEnvironment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DtlEnvironment", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + armTemplateDisplayName: { + serializedName: "properties.armTemplateDisplayName", + type: { + name: "String" + } + }, + resourceGroupId: { + serializedName: "properties.resourceGroupId", + readOnly: true, + type: { + name: "String" + } + }, + createdByUser: { + serializedName: "properties.createdByUser", + readOnly: true, + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + armTemplateId: { + serializedName: "properties.deploymentProperties.armTemplateId", + type: { + name: "String" + } + }, + parameters: { + serializedName: "properties.deploymentProperties.parameters", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ArmTemplateParameterProperties" + } + } + } + } + } + } +}; + +export const Secret: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Secret", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + value: { + serializedName: "properties.value", + type: { + name: "String" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ServiceFabric: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceFabric", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + externalServiceFabricId: { + serializedName: "properties.externalServiceFabricId", + type: { + name: "String" + } + }, + environmentId: { + serializedName: "properties.environmentId", + type: { + name: "String" + } + }, + provisioningStatePropertiesProvisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesUniqueIdentifier: { + serializedName: "properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + idPropertiesApplicableScheduleId: { + serializedName: "properties.applicableSchedule.id", + readOnly: true, + type: { + name: "String" + } + }, + namePropertiesApplicableScheduleName: { + serializedName: "properties.applicableSchedule.name", + readOnly: true, type: { name: "String" } }, - vmUrl: { - serializedName: "vmUrl", + typePropertiesApplicableScheduleType: { + serializedName: "properties.applicableSchedule.type", + readOnly: true, type: { name: "String" } }, - minutesUntilShutdown: { - serializedName: "minutesUntilShutdown", + tagsPropertiesApplicableScheduleTags: { + serializedName: "properties.applicableSchedule.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesApplicableScheduleLocation: { + serializedName: "properties.applicableSchedule.location", type: { name: "String" } }, - eventType: { - serializedName: "eventType", + systemDataPropertiesApplicableScheduleSystemData: { + serializedName: "properties.applicableSchedule.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + idPropertiesApplicableSchedulePropertiesLabVmsStartupId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.id", + readOnly: true, type: { name: "String" } }, - text: { - serializedName: "text", + namePropertiesApplicableSchedulePropertiesLabVmsStartupName: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.name", + readOnly: true, type: { name: "String" } }, - subscriptionId: { - serializedName: "subscriptionId", + typePropertiesApplicableSchedulePropertiesLabVmsStartupType: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.type", + readOnly: true, type: { name: "String" } }, - resourceGroupName: { - serializedName: "resourceGroupName", + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.location", type: { name: "String" } }, - labName: { - serializedName: "labName", + systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.status", type: { name: "String" } - } - } - } -}; - -export const Lab: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Lab", - modelProperties: { - ...Resource.type.modelProperties, - defaultStorageAccount: { - serializedName: "properties.defaultStorageAccount", - readOnly: true, + }, + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.taskType", type: { name: "String" } }, - defaultPremiumStorageAccount: { - serializedName: "properties.defaultPremiumStorageAccount", - readOnly: true, + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.timeZoneId", type: { name: "String" } }, - artifactsStorageAccount: { - serializedName: "properties.artifactsStorageAccount", + createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.createdDate", readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.targetResourceId", type: { name: "String" } }, - premiumDataDiskStorageAccount: { - serializedName: "properties.premiumDataDiskStorageAccount", + provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.provisioningState", readOnly: true, type: { name: "String" } }, - vaultName: { - serializedName: "properties.vaultName", + uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.uniqueIdentifier", readOnly: true, type: { name: "String" } }, - labStorageType: { - serializedName: "properties.labStorageType", + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.status", type: { name: "String" } }, - mandatoryArtifactsResourceIdsLinux: { - serializedName: "properties.mandatoryArtifactsResourceIdsLinux", + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.weekdays", type: { name: "Sequence", element: { @@ -2919,8 +5910,164 @@ export const Lab: coreClient.CompositeMapper = { } } }, - mandatoryArtifactsResourceIdsWindows: { - serializedName: "properties.mandatoryArtifactsResourceIdsWindows", + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.time", + type: { + name: "String" + } + }, + idPropertiesApplicableSchedulePropertiesLabVmsShutdownId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.id", + readOnly: true, + type: { + name: "String" + } + }, + namePropertiesApplicableSchedulePropertiesLabVmsShutdownName: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.name", + readOnly: true, + type: { + name: "String" + } + }, + typePropertiesApplicableSchedulePropertiesLabVmsShutdownType: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.type", + readOnly: true, + type: { + name: "String" + } + }, + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.location", + type: { + name: "String" + } + }, + systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.status", + type: { + name: "String" + } + }, + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.taskType", + type: { + name: "String" + } + }, + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.timeZoneId", + type: { + name: "String" + } + }, + createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.createdDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.targetResourceId", + type: { + name: "String" + } + }, + provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.uniqueIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.status", + type: { + name: "String" + } + }, + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.webhookUrl", + type: { + name: "String" + } + }, + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.emailRecipient", + type: { + name: "String" + } + }, + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.notificationLocale", + type: { + name: "String" + } + }, + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.dailyRecurrence.time", + type: { + name: "String" + } + }, + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.weekdays", type: { name: "Sequence", element: { @@ -2930,738 +6077,884 @@ export const Lab: coreClient.CompositeMapper = { } } }, - createdDate: { + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.time", + type: { + name: "String" + } + } + } + } +}; + +export const LabVirtualMachine: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabVirtualMachine", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + notes: { + serializedName: "properties.notes", + type: { + name: "String" + } + }, + ownerObjectId: { + defaultValue: "dynamicValue", + serializedName: "properties.ownerObjectId", + type: { + name: "String" + } + }, + ownerUserPrincipalName: { + serializedName: "properties.ownerUserPrincipalName", + type: { + name: "String" + } + }, + createdByUserId: { + serializedName: "properties.createdByUserId", + readOnly: true, + type: { + name: "String" + } + }, + createdByUser: { + serializedName: "properties.createdByUser", + readOnly: true, + type: { + name: "String" + } + }, + createdDatePropertiesCreatedDate: { serializedName: "properties.createdDate", + type: { + name: "DateTime" + } + }, + computeId: { + serializedName: "properties.computeId", + readOnly: true, + type: { + name: "String" + } + }, + customImageId: { + serializedName: "properties.customImageId", + type: { + name: "String" + } + }, + galleryImageVersionId: { + serializedName: "properties.galleryImageVersionId", + type: { + name: "String" + } + }, + sharedImageId: { + serializedName: "properties.sharedImageId", + type: { + name: "String" + } + }, + sharedImageVersion: { + serializedName: "properties.sharedImageVersion", + type: { + name: "String" + } + }, + osTypePropertiesOsType: { + serializedName: "properties.osType", readOnly: true, type: { - name: "DateTime" + name: "String" + } + }, + size: { + serializedName: "properties.size", + type: { + name: "String" } }, - premiumDataDisks: { - serializedName: "properties.premiumDataDisks", + userName: { + serializedName: "properties.userName", type: { name: "String" } }, - environmentPermission: { - serializedName: "properties.environmentPermission", + password: { + serializedName: "properties.password", type: { name: "String" } }, - announcement: { - serializedName: "properties.announcement", + sshKey: { + serializedName: "properties.sshKey", type: { - name: "Composite", - className: "LabAnnouncementProperties" + name: "String" } }, - support: { - serializedName: "properties.support", + isAuthenticationWithSshKey: { + serializedName: "properties.isAuthenticationWithSshKey", type: { - name: "Composite", - className: "LabSupportProperties" + name: "Boolean" } }, - vmCreationResourceGroup: { - serializedName: "properties.vmCreationResourceGroup", + fqdn: { + serializedName: "properties.fqdn", readOnly: true, type: { name: "String" } }, - publicIpId: { - serializedName: "properties.publicIpId", - readOnly: true, + labSubnetName: { + serializedName: "properties.labSubnetName", type: { name: "String" } }, - loadBalancerId: { - serializedName: "properties.loadBalancerId", - readOnly: true, + labVirtualNetworkId: { + serializedName: "properties.labVirtualNetworkId", type: { name: "String" } }, - networkSecurityGroupId: { - serializedName: "properties.networkSecurityGroupId", - readOnly: true, + disallowPublicIpAddress: { + defaultValue: false, + serializedName: "properties.disallowPublicIpAddress", type: { - name: "String" + name: "Boolean" } }, - extendedProperties: { - serializedName: "properties.extendedProperties", + artifacts: { + serializedName: "properties.artifacts", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ArtifactInstallProperties" + } + } } }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + planId: { + serializedName: "properties.planId", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + osDiskSizeGb: { + serializedName: "properties.osDiskSizeGb", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const Schedule: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Schedule", - modelProperties: { - ...Resource.type.modelProperties, - status: { - serializedName: "properties.status", + }, + expirationDate: { + serializedName: "properties.expirationDate", type: { - name: "String" + name: "DateTime" } }, - taskType: { - serializedName: "properties.taskType", + allowClaim: { + defaultValue: false, + serializedName: "properties.allowClaim", + type: { + name: "Boolean" + } + }, + storageType: { + defaultValue: "Standard", + serializedName: "properties.storageType", type: { name: "String" } }, - weeklyRecurrence: { - serializedName: "properties.weeklyRecurrence", + virtualMachineCreationSource: { + serializedName: "properties.virtualMachineCreationSource", + readOnly: true, type: { - name: "Composite", - className: "WeekDetails" + name: "String" } }, - dailyRecurrence: { - serializedName: "properties.dailyRecurrence", + environmentId: { + serializedName: "properties.environmentId", type: { - name: "Composite", - className: "DayDetails" + name: "String" } }, - hourlyRecurrence: { - serializedName: "properties.hourlyRecurrence", + dataDiskParameters: { + serializedName: "properties.dataDiskParameters", type: { - name: "Composite", - className: "HourDetails" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataDiskProperties" + } + } } }, - timeZoneId: { - serializedName: "properties.timeZoneId", + scheduleParameters: { + serializedName: "properties.scheduleParameters", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScheduleCreationParameter" + } + } } }, - notificationSettings: { - serializedName: "properties.notificationSettings", + lastKnownPowerState: { + serializedName: "properties.lastKnownPowerState", + readOnly: true, type: { - name: "Composite", - className: "NotificationSettings" + name: "String" } }, - createdDate: { - serializedName: "properties.createdDate", + canApplyArtifacts: { + serializedName: "properties.canApplyArtifacts", readOnly: true, type: { - name: "DateTime" + name: "Boolean" } }, - targetResourceId: { - serializedName: "properties.targetResourceId", + securityProfile: { + serializedName: "properties.securityProfile", type: { - name: "String" + name: "Composite", + className: "SecurityProfile" } }, - provisioningState: { + provisioningStatePropertiesProvisioningState: { serializedName: "properties.provisioningState", readOnly: true, type: { name: "String" } }, - uniqueIdentifier: { + uniqueIdentifierPropertiesUniqueIdentifier: { serializedName: "properties.uniqueIdentifier", readOnly: true, type: { name: "String" } - } - } - } -}; - -export const ArtifactSource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ArtifactSource", - modelProperties: { - ...Resource.type.modelProperties, - displayName: { - serializedName: "properties.displayName", + }, + idPropertiesApplicableScheduleId: { + serializedName: "properties.applicableSchedule.id", + readOnly: true, type: { name: "String" } }, - uri: { - serializedName: "properties.uri", + namePropertiesApplicableScheduleName: { + serializedName: "properties.applicableSchedule.name", + readOnly: true, type: { name: "String" } }, - sourceType: { - serializedName: "properties.sourceType", + typePropertiesApplicableScheduleType: { + serializedName: "properties.applicableSchedule.type", + readOnly: true, type: { name: "String" } }, - folderPath: { - serializedName: "properties.folderPath", + tagsPropertiesApplicableScheduleTags: { + serializedName: "properties.applicableSchedule.tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - armTemplateFolderPath: { - serializedName: "properties.armTemplateFolderPath", + locationPropertiesApplicableScheduleLocation: { + serializedName: "properties.applicableSchedule.location", type: { name: "String" } }, - branchRef: { - serializedName: "properties.branchRef", + systemDataPropertiesApplicableScheduleSystemData: { + serializedName: "properties.applicableSchedule.systemData", type: { - name: "String" + name: "Composite", + className: "SystemData" } }, - securityToken: { - serializedName: "properties.securityToken", + idPropertiesApplicableSchedulePropertiesLabVmsStartupId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.id", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "properties.status", + namePropertiesApplicableSchedulePropertiesLabVmsStartupName: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.name", + readOnly: true, type: { name: "String" } }, - createdDate: { - serializedName: "properties.createdDate", + typePropertiesApplicableSchedulePropertiesLabVmsStartupType: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.type", readOnly: true, type: { - name: "DateTime" + name: "String" } }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + tagsPropertiesApplicableSchedulePropertiesLabVmsStartupTags: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + locationPropertiesApplicableSchedulePropertiesLabVmsStartupLocation: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.location", type: { name: "String" } - } - } - } -}; - -export const ArmTemplate: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ArmTemplate", - modelProperties: { - ...Resource.type.modelProperties, - displayName: { - serializedName: "properties.displayName", - readOnly: true, + }, + systemDataPropertiesApplicableSchedulePropertiesLabVmsStartupSystemData: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.systemData", type: { - name: "String" + name: "Composite", + className: "SystemData" } }, - description: { - serializedName: "properties.description", - readOnly: true, + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.status", type: { name: "String" } }, - publisher: { - serializedName: "properties.publisher", - readOnly: true, + taskTypePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTaskType: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.taskType", type: { name: "String" } }, - icon: { - serializedName: "properties.icon", - readOnly: true, + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTimeZoneId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.timeZoneId", type: { name: "String" } }, - contents: { - serializedName: "properties.contents", + createdDatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesCreatedDate: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.createdDate", readOnly: true, type: { - name: "Dictionary", - value: { type: { name: "any" } } + name: "DateTime" } }, - createdDate: { - serializedName: "properties.createdDate", - readOnly: true, + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesTargetResourceId: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.targetResourceId", type: { - name: "DateTime" + name: "String" } }, - parametersValueFilesInfo: { - serializedName: "properties.parametersValueFilesInfo", + provisioningStatePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesProvisioningState: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.provisioningState", readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ParametersValueFileInfo" - } - } + name: "String" } }, - enabled: { - serializedName: "properties.enabled", + uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesUniqueIdentifier: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.uniqueIdentifier", readOnly: true, type: { - name: "Boolean" + name: "String" } - } - } - } -}; - -export const Artifact: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Artifact", - modelProperties: { - ...Resource.type.modelProperties, - title: { - serializedName: "properties.title", - readOnly: true, + }, + statusPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.status", type: { name: "String" } }, - description: { - serializedName: "properties.description", - readOnly: true, + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.timeInMinutes", + type: { + name: "Number" + } + }, + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.webhookUrl", type: { name: "String" } }, - publisher: { - serializedName: "properties.publisher", - readOnly: true, + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.emailRecipient", type: { name: "String" } }, - filePath: { - serializedName: "properties.filePath", - readOnly: true, + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.notificationSettings.notificationLocale", type: { name: "String" } }, - icon: { - serializedName: "properties.icon", - readOnly: true, + minutePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.hourlyRecurrence.minute", + type: { + name: "Number" + } + }, + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesDailyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.dailyRecurrence.time", type: { name: "String" } }, - targetOsType: { - serializedName: "properties.targetOsType", + weekdaysPropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.weekdays", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + timePropertiesApplicableSchedulePropertiesLabVmsStartupPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsStartup.properties.weeklyRecurrence.time", + type: { + name: "String" + } + }, + idPropertiesApplicableSchedulePropertiesLabVmsShutdownId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.id", readOnly: true, type: { name: "String" } }, - parameters: { - serializedName: "properties.parameters", + namePropertiesApplicableSchedulePropertiesLabVmsShutdownName: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.name", readOnly: true, type: { - name: "Dictionary", - value: { type: { name: "any" } } + name: "String" } }, - createdDate: { - serializedName: "properties.createdDate", + typePropertiesApplicableSchedulePropertiesLabVmsShutdownType: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.type", readOnly: true, type: { - name: "DateTime" + name: "String" } - } - } - } -}; - -export const LabCost: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "LabCost", - modelProperties: { - ...Resource.type.modelProperties, - targetCost: { - serializedName: "properties.targetCost", + }, + tagsPropertiesApplicableSchedulePropertiesLabVmsShutdownTags: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.tags", type: { - name: "Composite", - className: "TargetCostProperties" + name: "Dictionary", + value: { type: { name: "String" } } } }, - labCostSummary: { - serializedName: "properties.labCostSummary", + locationPropertiesApplicableSchedulePropertiesLabVmsShutdownLocation: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.location", type: { - name: "Composite", - className: "LabCostSummaryProperties" + name: "String" } }, - labCostDetails: { - serializedName: "properties.labCostDetails", - readOnly: true, + systemDataPropertiesApplicableSchedulePropertiesLabVmsShutdownSystemData: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.systemData", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LabCostDetailsProperties" - } - } + name: "Composite", + className: "SystemData" } }, - resourceCosts: { - serializedName: "properties.resourceCosts", - readOnly: true, + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.status", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LabResourceCostProperties" - } - } + name: "String" } }, - currencyCode: { - serializedName: "properties.currencyCode", + taskTypePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTaskType: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.taskType", type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", + timeZoneIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTimeZoneId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.timeZoneId", type: { - name: "DateTime" + name: "String" } }, - endDateTime: { - serializedName: "properties.endDateTime", + createdDatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesCreatedDate: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.createdDate", + readOnly: true, type: { name: "DateTime" } }, - createdDate: { - serializedName: "properties.createdDate", + targetResourceIdPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesTargetResourceId: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.targetResourceId", type: { - name: "DateTime" + name: "String" } }, - provisioningState: { - serializedName: "properties.provisioningState", + provisioningStatePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesProvisioningState: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.provisioningState", readOnly: true, type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", + uniqueIdentifierPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesUniqueIdentifier: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.uniqueIdentifier", readOnly: true, type: { name: "String" } - } - } - } -}; - -export const CustomImage: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CustomImage", - modelProperties: { - ...Resource.type.modelProperties, - vm: { - serializedName: "properties.vm", + }, + statusPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsStatus: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.status", type: { - name: "Composite", - className: "CustomImagePropertiesFromVm" + name: "String" } }, - vhd: { - serializedName: "properties.vhd", + timeInMinutesPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsTimeInMinutes: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.timeInMinutes", type: { - name: "Composite", - className: "CustomImagePropertiesCustom" + name: "Number" } }, - description: { - serializedName: "properties.description", + webhookUrlPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsWebhookUrl: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.webhookUrl", type: { name: "String" } }, - author: { - serializedName: "properties.author", + emailRecipientPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsEmailRecipient: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.emailRecipient", type: { name: "String" } }, - creationDate: { - serializedName: "properties.creationDate", - readOnly: true, + notificationLocalePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesNotificationSettingsNotificationLocale: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.notificationSettings.notificationLocale", type: { - name: "DateTime" + name: "String" } }, - managedImageId: { - serializedName: "properties.managedImageId", + minutePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesHourlyRecurrenceMinute: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.hourlyRecurrence.minute", type: { - name: "String" + name: "Number" } }, - managedSnapshotId: { - serializedName: "properties.managedSnapshotId", + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesDailyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.dailyRecurrence.time", type: { name: "String" } }, - dataDiskStorageInfo: { - serializedName: "properties.dataDiskStorageInfo", + weekdaysPropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceWeekdays: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.weekdays", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DataDiskStorageTypeInfo" + name: "String" } } } }, - customImagePlan: { - serializedName: "properties.customImagePlan", + timePropertiesApplicableSchedulePropertiesLabVmsShutdownPropertiesWeeklyRecurrenceTime: { + serializedName: + "properties.applicableSchedule.properties.labVmsShutdown.properties.weeklyRecurrence.time", type: { - name: "Composite", - className: "CustomImagePropertiesFromPlan" + name: "String" } }, - isPlanAuthorized: { - serializedName: "properties.isPlanAuthorized", + virtualNetworkId: { + serializedName: "properties.networkInterface.virtualNetworkId", type: { - name: "Boolean" + name: "String" } }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + subnetId: { + serializedName: "properties.networkInterface.subnetId", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + publicIpAddressId: { + serializedName: "properties.networkInterface.publicIpAddressId", type: { name: "String" } - } - } - } -}; - -export const Formula: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Formula", - modelProperties: { - ...Resource.type.modelProperties, - description: { - serializedName: "properties.description", + }, + publicIpAddress: { + serializedName: "properties.networkInterface.publicIpAddress", type: { name: "String" } }, - author: { - serializedName: "properties.author", - readOnly: true, + privateIpAddress: { + serializedName: "properties.networkInterface.privateIpAddress", type: { name: "String" } }, - osType: { - serializedName: "properties.osType", + dnsName: { + serializedName: "properties.networkInterface.dnsName", type: { name: "String" } }, - creationDate: { - serializedName: "properties.creationDate", - readOnly: true, + rdpAuthority: { + serializedName: "properties.networkInterface.rdpAuthority", type: { - name: "DateTime" + name: "String" } }, - formulaContent: { - serializedName: "properties.formulaContent", + sshAuthority: { + serializedName: "properties.networkInterface.sshAuthority", type: { - name: "Composite", - className: "LabVirtualMachineCreationParameter" + name: "String" } }, - vm: { - serializedName: "properties.vm", + inboundNatRules: { + serializedName: + "properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules", type: { - name: "Composite", - className: "FormulaPropertiesFromVm" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InboundNatRule" + } + } } }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + statuses: { + serializedName: "properties.computeVm.statuses", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ComputeVmInstanceViewStatus" + } + } + } + }, + osTypePropertiesComputeVmOsType: { + serializedName: "properties.computeVm.osType", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + vmSize: { + serializedName: "properties.computeVm.vmSize", type: { name: "String" } - } - } - } -}; - -export const GalleryImage: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "GalleryImage", - modelProperties: { - ...Resource.type.modelProperties, - author: { - serializedName: "properties.author", + }, + networkInterfaceId: { + serializedName: "properties.computeVm.networkInterfaceId", type: { name: "String" } }, - createdDate: { - serializedName: "properties.createdDate", - readOnly: true, + osDiskId: { + serializedName: "properties.computeVm.osDiskId", type: { - name: "DateTime" + name: "String" } }, - description: { - serializedName: "properties.description", + dataDiskIds: { + serializedName: "properties.computeVm.dataDiskIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dataDisks: { + serializedName: "properties.computeVm.dataDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ComputeDataDisk" + } + } + } + }, + offer: { + serializedName: "properties.galleryImageReference.offer", type: { name: "String" } }, - imageReference: { - serializedName: "properties.imageReference", + publisher: { + serializedName: "properties.galleryImageReference.publisher", type: { - name: "Composite", - className: "GalleryImageReference" + name: "String" } }, - icon: { - serializedName: "properties.icon", + sku: { + serializedName: "properties.galleryImageReference.sku", + type: { + name: "String" + } + }, + osTypePropertiesGalleryImageReferenceOsType: { + serializedName: "properties.galleryImageReference.osType", + type: { + name: "String" + } + }, + version: { + serializedName: "properties.galleryImageReference.version", type: { name: "String" } }, - enabled: { - serializedName: "properties.enabled", + deploymentStatus: { + serializedName: "properties.artifactDeploymentStatus.deploymentStatus", type: { - name: "Boolean" + name: "String" } }, - planId: { - serializedName: "properties.planId", + artifactsApplied: { + serializedName: "properties.artifactDeploymentStatus.artifactsApplied", type: { - name: "String" + name: "Number" } }, - isPlanAuthorized: { - serializedName: "properties.isPlanAuthorized", + totalArtifacts: { + serializedName: "properties.artifactDeploymentStatus.totalArtifacts", type: { - name: "Boolean" + name: "Number" } } } } }; -export const NotificationChannel: coreClient.CompositeMapper = { +export const VirtualNetwork: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NotificationChannel", + className: "VirtualNetwork", modelProperties: { ...Resource.type.modelProperties, - webHookUrl: { - serializedName: "properties.webHookUrl", + systemData: { + serializedName: "systemData", type: { - name: "String" + name: "Composite", + className: "SystemData" } }, - emailRecipient: { - serializedName: "properties.emailRecipient", + allowedSubnets: { + serializedName: "properties.allowedSubnets", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Subnet" + } + } } }, - notificationLocale: { - serializedName: "properties.notificationLocale", + description: { + serializedName: "properties.description", type: { name: "String" } }, - description: { - serializedName: "properties.description", + externalProviderResourceId: { + serializedName: "properties.externalProviderResourceId", type: { name: "String" } }, - events: { - serializedName: "properties.events", + externalSubnets: { + serializedName: "properties.externalSubnets", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "Event" + className: "ExternalSubnet" + } + } + } + }, + subnetOverrides: { + serializedName: "properties.subnetOverrides", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubnetOverride" } } } @@ -3691,53 +6984,31 @@ export const NotificationChannel: coreClient.CompositeMapper = { } }; -export const Policy: coreClient.CompositeMapper = { +export const BastionHost: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Policy", + className: "BastionHost", modelProperties: { ...Resource.type.modelProperties, - description: { - serializedName: "properties.description", - type: { - name: "String" - } - }, - status: { - serializedName: "properties.status", - type: { - name: "String" - } - }, - factName: { - serializedName: "properties.factName", - type: { - name: "String" - } - }, - factData: { - serializedName: "properties.factData", - type: { - name: "String" - } - }, - threshold: { - serializedName: "properties.threshold", + systemData: { + serializedName: "systemData", type: { - name: "String" + name: "Composite", + className: "SystemData" } }, - evaluatorType: { - serializedName: "properties.evaluatorType", + externalBastionHostId: { + serializedName: "properties.externalBastionHostId", + readOnly: true, type: { name: "String" } }, - createdDate: { - serializedName: "properties.createdDate", + ipAddressId: { + serializedName: "properties.ipAddressId", readOnly: true, type: { - name: "DateTime" + name: "String" } }, provisioningState: { @@ -3758,190 +7029,199 @@ export const Policy: coreClient.CompositeMapper = { } }; -export const ServiceRunner: coreClient.CompositeMapper = { +export const ArtifactSourceFragment: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceRunner", + className: "ArtifactSourceFragment", modelProperties: { - ...Resource.type.modelProperties, - identity: { - serializedName: "identity", - type: { - name: "Composite", - className: "IdentityProperties" - } - } + ...UpdateResource.type.modelProperties + } + } +}; + +export const CustomImageFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomImageFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const FormulaFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FormulaFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const NotificationChannelFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NotificationChannelFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const PolicyFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const ScheduleFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScheduleFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const SecretFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecretFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const SharedGalleryFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SharedGalleryFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const SharedImageFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SharedImageFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const UserFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UserFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const DiskFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiskFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const DtlEnvironmentFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DtlEnvironmentFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const ServiceFabricFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceFabricFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const LabVirtualMachineFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabVirtualMachineFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const VirtualNetworkFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkFragment", + modelProperties: { + ...UpdateResource.type.modelProperties + } + } +}; + +export const BastionHostFragment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BastionHostFragment", + modelProperties: { + ...UpdateResource.type.modelProperties } } }; -export const User: coreClient.CompositeMapper = { +export const LabFragment: coreClient.CompositeMapper = { type: { name: "Composite", - className: "User", + className: "LabFragment", modelProperties: { - ...Resource.type.modelProperties, - identity: { - serializedName: "properties.identity", - type: { - name: "Composite", - className: "UserIdentity" - } - }, - secretStore: { - serializedName: "properties.secretStore", - type: { - name: "Composite", - className: "UserSecretStore" - } - }, - createdDate: { - serializedName: "properties.createdDate", - readOnly: true, - type: { - name: "DateTime" - } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, - type: { - name: "String" - } - }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, - type: { - name: "String" - } - } + ...UpdateResource.type.modelProperties } } }; -export const Disk: coreClient.CompositeMapper = { +export const LabSecretFragment: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Disk", + className: "LabSecretFragment", modelProperties: { - ...Resource.type.modelProperties, - diskType: { - serializedName: "properties.diskType", - type: { - name: "String" - } - }, - diskSizeGiB: { - serializedName: "properties.diskSizeGiB", - type: { - name: "Number" - } - }, - leasedByLabVmId: { - serializedName: "properties.leasedByLabVmId", - type: { - name: "String" - } - }, - diskBlobName: { - serializedName: "properties.diskBlobName", - type: { - name: "String" - } - }, - diskUri: { - serializedName: "properties.diskUri", - type: { - name: "String" - } - }, - storageAccountId: { - serializedName: "properties.storageAccountId", - type: { - name: "String" - } - }, - createdDate: { - serializedName: "properties.createdDate", - readOnly: true, - type: { - name: "DateTime" - } - }, - hostCaching: { - serializedName: "properties.hostCaching", - type: { - name: "String" - } - }, - managedDiskId: { - serializedName: "properties.managedDiskId", - type: { - name: "String" - } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, - type: { - name: "String" - } - }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, - type: { - name: "String" - } - } + ...UpdateResource.type.modelProperties } } }; -export const DtlEnvironment: coreClient.CompositeMapper = { +export const LabsDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DtlEnvironment", + className: "LabsDeleteHeaders", modelProperties: { - ...Resource.type.modelProperties, - deploymentProperties: { - serializedName: "properties.deploymentProperties", - type: { - name: "Composite", - className: "EnvironmentDeploymentProperties" - } - }, - armTemplateDisplayName: { - serializedName: "properties.armTemplateDisplayName", - type: { - name: "String" - } - }, - resourceGroupId: { - serializedName: "properties.resourceGroupId", - readOnly: true, - type: { - name: "String" - } - }, - createdByUser: { - serializedName: "properties.createdByUser", - readOnly: true, - type: { - name: "String" - } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + location: { + serializedName: "location", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } @@ -3950,28 +7230,19 @@ export const DtlEnvironment: coreClient.CompositeMapper = { } }; -export const Secret: coreClient.CompositeMapper = { +export const LabsClaimAnyVmHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Secret", + className: "LabsClaimAnyVmHeaders", modelProperties: { - ...Resource.type.modelProperties, - value: { - serializedName: "properties.value", - type: { - name: "String" - } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + location: { + serializedName: "location", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } @@ -3980,65 +7251,40 @@ export const Secret: coreClient.CompositeMapper = { } }; -export const ApplicableSchedule: coreClient.CompositeMapper = { +export const LabsCreateEnvironmentHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicableSchedule", + className: "LabsCreateEnvironmentHeaders", modelProperties: { - ...Resource.type.modelProperties, - labVmsShutdown: { - serializedName: "properties.labVmsShutdown", + location: { + serializedName: "location", type: { - name: "Composite", - className: "Schedule" + name: "String" } }, - labVmsStartup: { - serializedName: "properties.labVmsStartup", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { - name: "Composite", - className: "Schedule" + name: "String" } } } } }; -export const ServiceFabric: coreClient.CompositeMapper = { +export const LabsExportResourceUsageHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceFabric", + className: "LabsExportResourceUsageHeaders", modelProperties: { - ...Resource.type.modelProperties, - externalServiceFabricId: { - serializedName: "properties.externalServiceFabricId", - type: { - name: "String" - } - }, - environmentId: { - serializedName: "properties.environmentId", - type: { - name: "String" - } - }, - applicableSchedule: { - serializedName: "properties.applicableSchedule", - type: { - name: "Composite", - className: "ApplicableSchedule" - } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + location: { + serializedName: "location", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } @@ -4047,254 +7293,286 @@ export const ServiceFabric: coreClient.CompositeMapper = { } }; -export const LabVirtualMachine: coreClient.CompositeMapper = { +export const LabsImportVirtualMachineHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabVirtualMachine", + className: "LabsImportVirtualMachineHeaders", modelProperties: { - ...Resource.type.modelProperties, - notes: { - serializedName: "properties.notes", - type: { - name: "String" - } - }, - ownerObjectId: { - defaultValue: "dynamicValue", - serializedName: "properties.ownerObjectId", - type: { - name: "String" - } - }, - ownerUserPrincipalName: { - serializedName: "properties.ownerUserPrincipalName", - type: { - name: "String" - } - }, - createdByUserId: { - serializedName: "properties.createdByUserId", - readOnly: true, - type: { - name: "String" - } - }, - createdByUser: { - serializedName: "properties.createdByUser", - readOnly: true, - type: { - name: "String" - } - }, - createdDate: { - serializedName: "properties.createdDate", - type: { - name: "DateTime" - } - }, - computeId: { - serializedName: "properties.computeId", - readOnly: true, + location: { + serializedName: "location", type: { name: "String" } }, - customImageId: { - serializedName: "properties.customImageId", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - osType: { - serializedName: "properties.osType", - readOnly: true, + } + } + } +}; + +export const OperationsGetHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationsGetHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - size: { - serializedName: "properties.size", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - userName: { - serializedName: "properties.userName", + } + } + } +}; + +export const GlobalSchedulesExecuteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GlobalSchedulesExecuteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - password: { - serializedName: "properties.password", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - sshKey: { - serializedName: "properties.sshKey", + } + } + } +}; + +export const GlobalSchedulesRetargetHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GlobalSchedulesRetargetHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - isAuthenticationWithSshKey: { - serializedName: "properties.isAuthenticationWithSshKey", - type: { - name: "Boolean" - } - }, - fqdn: { - serializedName: "properties.fqdn", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - labSubnetName: { - serializedName: "properties.labSubnetName", + } + } + } +}; + +export const CustomImagesDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomImagesDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - labVirtualNetworkId: { - serializedName: "properties.labVirtualNetworkId", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - disallowPublicIpAddress: { - defaultValue: false, - serializedName: "properties.disallowPublicIpAddress", - type: { - name: "Boolean" - } - }, - artifacts: { - serializedName: "properties.artifacts", + } + } + } +}; + +export const SchedulesExecuteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SchedulesExecuteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ArtifactInstallProperties" - } - } + name: "String" } }, - artifactDeploymentStatus: { - serializedName: "properties.artifactDeploymentStatus", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { - name: "Composite", - className: "ArtifactDeploymentStatusProperties" + name: "String" } - }, - galleryImageReference: { - serializedName: "properties.galleryImageReference", + } + } + } +}; + +export const LabSecretsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabSecretsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { - name: "Composite", - className: "GalleryImageReference" + name: "String" } }, - planId: { - serializedName: "properties.planId", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - computeVm: { - serializedName: "properties.computeVm", + } + } + } +}; + +export const LabSecretsUpdateHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LabSecretsUpdateHeaders", + modelProperties: { + location: { + serializedName: "location", type: { - name: "Composite", - className: "ComputeVmProperties" + name: "String" } - }, - networkInterface: { - serializedName: "properties.networkInterface", + } + } + } +}; + +export const ServiceRunnersDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceRunnersDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { - name: "Composite", - className: "NetworkInterfaceProperties" + name: "String" } }, - applicableSchedule: { - serializedName: "properties.applicableSchedule", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { - name: "Composite", - className: "ApplicableSchedule" + name: "String" } - }, - expirationDate: { - serializedName: "properties.expirationDate", + } + } + } +}; + +export const UsersDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UsersDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { - name: "DateTime" + name: "String" } }, - allowClaim: { - defaultValue: false, - serializedName: "properties.allowClaim", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { - name: "Boolean" + name: "String" } - }, - storageType: { - defaultValue: "labStorageType", - serializedName: "properties.storageType", + } + } + } +}; + +export const DisksDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DisksDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - virtualMachineCreationSource: { - serializedName: "properties.virtualMachineCreationSource", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - environmentId: { - serializedName: "properties.environmentId", + } + } + } +}; + +export const DisksAttachHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DisksAttachHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - dataDiskParameters: { - serializedName: "properties.dataDiskParameters", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DataDiskProperties" - } - } + name: "String" } - }, - scheduleParameters: { - serializedName: "properties.scheduleParameters", + } + } + } +}; + +export const DisksDetachHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DisksDetachHeaders", + modelProperties: { + location: { + serializedName: "location", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScheduleCreationParameter" - } - } + name: "String" } }, - lastKnownPowerState: { - serializedName: "properties.lastKnownPowerState", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + } + } + } +}; + +export const EnvironmentsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EnvironmentsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } @@ -4303,78 +7581,82 @@ export const LabVirtualMachine: coreClient.CompositeMapper = { } }; -export const VirtualNetwork: coreClient.CompositeMapper = { +export const ServiceFabricsDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualNetwork", + className: "ServiceFabricsDeleteHeaders", modelProperties: { - ...Resource.type.modelProperties, - allowedSubnets: { - serializedName: "properties.allowedSubnets", + location: { + serializedName: "location", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Subnet" - } - } + name: "String" } }, - description: { - serializedName: "properties.description", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } + } + } +}; + +export const ServiceFabricsStartHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceFabricsStartHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - externalProviderResourceId: { - serializedName: "properties.externalProviderResourceId", + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } - }, - externalSubnets: { - serializedName: "properties.externalSubnets", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ExternalSubnet" - } - } - } - }, - subnetOverrides: { - serializedName: "properties.subnetOverrides", + } + } + } +}; + +export const ServiceFabricsStopHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceFabricsStopHeaders", + modelProperties: { + location: { + serializedName: "location", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SubnetOverride" - } - } + name: "String" } }, - createdDate: { - serializedName: "properties.createdDate", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { - name: "DateTime" + name: "String" } - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + } + } + } +}; + +export const ServiceFabricSchedulesExecuteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceFabricSchedulesExecuteHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } }, - uniqueIdentifier: { - serializedName: "properties.uniqueIdentifier", - readOnly: true, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", type: { name: "String" } @@ -4383,152 +7665,317 @@ export const VirtualNetwork: coreClient.CompositeMapper = { } }; -export const ArtifactSourceFragment: coreClient.CompositeMapper = { +export const VirtualMachinesDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ArtifactSourceFragment", + className: "VirtualMachinesDeleteHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const CustomImageFragment: coreClient.CompositeMapper = { +export const VirtualMachinesAddDataDiskHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CustomImageFragment", + className: "VirtualMachinesAddDataDiskHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const FormulaFragment: coreClient.CompositeMapper = { +export const VirtualMachinesApplyArtifactsHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FormulaFragment", + className: "VirtualMachinesApplyArtifactsHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const NotificationChannelFragment: coreClient.CompositeMapper = { +export const VirtualMachinesClaimHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NotificationChannelFragment", + className: "VirtualMachinesClaimHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const PolicyFragment: coreClient.CompositeMapper = { +export const VirtualMachinesDetachDataDiskHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyFragment", + className: "VirtualMachinesDetachDataDiskHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const ScheduleFragment: coreClient.CompositeMapper = { +export const VirtualMachinesRedeployHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScheduleFragment", + className: "VirtualMachinesRedeployHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const UserFragment: coreClient.CompositeMapper = { +export const VirtualMachinesResizeHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "UserFragment", + className: "VirtualMachinesResizeHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const DiskFragment: coreClient.CompositeMapper = { +export const VirtualMachinesRestartHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DiskFragment", + className: "VirtualMachinesRestartHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const DtlEnvironmentFragment: coreClient.CompositeMapper = { +export const VirtualMachinesStartHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DtlEnvironmentFragment", + className: "VirtualMachinesStartHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const SecretFragment: coreClient.CompositeMapper = { +export const VirtualMachinesStopHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SecretFragment", + className: "VirtualMachinesStopHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const ServiceFabricFragment: coreClient.CompositeMapper = { +export const VirtualMachinesTransferDisksHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceFabricFragment", + className: "VirtualMachinesTransferDisksHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const LabVirtualMachineFragment: coreClient.CompositeMapper = { +export const VirtualMachinesUnClaimHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabVirtualMachineFragment", + className: "VirtualMachinesUnClaimHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const VirtualNetworkFragment: coreClient.CompositeMapper = { +export const VirtualMachineSchedulesExecuteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualNetworkFragment", + className: "VirtualMachineSchedulesExecuteHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const LabFragment: coreClient.CompositeMapper = { +export const VirtualNetworksDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LabFragment", + className: "VirtualNetworksDeleteHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; -export const ApplicableScheduleFragment: coreClient.CompositeMapper = { +export const BastionHostsDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicableScheduleFragment", + className: "BastionHostsDeleteHeaders", modelProperties: { - ...UpdateResource.type.modelProperties + location: { + serializedName: "location", + type: { + name: "String" + } + }, + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String" + } + } } } }; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/models/parameters.ts b/sdk/devtestlabs/arm-devtestlabs/src/models/parameters.ts index 5400bb6e6dc4..c4e7e296d306 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/models/parameters.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/models/parameters.ts @@ -24,7 +24,6 @@ import { ArtifactSource as ArtifactSourceMapper, ArtifactSourceFragment as ArtifactSourceFragmentMapper, GenerateArmTemplateRequest as GenerateArmTemplateRequestMapper, - LabCost as LabCostMapper, CustomImage as CustomImageMapper, CustomImageFragment as CustomImageFragmentMapper, Formula as FormulaMapper, @@ -35,7 +34,13 @@ import { EvaluatePoliciesRequest as EvaluatePoliciesRequestMapper, Policy as PolicyMapper, PolicyFragment as PolicyFragmentMapper, + LabSecret as LabSecretMapper, + SecretFragment as SecretFragmentMapper, ServiceRunner as ServiceRunnerMapper, + SharedGallery as SharedGalleryMapper, + SharedGalleryFragment as SharedGalleryFragmentMapper, + SharedImage as SharedImageMapper, + SharedImageFragment as SharedImageFragmentMapper, User as UserMapper, UserFragment as UserFragmentMapper, Disk as DiskMapper, @@ -45,7 +50,6 @@ import { DtlEnvironment as DtlEnvironmentMapper, DtlEnvironmentFragment as DtlEnvironmentFragmentMapper, Secret as SecretMapper, - SecretFragment as SecretFragmentMapper, ServiceFabric as ServiceFabricMapper, ServiceFabricFragment as ServiceFabricFragmentMapper, LabVirtualMachine as LabVirtualMachineMapper, @@ -55,7 +59,9 @@ import { DetachDataDiskProperties as DetachDataDiskPropertiesMapper, ResizeLabVirtualMachineProperties as ResizeLabVirtualMachinePropertiesMapper, VirtualNetwork as VirtualNetworkMapper, - VirtualNetworkFragment as VirtualNetworkFragmentMapper + VirtualNetworkFragment as VirtualNetworkFragmentMapper, + BastionHost as BastionHostMapper, + BastionHostFragment as BastionHostFragmentMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -85,7 +91,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2018-09-15", + defaultValue: "2021-09-01", isConstant: true, serializedName: "api-version", type: { @@ -112,7 +118,7 @@ export const subscriptionId: OperationURLParameter = { serializedName: "subscriptionId", required: true, type: { - name: "String" + name: "Uuid" } } }; @@ -160,6 +166,10 @@ export const orderby: OperationQueryParameter = { export const resourceGroupName: OperationURLParameter = { parameterPath: "resourceGroupName", mapper: { + constraints: { + MaxLength: 90, + MinLength: 1 + }, serializedName: "resourceGroupName", required: true, type: { @@ -224,6 +234,11 @@ export const importLabVirtualMachineRequest: OperationParameter = { export const locationName: OperationURLParameter = { parameterPath: "locationName", mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_\\-]+$"), + MaxLength: 260, + MinLength: 1 + }, serializedName: "locationName", required: true, type: { @@ -232,6 +247,20 @@ export const locationName: OperationURLParameter = { } }; +export const name1: OperationURLParameter = { + parameterPath: "name", + mapper: { + constraints: { + MinLength: 1 + }, + serializedName: "name", + required: true, + type: { + name: "String" + } + } +}; + export const schedule: OperationParameter = { parameterPath: "schedule", mapper: ScheduleMapper @@ -250,6 +279,11 @@ export const retargetScheduleProperties: OperationParameter = { export const labName: OperationURLParameter = { parameterPath: "labName", mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_\\-]+$"), + MaxLength: 50, + MinLength: 1 + }, serializedName: "labName", required: true, type: { @@ -271,6 +305,11 @@ export const artifactSource1: OperationParameter = { export const artifactSourceName: OperationURLParameter = { parameterPath: "artifactSourceName", mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_\\-]+$"), + MaxLength: 260, + MinLength: 1 + }, serializedName: "artifactSourceName", required: true, type: { @@ -284,11 +323,6 @@ export const generateArmTemplateRequest: OperationParameter = { mapper: GenerateArmTemplateRequestMapper }; -export const labCost: OperationParameter = { - parameterPath: "labCost", - mapper: LabCostMapper -}; - export const customImage: OperationParameter = { parameterPath: "customImage", mapper: CustomImageMapper @@ -350,13 +384,54 @@ export const policy1: OperationParameter = { mapper: PolicyFragmentMapper }; +export const labSecret: OperationParameter = { + parameterPath: "labSecret", + mapper: LabSecretMapper +}; + +export const secret: OperationParameter = { + parameterPath: "secret", + mapper: SecretFragmentMapper +}; + export const serviceRunner: OperationParameter = { parameterPath: "serviceRunner", mapper: ServiceRunnerMapper }; +export const sharedGallery: OperationParameter = { + parameterPath: "sharedGallery", + mapper: SharedGalleryMapper +}; + +export const sharedGallery1: OperationParameter = { + parameterPath: "sharedGallery", + mapper: SharedGalleryFragmentMapper +}; + +export const sharedGalleryName: OperationURLParameter = { + parameterPath: "sharedGalleryName", + mapper: { + serializedName: "sharedGalleryName", + required: true, + type: { + name: "String" + } + } +}; + +export const sharedImage: OperationParameter = { + parameterPath: "sharedImage", + mapper: SharedImageMapper +}; + +export const sharedImage1: OperationParameter = { + parameterPath: "sharedImage", + mapper: SharedImageFragmentMapper +}; + export const user: OperationParameter = { - parameterPath: "user", + parameterPath: ["options", "user"], mapper: UserMapper }; @@ -406,14 +481,9 @@ export const dtlEnvironment1: OperationParameter = { mapper: DtlEnvironmentFragmentMapper }; -export const secret: OperationParameter = { - parameterPath: "secret", - mapper: SecretMapper -}; - export const secret1: OperationParameter = { parameterPath: "secret", - mapper: SecretFragmentMapper + mapper: SecretMapper }; export const serviceFabric: OperationParameter = { @@ -470,6 +540,11 @@ export const resizeLabVirtualMachineProperties: OperationParameter = { export const virtualMachineName: OperationURLParameter = { parameterPath: "virtualMachineName", mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9\\-]+$"), + MaxLength: 62, + MinLength: 1 + }, serializedName: "virtualMachineName", required: true, type: { @@ -487,3 +562,29 @@ export const virtualNetwork1: OperationParameter = { parameterPath: "virtualNetwork", mapper: VirtualNetworkFragmentMapper }; + +export const virtualNetworkName: OperationURLParameter = { + parameterPath: "virtualNetworkName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_\\-]+$"), + MaxLength: 260, + MinLength: 1 + }, + serializedName: "virtualNetworkName", + required: true, + type: { + name: "String" + } + } +}; + +export const bastionHost: OperationParameter = { + parameterPath: "bastionHost", + mapper: BastionHostMapper +}; + +export const bastionHost1: OperationParameter = { + parameterPath: "bastionHost", + mapper: BastionHostFragmentMapper +}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/armTemplates.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/armTemplates.ts index 80b7b4dda74f..ca49169f179c 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/armTemplates.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/armTemplates.ts @@ -38,7 +38,7 @@ export class ArmTemplatesImpl implements ArmTemplates { /** * List azure resource manager templates in a given artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param options The options parameters. @@ -131,7 +131,7 @@ export class ArmTemplatesImpl implements ArmTemplates { /** * List azure resource manager templates in a given artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param options The options parameters. @@ -150,7 +150,7 @@ export class ArmTemplatesImpl implements ArmTemplates { /** * Get azure resource manager template. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param name The name of the azure resource manager template. @@ -171,7 +171,7 @@ export class ArmTemplatesImpl implements ArmTemplates { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param nextLink The nextLink from the previous successful call to the List method. @@ -257,13 +257,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/artifactSources.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/artifactSources.ts index 5f8b4ebe725f..2619fe8f8af4 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/artifactSources.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/artifactSources.ts @@ -44,7 +44,7 @@ export class ArtifactSourcesImpl implements ArtifactSources { /** * List artifact sources in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -120,7 +120,7 @@ export class ArtifactSourcesImpl implements ArtifactSources { /** * List artifact sources in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -137,7 +137,7 @@ export class ArtifactSourcesImpl implements ArtifactSources { /** * Get artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. * @param options The options parameters. @@ -156,7 +156,7 @@ export class ArtifactSourcesImpl implements ArtifactSources { /** * Create or replace an existing artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. * @param artifactSource Properties of an artifact source. @@ -177,7 +177,7 @@ export class ArtifactSourcesImpl implements ArtifactSources { /** * Delete artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. * @param options The options parameters. @@ -196,10 +196,11 @@ export class ArtifactSourcesImpl implements ArtifactSources { /** * Allows modifying tags of artifact sources. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. - * @param artifactSource Properties of an artifact source. + * @param artifactSource Allows modifying tags of artifact sources. All other properties will be + * ignored. * @param options The options parameters. */ update( @@ -217,7 +218,7 @@ export class ArtifactSourcesImpl implements ArtifactSources { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -374,13 +375,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/artifacts.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/artifacts.ts index 0250980f94b5..06e46f0126eb 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/artifacts.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/artifacts.ts @@ -41,7 +41,7 @@ export class ArtifactsImpl implements Artifacts { /** * List artifacts in a given artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param options The options parameters. @@ -134,7 +134,7 @@ export class ArtifactsImpl implements Artifacts { /** * List artifacts in a given artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param options The options parameters. @@ -153,7 +153,7 @@ export class ArtifactsImpl implements Artifacts { /** * Get artifact. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param name The name of the artifact. @@ -175,7 +175,7 @@ export class ArtifactsImpl implements Artifacts { /** * Generates an ARM template for the given artifact, uploads the required files to a storage account, * and validates the generated artifact. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param name The name of the artifact. @@ -205,7 +205,7 @@ export class ArtifactsImpl implements Artifacts { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param nextLink The nextLink from the previous successful call to the List method. @@ -317,13 +317,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/bastionHosts.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/bastionHosts.ts new file mode 100644 index 000000000000..d1f03da8bcea --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/bastionHosts.ts @@ -0,0 +1,603 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { BastionHosts } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DevTestLabsClient } from "../devTestLabsClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + BastionHost, + BastionHostsListNextOptionalParams, + BastionHostsListOptionalParams, + BastionHostsListResponse, + BastionHostsGetOptionalParams, + BastionHostsGetResponse, + BastionHostsCreateOrUpdateOptionalParams, + BastionHostsCreateOrUpdateResponse, + BastionHostsDeleteOptionalParams, + BastionHostFragment, + BastionHostsUpdateOptionalParams, + BastionHostsUpdateResponse, + BastionHostsListNextResponse +} from "../models"; + +/// +/** Class containing BastionHosts operations. */ +export class BastionHostsImpl implements BastionHosts { + private readonly client: DevTestLabsClient; + + /** + * Initialize a new instance of the class BastionHosts class. + * @param client Reference to the service client + */ + constructor(client: DevTestLabsClient) { + this.client = client; + } + + /** + * List bastionhosts in a given virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + options?: BastionHostsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + labName, + virtualNetworkName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + labName, + virtualNetworkName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + options?: BastionHostsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: BastionHostsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + labName, + virtualNetworkName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + labName, + virtualNetworkName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + options?: BastionHostsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + labName, + virtualNetworkName, + options + )) { + yield* page; + } + } + + /** + * List bastionhosts in a given virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + options?: BastionHostsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, virtualNetworkName, options }, + listOperationSpec + ); + } + + /** + * Get bastionhost. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + options?: BastionHostsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, virtualNetworkName, name, options }, + getOperationSpec + ); + } + + /** + * Create or replace an existing bastionHost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param bastionHost Profile of a Bastion Host + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + bastionHost: BastionHost, + options?: BastionHostsCreateOrUpdateOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + BastionHostsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + labName, + virtualNetworkName, + name, + bastionHost, + options + }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + BastionHostsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" + }); + await poller.poll(); + return poller; + } + + /** + * Create or replace an existing bastionHost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param bastionHost Profile of a Bastion Host + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + bastionHost: BastionHost, + options?: BastionHostsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + labName, + virtualNetworkName, + name, + bastionHost, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete bastionhost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + options?: BastionHostsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, virtualNetworkName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" + }); + await poller.poll(); + return poller; + } + + /** + * Delete bastionhost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + options?: BastionHostsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + labName, + virtualNetworkName, + name, + options + ); + return poller.pollUntilDone(); + } + + /** + * Allows modifying tags of bastionhosts. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param bastionHost Allows modifying tags of bastionhosts. All other properties will be ignored. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + bastionHost: BastionHostFragment, + options?: BastionHostsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + labName, + virtualNetworkName, + name, + bastionHost, + options + }, + updateOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + nextLink: string, + options?: BastionHostsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, virtualNetworkName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{virtualNetworkName}/bastionhosts", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.BastionHostList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.top, + Parameters.orderby + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{virtualNetworkName}/bastionhosts/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.BastionHost + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{virtualNetworkName}/bastionhosts/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.BastionHost + }, + 201: { + bodyMapper: Mappers.BastionHost + }, + 202: { + bodyMapper: Mappers.BastionHost + }, + 204: { + bodyMapper: Mappers.BastionHost + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.bastionHost, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{virtualNetworkName}/bastionhosts/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{virtualNetworkName}/bastionhosts/{name}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.BastionHost + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.bastionHost1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.BastionHostList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/costs.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/costs.ts deleted file mode 100644 index 69f89a265416..000000000000 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/costs.ts +++ /dev/null @@ -1,127 +0,0 @@ -/* - * 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 { Costs } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { DevTestLabsClient } from "../devTestLabsClient"; -import { - CostsGetOptionalParams, - CostsGetResponse, - LabCost, - CostsCreateOrUpdateOptionalParams, - CostsCreateOrUpdateResponse -} from "../models"; - -/** Class containing Costs operations. */ -export class CostsImpl implements Costs { - private readonly client: DevTestLabsClient; - - /** - * Initialize a new instance of the class Costs class. - * @param client Reference to the service client - */ - constructor(client: DevTestLabsClient) { - this.client = client; - } - - /** - * Get cost. - * @param resourceGroupName The name of the resource group. - * @param labName The name of the lab. - * @param name The name of the cost. - * @param options The options parameters. - */ - get( - resourceGroupName: string, - labName: string, - name: string, - options?: CostsGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, labName, name, options }, - getOperationSpec - ); - } - - /** - * Create or replace an existing cost. - * @param resourceGroupName The name of the resource group. - * @param labName The name of the lab. - * @param name The name of the cost. - * @param labCost A cost item. - * @param options The options parameters. - */ - createOrUpdate( - resourceGroupName: string, - labName: string, - name: string, - labCost: LabCost, - options?: CostsCreateOrUpdateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, labName, name, labCost, options }, - createOrUpdateOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const getOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.LabCost - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion, Parameters.expand], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.name, - Parameters.labName - ], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.LabCost - }, - 201: { - bodyMapper: Mappers.LabCost - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.labCost, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.name, - Parameters.labName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/customImages.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/customImages.ts index a4aa2d60c0de..746200708f24 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/customImages.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/customImages.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { CustomImage, CustomImagesListNextOptionalParams, @@ -46,7 +50,7 @@ export class CustomImagesImpl implements CustomImages { /** * List custom images in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -122,7 +126,7 @@ export class CustomImagesImpl implements CustomImages { /** * List custom images in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -139,7 +143,7 @@ export class CustomImagesImpl implements CustomImages { /** * Get custom image. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param options The options parameters. @@ -158,7 +162,7 @@ export class CustomImagesImpl implements CustomImages { /** * Create or replace an existing custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param customImage A custom image. @@ -171,8 +175,8 @@ export class CustomImagesImpl implements CustomImages { customImage: CustomImage, options?: CustomImagesCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, CustomImagesCreateOrUpdateResponse > > { @@ -182,7 +186,7 @@ export class CustomImagesImpl implements CustomImages { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -215,14 +219,18 @@ export class CustomImagesImpl implements CustomImages { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, customImage, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, customImage, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + CustomImagesCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -230,7 +238,7 @@ export class CustomImagesImpl implements CustomImages { /** * Create or replace an existing custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param customImage A custom image. @@ -255,7 +263,7 @@ export class CustomImagesImpl implements CustomImages { /** * Delete custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param options The options parameters. @@ -265,14 +273,14 @@ export class CustomImagesImpl implements CustomImages { labName: string, name: string, options?: CustomImagesDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -305,14 +313,15 @@ export class CustomImagesImpl implements CustomImages { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -320,7 +329,7 @@ export class CustomImagesImpl implements CustomImages { /** * Delete custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param options The options parameters. @@ -342,10 +351,10 @@ export class CustomImagesImpl implements CustomImages { /** * Allows modifying tags of custom images. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. - * @param customImage A custom image. + * @param customImage Allows modifying tags of custom images. All other properties will be ignored. * @param options The options parameters. */ update( @@ -363,7 +372,7 @@ export class CustomImagesImpl implements CustomImages { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -528,13 +537,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/disks.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/disks.ts index 2476b129284c..322bcfa01b8e 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/disks.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/disks.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Disk, DisksListNextOptionalParams, @@ -50,7 +54,7 @@ export class DisksImpl implements Disks { /** * List disks in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -138,7 +142,7 @@ export class DisksImpl implements Disks { /** * List disks in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -157,7 +161,7 @@ export class DisksImpl implements Disks { /** * Get disk. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -178,7 +182,7 @@ export class DisksImpl implements Disks { /** * Create or replace an existing disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -193,8 +197,8 @@ export class DisksImpl implements Disks { disk: Disk, options?: DisksCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, DisksCreateOrUpdateResponse > > { @@ -204,7 +208,7 @@ export class DisksImpl implements Disks { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -237,13 +241,16 @@ export class DisksImpl implements Disks { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, disk, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, name, disk, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + DisksCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); await poller.poll(); @@ -252,7 +259,7 @@ export class DisksImpl implements Disks { /** * Create or replace an existing disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -280,7 +287,7 @@ export class DisksImpl implements Disks { /** * Delete disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -292,14 +299,14 @@ export class DisksImpl implements Disks { userName: string, name: string, options?: DisksDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -332,14 +339,15 @@ export class DisksImpl implements Disks { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -347,7 +355,7 @@ export class DisksImpl implements Disks { /** * Delete disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -372,11 +380,11 @@ export class DisksImpl implements Disks { /** * Allows modifying tags of disks. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. - * @param disk A Disk. + * @param disk Allows modifying tags of disks. All other properties will be ignored. * @param options The options parameters. */ update( @@ -396,7 +404,7 @@ export class DisksImpl implements Disks { /** * Attach and create the lease of the disk to the virtual machine. This operation can take a while to * complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -410,14 +418,14 @@ export class DisksImpl implements Disks { name: string, attachDiskProperties: AttachDiskProperties, options?: DisksAttachOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -450,9 +458,9 @@ export class DisksImpl implements Disks { }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, @@ -460,11 +468,12 @@ export class DisksImpl implements Disks { attachDiskProperties, options }, - attachOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + spec: attachOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -473,7 +482,7 @@ export class DisksImpl implements Disks { /** * Attach and create the lease of the disk to the virtual machine. This operation can take a while to * complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -502,7 +511,7 @@ export class DisksImpl implements Disks { /** * Detach and break the lease of the disk attached to the virtual machine. This operation can take a * while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -516,14 +525,14 @@ export class DisksImpl implements Disks { name: string, detachDiskProperties: DetachDiskProperties, options?: DisksDetachOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -556,9 +565,9 @@ export class DisksImpl implements Disks { }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, @@ -566,11 +575,12 @@ export class DisksImpl implements Disks { detachDiskProperties, options }, - detachOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + spec: detachOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -579,7 +589,7 @@ export class DisksImpl implements Disks { /** * Detach and break the lease of the disk attached to the virtual machine. This operation can take a * while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -607,7 +617,7 @@ export class DisksImpl implements Disks { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param nextLink The nextLink from the previous successful call to the List method. @@ -833,13 +843,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/environments.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/environments.ts index 3a83f813fd9d..eb6fd7663550 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/environments.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/environments.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { DtlEnvironment, EnvironmentsListNextOptionalParams, @@ -46,7 +50,7 @@ export class EnvironmentsImpl implements Environments { /** * List environments in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -134,7 +138,7 @@ export class EnvironmentsImpl implements Environments { /** * List environments in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -153,7 +157,7 @@ export class EnvironmentsImpl implements Environments { /** * Get environment. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -174,7 +178,7 @@ export class EnvironmentsImpl implements Environments { /** * Create or replace an existing environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -189,8 +193,8 @@ export class EnvironmentsImpl implements Environments { dtlEnvironment: DtlEnvironment, options?: EnvironmentsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, EnvironmentsCreateOrUpdateResponse > > { @@ -200,7 +204,7 @@ export class EnvironmentsImpl implements Environments { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -233,14 +237,25 @@ export class EnvironmentsImpl implements Environments { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, dtlEnvironment, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + labName, + userName, + name, + dtlEnvironment, + options + }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + EnvironmentsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -248,7 +263,7 @@ export class EnvironmentsImpl implements Environments { /** * Create or replace an existing environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -276,7 +291,7 @@ export class EnvironmentsImpl implements Environments { /** * Delete environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -288,14 +303,14 @@ export class EnvironmentsImpl implements Environments { userName: string, name: string, options?: EnvironmentsDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -328,14 +343,15 @@ export class EnvironmentsImpl implements Environments { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -343,7 +359,7 @@ export class EnvironmentsImpl implements Environments { /** * Delete environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -368,11 +384,11 @@ export class EnvironmentsImpl implements Environments { /** * Allows modifying tags of environments. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. - * @param dtlEnvironment An environment, which is essentially an ARM template deployment. + * @param dtlEnvironment Allows modifying tags of environments. All other properties will be ignored. * @param options The options parameters. */ update( @@ -391,7 +407,7 @@ export class EnvironmentsImpl implements Environments { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param nextLink The nextLink from the previous successful call to the List method. @@ -563,13 +579,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/formulas.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/formulas.ts index d4df6b64233a..44f64562df93 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/formulas.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/formulas.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Formula, FormulasListNextOptionalParams, @@ -46,7 +50,7 @@ export class FormulasImpl implements Formulas { /** * List formulas in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -122,7 +126,7 @@ export class FormulasImpl implements Formulas { /** * List formulas in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -139,7 +143,7 @@ export class FormulasImpl implements Formulas { /** * Get formula. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param options The options parameters. @@ -157,8 +161,8 @@ export class FormulasImpl implements Formulas { } /** - * Create or replace an existing formula. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Formula. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param formula A formula for creating a VM, specifying an image base and other parameters @@ -171,8 +175,8 @@ export class FormulasImpl implements Formulas { formula: Formula, options?: FormulasCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, FormulasCreateOrUpdateResponse > > { @@ -182,7 +186,7 @@ export class FormulasImpl implements Formulas { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -215,22 +219,26 @@ export class FormulasImpl implements Formulas { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, formula, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, formula, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + FormulasCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; } /** - * Create or replace an existing formula. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Formula. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param formula A formula for creating a VM, specifying an image base and other parameters @@ -255,7 +263,7 @@ export class FormulasImpl implements Formulas { /** * Delete formula. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param options The options parameters. @@ -274,10 +282,10 @@ export class FormulasImpl implements Formulas { /** * Allows modifying tags of formulas. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. - * @param formula A formula for creating a VM, specifying an image base and other parameters + * @param formula Allows modifying tags of formulas. All other properties will be ignored. * @param options The options parameters. */ update( @@ -295,7 +303,7 @@ export class FormulasImpl implements Formulas { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -458,13 +466,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/galleryImages.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/galleryImages.ts index fd1e196a8a38..50536882f37f 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/galleryImages.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/galleryImages.ts @@ -18,6 +18,8 @@ import { GalleryImagesListNextOptionalParams, GalleryImagesListOptionalParams, GalleryImagesListResponse, + GalleryImagesGetOptionalParams, + GalleryImagesGetResponse, GalleryImagesListNextResponse } from "../models"; @@ -36,7 +38,7 @@ export class GalleryImagesImpl implements GalleryImages { /** * List gallery images in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -112,7 +114,7 @@ export class GalleryImagesImpl implements GalleryImages { /** * List gallery images in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -127,9 +129,28 @@ export class GalleryImagesImpl implements GalleryImages { ); } + /** + * Get gallery image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the gallery image. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + name: string, + options?: GalleryImagesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, name, options }, + getOperationSpec + ); + } + /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -177,6 +198,29 @@ const listOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GalleryImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", @@ -188,13 +232,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/globalSchedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/globalSchedules.ts index b482cad4c6ad..ad677b3a4f09 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/globalSchedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/globalSchedules.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Schedule, GlobalSchedulesListBySubscriptionNextOptionalParams, @@ -107,7 +111,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * List schedules in a resource group. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ public listByResourceGroup( @@ -189,7 +193,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * List schedules in a resource group. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ private _listByResourceGroup( @@ -204,7 +208,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -221,7 +225,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param schedule A schedule. * @param options The options parameters. @@ -240,7 +244,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -257,9 +261,9 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -276,7 +280,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -284,14 +288,14 @@ export class GlobalSchedulesImpl implements GlobalSchedules { resourceGroupName: string, name: string, options?: GlobalSchedulesExecuteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -324,14 +328,15 @@ export class GlobalSchedulesImpl implements GlobalSchedules { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, options }, - executeOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, name, options }, + spec: executeOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -339,7 +344,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -354,7 +359,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Updates a schedule's target resource Id. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param retargetScheduleProperties Properties for retargeting a virtual machine schedule. * @param options The options parameters. @@ -364,14 +369,14 @@ export class GlobalSchedulesImpl implements GlobalSchedules { name: string, retargetScheduleProperties: RetargetScheduleProperties, options?: GlobalSchedulesRetargetOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -404,14 +409,15 @@ export class GlobalSchedulesImpl implements GlobalSchedules { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, retargetScheduleProperties, options }, - retargetOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, name, retargetScheduleProperties, options }, + spec: retargetOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -419,7 +425,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * Updates a schedule's target resource Id. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param retargetScheduleProperties Properties for retargeting a virtual machine schedule. * @param options The options parameters. @@ -456,7 +462,7 @@ export class GlobalSchedulesImpl implements GlobalSchedules { /** * ListByResourceGroupNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. * @param options The options parameters. */ @@ -677,13 +683,6 @@ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, @@ -703,13 +702,6 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/index.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/index.ts index ed76356e15ec..f3db3bac1604 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/index.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/index.ts @@ -13,7 +13,6 @@ export * from "./globalSchedules"; export * from "./artifactSources"; export * from "./armTemplates"; export * from "./artifacts"; -export * from "./costs"; export * from "./customImages"; export * from "./formulas"; export * from "./galleryImages"; @@ -21,7 +20,10 @@ export * from "./notificationChannels"; export * from "./policySets"; export * from "./policies"; export * from "./schedules"; +export * from "./labSecrets"; export * from "./serviceRunners"; +export * from "./sharedGalleries"; +export * from "./sharedImages"; export * from "./users"; export * from "./disks"; export * from "./environments"; @@ -31,3 +33,4 @@ export * from "./serviceFabricSchedules"; export * from "./virtualMachines"; export * from "./virtualMachineSchedules"; export * from "./virtualNetworks"; +export * from "./bastionHosts"; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/labSecrets.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/labSecrets.ts new file mode 100644 index 000000000000..c54c6f3b2082 --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/labSecrets.ts @@ -0,0 +1,637 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { LabSecrets } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DevTestLabsClient } from "../devTestLabsClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + LabSecret, + LabSecretsListNextOptionalParams, + LabSecretsListOptionalParams, + LabSecretsListResponse, + LabSecretsGetOptionalParams, + LabSecretsGetResponse, + LabSecretsCreateOrUpdateOptionalParams, + LabSecretsCreateOrUpdateResponse, + LabSecretsDeleteOptionalParams, + SecretFragment, + LabSecretsUpdateOptionalParams, + LabSecretsUpdateResponse, + LabSecretsListNextResponse +} from "../models"; + +/// +/** Class containing LabSecrets operations. */ +export class LabSecretsImpl implements LabSecrets { + private readonly client: DevTestLabsClient; + + /** + * Initialize a new instance of the class LabSecrets class. + * @param client Reference to the service client + */ + constructor(client: DevTestLabsClient) { + this.client = client; + } + + /** + * List lab secrets in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + labName: string, + options?: LabSecretsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, labName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + labName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + labName: string, + options?: LabSecretsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: LabSecretsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, labName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + labName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + labName: string, + options?: LabSecretsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + labName, + options + )) { + yield* page; + } + } + + /** + * List lab secrets in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + labName: string, + options?: LabSecretsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, options }, + listOperationSpec + ); + } + + /** + * Get lab secret. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + name: string, + options?: LabSecretsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, name, options }, + getOperationSpec + ); + } + + /** + * Create or replace an existing Lab Secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param labSecret A shared secret in a lab. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + labName: string, + name: string, + labSecret: LabSecret, + options?: LabSecretsCreateOrUpdateOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + LabSecretsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, labSecret, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + LabSecretsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" + }); + await poller.poll(); + return poller; + } + + /** + * Create or replace an existing Lab Secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param labSecret A shared secret in a lab. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + labName: string, + name: string, + labSecret: LabSecret, + options?: LabSecretsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + labName, + name, + labSecret, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete lab secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + labName: string, + name: string, + options?: LabSecretsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" + }); + await poller.poll(); + return poller; + } + + /** + * Delete lab secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + labName: string, + name: string, + options?: LabSecretsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + labName, + name, + options + ); + return poller.pollUntilDone(); + } + + /** + * Allows modifying tags of lab secrets. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param secret Allows modifying tags of lab secrets. All other properties will be ignored. + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + labName: string, + name: string, + secret: SecretFragment, + options?: LabSecretsUpdateOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + LabSecretsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, secret, options }, + spec: updateOperationSpec + }); + const poller = await createHttpPoller< + LabSecretsUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" + }); + await poller.poll(); + return poller; + } + + /** + * Allows modifying tags of lab secrets. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param secret Allows modifying tags of lab secrets. All other properties will be ignored. + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + labName: string, + name: string, + secret: SecretFragment, + options?: LabSecretsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + labName, + name, + secret, + options + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + labName: string, + nextLink: string, + options?: LabSecretsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/secrets", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LabSecretList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.top, + Parameters.orderby + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/secrets/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LabSecret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/secrets/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.LabSecret + }, + 201: { + bodyMapper: Mappers.LabSecret + }, + 202: { + bodyMapper: Mappers.LabSecret + }, + 204: { + bodyMapper: Mappers.LabSecret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.labSecret, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/secrets/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/secrets/{name}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.LabSecret + }, + 201: { + bodyMapper: Mappers.LabSecret + }, + 202: { + bodyMapper: Mappers.LabSecret + }, + 204: { + bodyMapper: Mappers.LabSecret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.secret, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.LabSecretList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/labs.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/labs.ts index c7bf568c1e2b..476d2dc23a1c 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/labs.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/labs.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Lab, LabsListBySubscriptionNextOptionalParams, @@ -38,6 +42,7 @@ import { LabsClaimAnyVmOptionalParams, LabVirtualMachineCreationParameter, LabsCreateEnvironmentOptionalParams, + LabsEnsureCurrentUserProfileOptionalParams, ExportResourceUsageParameters, LabsExportResourceUsageOptionalParams, GenerateUploadUriParameter, @@ -119,7 +124,7 @@ export class LabsImpl implements Labs { /** * List labs in a resource group. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ public listByResourceGroup( @@ -188,7 +193,7 @@ export class LabsImpl implements Labs { /** * List disk images available for custom image creation. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -277,7 +282,7 @@ export class LabsImpl implements Labs { /** * List labs in a resource group. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ private _listByResourceGroup( @@ -292,7 +297,7 @@ export class LabsImpl implements Labs { /** * Get lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -309,7 +314,7 @@ export class LabsImpl implements Labs { /** * Create or replace an existing lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param lab A lab. * @param options The options parameters. @@ -320,8 +325,8 @@ export class LabsImpl implements Labs { lab: Lab, options?: LabsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, LabsCreateOrUpdateResponse > > { @@ -331,7 +336,7 @@ export class LabsImpl implements Labs { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -364,14 +369,18 @@ export class LabsImpl implements Labs { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, lab, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, name, lab, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + LabsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -379,7 +388,7 @@ export class LabsImpl implements Labs { /** * Create or replace an existing lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param lab A lab. * @param options The options parameters. @@ -401,7 +410,7 @@ export class LabsImpl implements Labs { /** * Delete lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -409,14 +418,14 @@ export class LabsImpl implements Labs { resourceGroupName: string, name: string, options?: LabsDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -449,14 +458,15 @@ export class LabsImpl implements Labs { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -464,7 +474,7 @@ export class LabsImpl implements Labs { /** * Delete lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -479,9 +489,9 @@ export class LabsImpl implements Labs { /** * Allows modifying tags of labs. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. - * @param lab A lab. + * @param lab Allows modifying tags of labs. All other properties will be ignored. * @param options The options parameters. */ update( @@ -498,7 +508,7 @@ export class LabsImpl implements Labs { /** * Claim a random claimable virtual machine in the lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -506,14 +516,14 @@ export class LabsImpl implements Labs { resourceGroupName: string, name: string, options?: LabsClaimAnyVmOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -546,14 +556,15 @@ export class LabsImpl implements Labs { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, options }, - claimAnyVmOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, name, options }, + spec: claimAnyVmOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -561,7 +572,7 @@ export class LabsImpl implements Labs { /** * Claim a random claimable virtual machine in the lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -576,7 +587,7 @@ export class LabsImpl implements Labs { /** * Create virtual machines in a lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param labVirtualMachineCreationParameter Properties for creating a virtual machine. * @param options The options parameters. @@ -586,14 +597,14 @@ export class LabsImpl implements Labs { name: string, labVirtualMachineCreationParameter: LabVirtualMachineCreationParameter, options?: LabsCreateEnvironmentOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -626,14 +637,20 @@ export class LabsImpl implements Labs { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, labVirtualMachineCreationParameter, options }, - createEnvironmentOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + name, + labVirtualMachineCreationParameter, + options + }, + spec: createEnvironmentOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -641,7 +658,7 @@ export class LabsImpl implements Labs { /** * Create virtual machines in a lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param labVirtualMachineCreationParameter Properties for creating a virtual machine. * @param options The options parameters. @@ -661,9 +678,26 @@ export class LabsImpl implements Labs { return poller.pollUntilDone(); } + /** + * Ensure the current user has a valid profile in the lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param name The name of the lab. + * @param options The options parameters. + */ + ensureCurrentUserProfile( + resourceGroupName: string, + name: string, + options?: LabsEnsureCurrentUserProfileOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, name, options }, + ensureCurrentUserProfileOperationSpec + ); + } + /** * Exports the lab resource usage into a storage account This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param exportResourceUsageParameters The parameters of the export operation. * @param options The options parameters. @@ -673,14 +707,14 @@ export class LabsImpl implements Labs { name: string, exportResourceUsageParameters: ExportResourceUsageParameters, options?: LabsExportResourceUsageOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -713,14 +747,15 @@ export class LabsImpl implements Labs { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, exportResourceUsageParameters, options }, - exportResourceUsageOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, name, exportResourceUsageParameters, options }, + spec: exportResourceUsageOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -728,7 +763,7 @@ export class LabsImpl implements Labs { /** * Exports the lab resource usage into a storage account This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param exportResourceUsageParameters The parameters of the export operation. * @param options The options parameters. @@ -750,7 +785,7 @@ export class LabsImpl implements Labs { /** * Generate a URI for uploading custom disk images to a Lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param generateUploadUriParameter Properties for generating an upload URI. * @param options The options parameters. @@ -769,7 +804,7 @@ export class LabsImpl implements Labs { /** * Import a virtual machine into a different lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param importLabVirtualMachineRequest This represents the payload required to import a virtual * machine from a different lab into the current one @@ -780,14 +815,14 @@ export class LabsImpl implements Labs { name: string, importLabVirtualMachineRequest: ImportLabVirtualMachineRequest, options?: LabsImportVirtualMachineOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -820,14 +855,20 @@ export class LabsImpl implements Labs { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, name, importLabVirtualMachineRequest, options }, - importVirtualMachineOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + name, + importLabVirtualMachineRequest, + options + }, + spec: importVirtualMachineOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -835,7 +876,7 @@ export class LabsImpl implements Labs { /** * Import a virtual machine into a different lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param importLabVirtualMachineRequest This represents the payload required to import a virtual * machine from a different lab into the current one @@ -858,7 +899,7 @@ export class LabsImpl implements Labs { /** * List disk images available for custom image creation. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -890,7 +931,7 @@ export class LabsImpl implements Labs { /** * ListByResourceGroupNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. * @param options The options parameters. */ @@ -907,7 +948,7 @@ export class LabsImpl implements Labs { /** * ListVhdsNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param nextLink The nextLink from the previous successful call to the ListVhds method. * @param options The options parameters. @@ -1126,6 +1167,26 @@ const createEnvironmentOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer }; +const ensureCurrentUserProfileOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/ensureCurrentUserProfile", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name + ], + headerParameters: [Parameters.accept], + serializer +}; const exportResourceUsageOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage", @@ -1233,13 +1294,6 @@ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, @@ -1259,13 +1313,6 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, @@ -1286,7 +1333,6 @@ const listVhdsNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/notificationChannels.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/notificationChannels.ts index 4d2cc1c44496..cd7c2d6a47f3 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/notificationChannels.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/notificationChannels.ts @@ -46,7 +46,7 @@ export class NotificationChannelsImpl implements NotificationChannels { /** * List notification channels in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -122,7 +122,7 @@ export class NotificationChannelsImpl implements NotificationChannels { /** * List notification channels in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -139,7 +139,7 @@ export class NotificationChannelsImpl implements NotificationChannels { /** * Get notification channel. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param options The options parameters. @@ -157,8 +157,8 @@ export class NotificationChannelsImpl implements NotificationChannels { } /** - * Create or replace an existing notification channel. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Notification Channel. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param notificationChannel A notification. @@ -179,7 +179,7 @@ export class NotificationChannelsImpl implements NotificationChannels { /** * Delete notification channel. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param options The options parameters. @@ -198,10 +198,11 @@ export class NotificationChannelsImpl implements NotificationChannels { /** * Allows modifying tags of notification channels. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. - * @param notificationChannel A notification. + * @param notificationChannel Allows modifying tags of notification channels. All other properties will + * be ignored. * @param options The options parameters. */ update( @@ -219,7 +220,7 @@ export class NotificationChannelsImpl implements NotificationChannels { /** * Send notification to provided channel. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param notifyParameters Properties for generating a Notification. @@ -240,7 +241,7 @@ export class NotificationChannelsImpl implements NotificationChannels { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -420,13 +421,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/operations.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/operations.ts index 73d824f75daa..780645488978 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/operations.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/operations.ts @@ -54,7 +54,8 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.OperationResult }, 202: { - bodyMapper: Mappers.OperationResult + bodyMapper: Mappers.OperationResult, + headersMapper: Mappers.OperationsGetHeaders }, default: { bodyMapper: Mappers.CloudError @@ -64,8 +65,8 @@ const getOperationSpec: coreClient.OperationSpec = { urlParameters: [ Parameters.$host, Parameters.subscriptionId, - Parameters.name, - Parameters.locationName + Parameters.locationName, + Parameters.name1 ], headerParameters: [Parameters.accept], serializer diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/policies.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/policies.ts index 0a859d1871b3..67bb7b7c8227 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/policies.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/policies.ts @@ -44,7 +44,7 @@ export class PoliciesImpl implements Policies { /** * List policies in a given policy set. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param options The options parameters. @@ -137,7 +137,7 @@ export class PoliciesImpl implements Policies { /** * List policies in a given policy set. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param options The options parameters. @@ -156,7 +156,7 @@ export class PoliciesImpl implements Policies { /** * Get policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. @@ -177,7 +177,7 @@ export class PoliciesImpl implements Policies { /** * Create or replace an existing policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. @@ -200,7 +200,7 @@ export class PoliciesImpl implements Policies { /** * Delete policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. @@ -221,11 +221,11 @@ export class PoliciesImpl implements Policies { /** * Allows modifying tags of policies. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. - * @param policy A Policy. + * @param policy Allows modifying tags of policies. All other properties will be ignored. * @param options The options parameters. */ update( @@ -244,7 +244,7 @@ export class PoliciesImpl implements Policies { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param nextLink The nextLink from the previous successful call to the List method. @@ -408,13 +408,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/policySets.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/policySets.ts index 55fd9408a8cc..f4075bea4a1f 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/policySets.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/policySets.ts @@ -6,17 +6,25 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; import { PolicySets } from "../operationsInterfaces"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; import { + PolicySet, + PolicySetsListNextOptionalParams, + PolicySetsListOptionalParams, + PolicySetsListResponse, EvaluatePoliciesRequest, PolicySetsEvaluatePoliciesOptionalParams, - PolicySetsEvaluatePoliciesResponse + PolicySetsEvaluatePoliciesResponse, + PolicySetsListNextResponse } from "../models"; +/// /** Class containing PolicySets operations. */ export class PolicySetsImpl implements PolicySets { private readonly client: DevTestLabsClient; @@ -29,9 +37,102 @@ export class PolicySetsImpl implements PolicySets { this.client = client; } + /** + * List policy sets in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + labName: string, + options?: PolicySetsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, labName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + labName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + labName: string, + options?: PolicySetsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PolicySetsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, labName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + labName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + labName: string, + options?: PolicySetsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + labName, + options + )) { + yield* page; + } + } + + /** + * List policy sets in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + labName: string, + options?: PolicySetsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, options }, + listOperationSpec + ); + } + /** * Evaluates lab policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the policy set. * @param evaluatePoliciesRequest Request body for evaluating a policy set. @@ -49,10 +150,56 @@ export class PolicySetsImpl implements PolicySets { evaluatePoliciesOperationSpec ); } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + labName: string, + nextLink: string, + options?: PolicySetsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, nextLink, options }, + listNextOperationSpec + ); + } } // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PolicySetList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.top, + Parameters.orderby + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; const evaluatePoliciesOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies", @@ -78,3 +225,24 @@ const evaluatePoliciesOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer }; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PolicySetList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/providerOperations.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/providerOperations.ts index 1d4fd4a144d6..f6a9a793c025 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/providerOperations.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/providerOperations.ts @@ -143,7 +143,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion], urlParameters: [Parameters.$host, Parameters.nextLink], headerParameters: [Parameters.accept], serializer diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/schedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/schedules.ts index e11b793823ac..24ed2748d83d 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/schedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/schedules.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Schedule, SchedulesListNextOptionalParams, @@ -51,7 +55,7 @@ export class SchedulesImpl implements Schedules { /** * List schedules in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -127,7 +131,7 @@ export class SchedulesImpl implements Schedules { /** * Lists all applicable schedules - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -220,7 +224,7 @@ export class SchedulesImpl implements Schedules { /** * List schedules in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -237,7 +241,7 @@ export class SchedulesImpl implements Schedules { /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -256,7 +260,7 @@ export class SchedulesImpl implements Schedules { /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param schedule A schedule. @@ -277,7 +281,7 @@ export class SchedulesImpl implements Schedules { /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -296,10 +300,10 @@ export class SchedulesImpl implements Schedules { /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -317,7 +321,7 @@ export class SchedulesImpl implements Schedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -327,14 +331,14 @@ export class SchedulesImpl implements Schedules { labName: string, name: string, options?: SchedulesExecuteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -367,14 +371,15 @@ export class SchedulesImpl implements Schedules { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - executeOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: executeOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -382,7 +387,7 @@ export class SchedulesImpl implements Schedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -404,7 +409,7 @@ export class SchedulesImpl implements Schedules { /** * Lists all applicable schedules - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -423,7 +428,7 @@ export class SchedulesImpl implements Schedules { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -442,7 +447,7 @@ export class SchedulesImpl implements Schedules { /** * ListApplicableNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param nextLink The nextLink from the previous successful call to the ListApplicable method. @@ -648,13 +653,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, @@ -676,7 +674,6 @@ const listApplicableNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/secrets.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/secrets.ts index a3ce27c4f26f..8a0dc451f900 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/secrets.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/secrets.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Secret, SecretsListNextOptionalParams, @@ -46,7 +50,7 @@ export class SecretsImpl implements Secrets { /** * List secrets in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -134,7 +138,7 @@ export class SecretsImpl implements Secrets { /** * List secrets in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -153,7 +157,7 @@ export class SecretsImpl implements Secrets { /** * Get secret. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -174,7 +178,7 @@ export class SecretsImpl implements Secrets { /** * Create or replace an existing secret. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -189,8 +193,8 @@ export class SecretsImpl implements Secrets { secret: Secret, options?: SecretsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, SecretsCreateOrUpdateResponse > > { @@ -200,7 +204,7 @@ export class SecretsImpl implements Secrets { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -233,14 +237,18 @@ export class SecretsImpl implements Secrets { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, secret, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, name, secret, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + SecretsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -248,7 +256,7 @@ export class SecretsImpl implements Secrets { /** * Create or replace an existing secret. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -276,7 +284,7 @@ export class SecretsImpl implements Secrets { /** * Delete secret. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -297,11 +305,11 @@ export class SecretsImpl implements Secrets { /** * Allows modifying tags of secrets. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. - * @param secret A secret. + * @param secret Allows modifying tags of secrets. All other properties will be ignored. * @param options The options parameters. */ update( @@ -320,7 +328,7 @@ export class SecretsImpl implements Secrets { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param nextLink The nextLink from the previous successful call to the List method. @@ -416,7 +424,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - requestBody: Parameters.secret, + requestBody: Parameters.secret1, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -465,7 +473,7 @@ const updateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - requestBody: Parameters.secret1, + requestBody: Parameters.secret, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -490,13 +498,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabricSchedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabricSchedules.ts index 758111a0916a..ddfe3e06f4a7 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabricSchedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabricSchedules.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Schedule, ServiceFabricSchedulesListNextOptionalParams, @@ -47,7 +51,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * List schedules in a given service fabric. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -149,7 +153,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * List schedules in a given service fabric. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -170,7 +174,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -200,7 +204,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -233,7 +237,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -263,12 +267,12 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -296,7 +300,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -310,14 +314,14 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { serviceFabricName: string, name: string, options?: ServiceFabricSchedulesExecuteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -350,9 +354,9 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, @@ -360,11 +364,12 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { name, options }, - executeOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + spec: executeOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -372,7 +377,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -400,7 +405,7 @@ export class ServiceFabricSchedulesImpl implements ServiceFabricSchedules { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -604,13 +609,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabrics.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabrics.ts index 8487b86d5234..41699780a1ff 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabrics.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceFabrics.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { ServiceFabric, ServiceFabricsListNextOptionalParams, @@ -50,7 +54,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * List service fabrics in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -138,7 +142,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * List service fabrics in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -157,7 +161,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Get service fabric. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -177,8 +181,8 @@ export class ServiceFabricsImpl implements ServiceFabrics { } /** - * Create or replace an existing service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Service Fabric. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -193,8 +197,8 @@ export class ServiceFabricsImpl implements ServiceFabrics { serviceFabric: ServiceFabric, options?: ServiceFabricsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ServiceFabricsCreateOrUpdateResponse > > { @@ -204,7 +208,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -237,22 +241,33 @@ export class ServiceFabricsImpl implements ServiceFabrics { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, serviceFabric, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + labName, + userName, + name, + serviceFabric, + options + }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + ServiceFabricsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; } /** - * Create or replace an existing service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Service Fabric. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -280,7 +295,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Delete service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -292,14 +307,14 @@ export class ServiceFabricsImpl implements ServiceFabrics { userName: string, name: string, options?: ServiceFabricsDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -332,14 +347,15 @@ export class ServiceFabricsImpl implements ServiceFabrics { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -347,7 +363,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Delete service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -372,11 +388,11 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Allows modifying tags of service fabrics. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. - * @param serviceFabric A Service Fabric. + * @param serviceFabric Allows modifying tags of service fabrics. All other properties will be ignored. * @param options The options parameters. */ update( @@ -395,7 +411,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Lists the applicable start/stop schedules, if any. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -416,7 +432,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Start a service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -428,14 +444,14 @@ export class ServiceFabricsImpl implements ServiceFabrics { userName: string, name: string, options?: ServiceFabricsStartOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -468,14 +484,15 @@ export class ServiceFabricsImpl implements ServiceFabrics { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, options }, - startOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, name, options }, + spec: startOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -483,7 +500,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Start a service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -508,7 +525,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Stop a service fabric This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -520,14 +537,14 @@ export class ServiceFabricsImpl implements ServiceFabrics { userName: string, name: string, options?: ServiceFabricsStopOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -560,14 +577,15 @@ export class ServiceFabricsImpl implements ServiceFabrics { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, userName, name, options }, - stopOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, userName, name, options }, + spec: stopOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -575,7 +593,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * Stop a service fabric This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -600,7 +618,7 @@ export class ServiceFabricsImpl implements ServiceFabrics { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param nextLink The nextLink from the previous successful call to the List method. @@ -846,13 +864,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceRunners.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceRunners.ts index d1b1874b8446..2bf3c2c6dd79 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceRunners.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/serviceRunners.ts @@ -6,20 +6,33 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; import { ServiceRunners } from "../operationsInterfaces"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + ServiceRunner, + ServiceRunnersListNextOptionalParams, + ServiceRunnersListOptionalParams, + ServiceRunnersListResponse, ServiceRunnersGetOptionalParams, ServiceRunnersGetResponse, - ServiceRunner, ServiceRunnersCreateOrUpdateOptionalParams, ServiceRunnersCreateOrUpdateResponse, - ServiceRunnersDeleteOptionalParams + ServiceRunnersDeleteOptionalParams, + ServiceRunnersListNextResponse } from "../models"; +/// /** Class containing ServiceRunners operations. */ export class ServiceRunnersImpl implements ServiceRunners { private readonly client: DevTestLabsClient; @@ -32,9 +45,102 @@ export class ServiceRunnersImpl implements ServiceRunners { this.client = client; } + /** + * List service runners in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + labName: string, + options?: ServiceRunnersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, labName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + labName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + labName: string, + options?: ServiceRunnersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ServiceRunnersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, labName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + labName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + labName: string, + options?: ServiceRunnersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + labName, + options + )) { + yield* page; + } + } + + /** + * List service runners in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + labName: string, + options?: ServiceRunnersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, options }, + listOperationSpec + ); + } + /** * Get service runner. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the service runner. * @param options The options parameters. @@ -52,8 +158,8 @@ export class ServiceRunnersImpl implements ServiceRunners { } /** - * Create or replace an existing service runner. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Service runner. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the service runner. * @param serviceRunner A container for a managed identity to execute DevTest lab services. @@ -73,27 +179,142 @@ export class ServiceRunnersImpl implements ServiceRunners { } /** - * Delete service runner. - * @param resourceGroupName The name of the resource group. + * Delete service runner. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the service runner. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + labName: string, + name: string, + options?: ServiceRunnersDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" + }); + await poller.poll(); + return poller; + } + + /** + * Delete service runner. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the service runner. * @param options The options parameters. */ - delete( + async beginDeleteAndWait( resourceGroupName: string, labName: string, name: string, options?: ServiceRunnersDeleteOptionalParams ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + labName, + name, + options + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + labName: string, + nextLink: string, + options?: ServiceRunnersListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { resourceGroupName, labName, name, options }, - deleteOperationSpec + { resourceGroupName, labName, nextLink, options }, + listNextOperationSpec ); } } // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServiceRunnerList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.top, + Parameters.orderby + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; const getOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}", @@ -151,6 +372,8 @@ const deleteOperationSpec: coreClient.OperationSpec = { httpMethod: "DELETE", responses: { 200: {}, + 201: {}, + 202: {}, 204: {}, default: { bodyMapper: Mappers.CloudError @@ -167,3 +390,24 @@ const deleteOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ServiceRunnerList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/sharedGalleries.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/sharedGalleries.ts new file mode 100644 index 000000000000..30ad51880a99 --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/sharedGalleries.ts @@ -0,0 +1,387 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { SharedGalleries } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DevTestLabsClient } from "../devTestLabsClient"; +import { + SharedGallery, + SharedGalleriesListNextOptionalParams, + SharedGalleriesListOptionalParams, + SharedGalleriesListResponse, + SharedGalleriesGetOptionalParams, + SharedGalleriesGetResponse, + SharedGalleriesCreateOrUpdateOptionalParams, + SharedGalleriesCreateOrUpdateResponse, + SharedGalleriesDeleteOptionalParams, + SharedGalleryFragment, + SharedGalleriesUpdateOptionalParams, + SharedGalleriesUpdateResponse, + SharedGalleriesListNextResponse +} from "../models"; + +/// +/** Class containing SharedGalleries operations. */ +export class SharedGalleriesImpl implements SharedGalleries { + private readonly client: DevTestLabsClient; + + /** + * Initialize a new instance of the class SharedGalleries class. + * @param client Reference to the service client + */ + constructor(client: DevTestLabsClient) { + this.client = client; + } + + /** + * List shared galleries in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + labName: string, + options?: SharedGalleriesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, labName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + labName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + labName: string, + options?: SharedGalleriesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: SharedGalleriesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, labName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + labName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + labName: string, + options?: SharedGalleriesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + labName, + options + )) { + yield* page; + } + } + + /** + * List shared galleries in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + labName: string, + options?: SharedGalleriesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, options }, + listOperationSpec + ); + } + + /** + * Get shared gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + name: string, + options?: SharedGalleriesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, name, options }, + getOperationSpec + ); + } + + /** + * Create or replace an existing Shared Gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param sharedGallery Properties of a shared gallery + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + labName: string, + name: string, + sharedGallery: SharedGallery, + options?: SharedGalleriesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, name, sharedGallery, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Delete shared gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + labName: string, + name: string, + options?: SharedGalleriesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, name, options }, + deleteOperationSpec + ); + } + + /** + * Allows modifying tags of shared galleries. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param sharedGallery Allows modifying tags of shared galleries. All other properties will be + * ignored. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + labName: string, + name: string, + sharedGallery: SharedGalleryFragment, + options?: SharedGalleriesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, name, sharedGallery, options }, + updateOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + labName: string, + nextLink: string, + options?: SharedGalleriesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SharedGalleryList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.expand, + Parameters.filter, + Parameters.top, + Parameters.orderby + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SharedGallery + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SharedGallery + }, + 201: { + bodyMapper: Mappers.SharedGallery + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.sharedGallery, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.SharedGallery + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.sharedGallery1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SharedGalleryList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/sharedImages.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/sharedImages.ts new file mode 100644 index 000000000000..39ba35804f79 --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/sharedImages.ts @@ -0,0 +1,435 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { SharedImages } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DevTestLabsClient } from "../devTestLabsClient"; +import { + SharedImage, + SharedImagesListNextOptionalParams, + SharedImagesListOptionalParams, + SharedImagesListResponse, + SharedImagesGetOptionalParams, + SharedImagesGetResponse, + SharedImagesCreateOrUpdateOptionalParams, + SharedImagesCreateOrUpdateResponse, + SharedImagesDeleteOptionalParams, + SharedImageFragment, + SharedImagesUpdateOptionalParams, + SharedImagesUpdateResponse, + SharedImagesListNextResponse +} from "../models"; + +/// +/** Class containing SharedImages operations. */ +export class SharedImagesImpl implements SharedImages { + private readonly client: DevTestLabsClient; + + /** + * Initialize a new instance of the class SharedImages class. + * @param client Reference to the service client + */ + constructor(client: DevTestLabsClient) { + this.client = client; + } + + /** + * List shared images in a given shared gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + options?: SharedImagesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + labName, + sharedGalleryName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + labName, + sharedGalleryName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + options?: SharedImagesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: SharedImagesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + labName, + sharedGalleryName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + labName, + sharedGalleryName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + options?: SharedImagesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + labName, + sharedGalleryName, + options + )) { + yield* page; + } + } + + /** + * List shared images in a given shared gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + options?: SharedImagesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, sharedGalleryName, options }, + listOperationSpec + ); + } + + /** + * Get shared image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + options?: SharedImagesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, sharedGalleryName, name, options }, + getOperationSpec + ); + } + + /** + * Create or replace an existing Shared Image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param sharedImage Properties of a shared image + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + sharedImage: SharedImage, + options?: SharedImagesCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + labName, + sharedGalleryName, + name, + sharedImage, + options + }, + createOrUpdateOperationSpec + ); + } + + /** + * Delete shared image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + options?: SharedImagesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, sharedGalleryName, name, options }, + deleteOperationSpec + ); + } + + /** + * Allows modifying tags of shared images. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param sharedImage Allows modifying tags of shared images. All other properties will be ignored. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + sharedImage: SharedImageFragment, + options?: SharedImagesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + labName, + sharedGalleryName, + name, + sharedImage, + options + }, + updateOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + nextLink: string, + options?: SharedImagesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, sharedGalleryName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{sharedGalleryName}/sharedimages", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SharedImageList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.expand, + Parameters.filter, + Parameters.top, + Parameters.orderby + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName, + Parameters.sharedGalleryName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{sharedGalleryName}/sharedimages/{name}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SharedImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion, Parameters.expand], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.sharedGalleryName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{sharedGalleryName}/sharedimages/{name}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SharedImage + }, + 201: { + bodyMapper: Mappers.SharedImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.sharedImage, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.sharedGalleryName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{sharedGalleryName}/sharedimages/{name}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.sharedGalleryName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{sharedGalleryName}/sharedimages/{name}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.SharedImage + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.sharedImage1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName, + Parameters.sharedGalleryName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SharedImageList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.labName, + Parameters.sharedGalleryName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/users.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/users.ts index 6392d314551b..861863921b60 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/users.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/users.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { User, UsersListNextOptionalParams, @@ -46,7 +50,7 @@ export class UsersImpl implements Users { /** * List user profiles in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -122,7 +126,7 @@ export class UsersImpl implements Users { /** * List user profiles in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -139,7 +143,7 @@ export class UsersImpl implements Users { /** * Get user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. * @param options The options parameters. @@ -158,21 +162,19 @@ export class UsersImpl implements Users { /** * Create or replace an existing user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. - * @param user Profile of a lab user. * @param options The options parameters. */ async beginCreateOrUpdate( resourceGroupName: string, labName: string, name: string, - user: User, options?: UsersCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, UsersCreateOrUpdateResponse > > { @@ -182,7 +184,7 @@ export class UsersImpl implements Users { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -215,14 +217,18 @@ export class UsersImpl implements Users { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, user, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + UsersCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -230,24 +236,21 @@ export class UsersImpl implements Users { /** * Create or replace an existing user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. - * @param user Profile of a lab user. * @param options The options parameters. */ async beginCreateOrUpdateAndWait( resourceGroupName: string, labName: string, name: string, - user: User, options?: UsersCreateOrUpdateOptionalParams ): Promise { const poller = await this.beginCreateOrUpdate( resourceGroupName, labName, name, - user, options ); return poller.pollUntilDone(); @@ -255,7 +258,7 @@ export class UsersImpl implements Users { /** * Delete user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. * @param options The options parameters. @@ -265,14 +268,14 @@ export class UsersImpl implements Users { labName: string, name: string, options?: UsersDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -305,14 +308,15 @@ export class UsersImpl implements Users { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -320,7 +324,7 @@ export class UsersImpl implements Users { /** * Delete user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. * @param options The options parameters. @@ -342,10 +346,10 @@ export class UsersImpl implements Users { /** * Allows modifying tags of user profiles. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. - * @param user Profile of a lab user. + * @param user Allows modifying tags of user profiles. All other properties will be ignored. * @param options The options parameters. */ update( @@ -363,7 +367,7 @@ export class UsersImpl implements Users { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -528,13 +532,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachineSchedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachineSchedules.ts index dcf0d90415db..cc7aab246067 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachineSchedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachineSchedules.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { Schedule, VirtualMachineSchedulesListNextOptionalParams, @@ -47,7 +51,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * List schedules in a given virtual machine. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param options The options parameters. @@ -140,7 +144,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * List schedules in a given virtual machine. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param options The options parameters. @@ -159,7 +163,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -180,7 +184,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -210,7 +214,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -231,11 +235,11 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -261,7 +265,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -273,14 +277,14 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { virtualMachineName: string, name: string, options?: VirtualMachineSchedulesExecuteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -313,14 +317,15 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, virtualMachineName, name, options }, - executeOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, virtualMachineName, name, options }, + spec: executeOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -328,7 +333,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -353,7 +358,7 @@ export class VirtualMachineSchedulesImpl implements VirtualMachineSchedules { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param nextLink The nextLink from the previous successful call to the List method. @@ -542,13 +547,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachines.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachines.ts index 3c5f067abdcd..857edcfd5c5c 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachines.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualMachines.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { LabVirtualMachine, VirtualMachinesListNextOptionalParams, @@ -33,6 +37,7 @@ import { ApplyArtifactsRequest, VirtualMachinesApplyArtifactsOptionalParams, VirtualMachinesClaimOptionalParams, + VirtualMachinesClearArtifactResultsOptionalParams, DetachDataDiskProperties, VirtualMachinesDetachDataDiskOptionalParams, VirtualMachinesGetRdpFileContentsOptionalParams, @@ -65,7 +70,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * List virtual machines in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -141,7 +146,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * List virtual machines in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -158,7 +163,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Get virtual machine. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -176,8 +181,8 @@ export class VirtualMachinesImpl implements VirtualMachines { } /** - * Create or replace an existing virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Virtual machine. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param labVirtualMachine A virtual machine. @@ -190,8 +195,8 @@ export class VirtualMachinesImpl implements VirtualMachines { labVirtualMachine: LabVirtualMachine, options?: VirtualMachinesCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, VirtualMachinesCreateOrUpdateResponse > > { @@ -201,7 +206,7 @@ export class VirtualMachinesImpl implements VirtualMachines { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -234,22 +239,26 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, labVirtualMachine, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, labVirtualMachine, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + VirtualMachinesCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; } /** - * Create or replace an existing virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Virtual machine. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param labVirtualMachine A virtual machine. @@ -274,7 +283,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Delete virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -284,14 +293,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -324,14 +333,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -339,7 +349,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Delete virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -361,10 +371,11 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Allows modifying tags of virtual machines. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. - * @param labVirtualMachine A virtual machine. + * @param labVirtualMachine Allows modifying tags of virtual machines. All other properties will be + * ignored. * @param options The options parameters. */ update( @@ -382,7 +393,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Attach a new or existing data disk to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param dataDiskProperties Request body for adding a new or existing data disk to a virtual machine. @@ -394,14 +405,14 @@ export class VirtualMachinesImpl implements VirtualMachines { name: string, dataDiskProperties: DataDiskProperties, options?: VirtualMachinesAddDataDiskOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -434,14 +445,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, dataDiskProperties, options }, - addDataDiskOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, dataDiskProperties, options }, + spec: addDataDiskOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -449,7 +461,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Attach a new or existing data disk to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param dataDiskProperties Request body for adding a new or existing data disk to a virtual machine. @@ -474,7 +486,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Apply artifacts to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param applyArtifactsRequest Request body for applying artifacts to a virtual machine. @@ -486,14 +498,14 @@ export class VirtualMachinesImpl implements VirtualMachines { name: string, applyArtifactsRequest: ApplyArtifactsRequest, options?: VirtualMachinesApplyArtifactsOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -526,14 +538,21 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, applyArtifactsRequest, options }, - applyArtifactsOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + labName, + name, + applyArtifactsRequest, + options + }, + spec: applyArtifactsOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -541,7 +560,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Apply artifacts to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param applyArtifactsRequest Request body for applying artifacts to a virtual machine. @@ -566,7 +585,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Take ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -576,14 +595,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesClaimOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -616,14 +635,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - claimOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: claimOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -631,7 +651,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Take ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -651,9 +671,28 @@ export class VirtualMachinesImpl implements VirtualMachines { return poller.pollUntilDone(); } + /** + * Clears the artifact results of the virtual machine. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the virtual machine. + * @param options The options parameters. + */ + clearArtifactResults( + resourceGroupName: string, + labName: string, + name: string, + options?: VirtualMachinesClearArtifactResultsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, labName, name, options }, + clearArtifactResultsOperationSpec + ); + } + /** * Detach the specified disk from the virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param detachDataDiskProperties Request body for detaching data disk from a virtual machine. @@ -665,14 +704,14 @@ export class VirtualMachinesImpl implements VirtualMachines { name: string, detachDataDiskProperties: DetachDataDiskProperties, options?: VirtualMachinesDetachDataDiskOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -705,14 +744,21 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, detachDataDiskProperties, options }, - detachDataDiskOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + labName, + name, + detachDataDiskProperties, + options + }, + spec: detachDataDiskOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -720,7 +766,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Detach the specified disk from the virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param detachDataDiskProperties Request body for detaching data disk from a virtual machine. @@ -745,7 +791,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Gets a string that represents the contents of the RDP file for the virtual machine - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -764,7 +810,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Lists the applicable start/stop schedules, if any. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -783,7 +829,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Redeploy a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -793,14 +839,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesRedeployOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -833,14 +879,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - redeployOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: redeployOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -848,7 +895,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Redeploy a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -870,7 +917,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Resize Virtual Machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param resizeLabVirtualMachineProperties Request body for resizing a virtual machine. @@ -882,14 +929,14 @@ export class VirtualMachinesImpl implements VirtualMachines { name: string, resizeLabVirtualMachineProperties: ResizeLabVirtualMachineProperties, options?: VirtualMachinesResizeOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -922,20 +969,21 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, resizeLabVirtualMachineProperties, options }, - resizeOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + spec: resizeOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -943,7 +991,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Resize Virtual Machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param resizeLabVirtualMachineProperties Request body for resizing a virtual machine. @@ -968,7 +1016,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Restart a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -978,14 +1026,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesRestartOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -1018,14 +1066,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - restartOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: restartOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -1033,7 +1082,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Restart a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1055,7 +1104,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Start a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1065,14 +1114,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesStartOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -1105,14 +1154,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - startOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: startOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -1120,7 +1170,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Start a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1142,7 +1192,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Stop a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1152,14 +1202,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesStopOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -1192,14 +1242,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - stopOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: stopOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -1207,7 +1258,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Stop a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1230,7 +1281,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Transfers all data disks attached to the virtual machine to be owned by the current user. This * operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1240,14 +1291,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesTransferDisksOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -1280,14 +1331,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - transferDisksOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: transferDisksOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -1296,7 +1348,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Transfers all data disks attached to the virtual machine to be owned by the current user. This * operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1318,7 +1370,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Release ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1328,14 +1380,14 @@ export class VirtualMachinesImpl implements VirtualMachines { labName: string, name: string, options?: VirtualMachinesUnClaimOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -1368,14 +1420,15 @@ export class VirtualMachinesImpl implements VirtualMachines { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - unClaimOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: unClaimOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -1383,7 +1436,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * Release ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -1405,7 +1458,7 @@ export class VirtualMachinesImpl implements VirtualMachines { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -1635,6 +1688,27 @@ const claimOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const clearArtifactResultsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/clearArtifactResults", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.name, + Parameters.labName + ], + headerParameters: [Parameters.accept], + serializer +}; const detachDataDiskOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk", @@ -1888,13 +1962,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualNetworks.ts b/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualNetworks.ts index 9c8fe42e09b1..1645db822e09 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualNetworks.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operations/virtualNetworks.ts @@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { DevTestLabsClient } from "../devTestLabsClient"; -import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; -import { LroImpl } from "../lroImpl"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; import { VirtualNetwork, VirtualNetworksListNextOptionalParams, @@ -46,7 +50,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * List virtual networks in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -122,7 +126,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * List virtual networks in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -139,7 +143,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * Get virtual network. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param options The options parameters. @@ -158,7 +162,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * Create or replace an existing virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param virtualNetwork A virtual network. @@ -171,8 +175,8 @@ export class VirtualNetworksImpl implements VirtualNetworks { virtualNetwork: VirtualNetwork, options?: VirtualNetworksCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, VirtualNetworksCreateOrUpdateResponse > > { @@ -182,7 +186,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -215,14 +219,18 @@ export class VirtualNetworksImpl implements VirtualNetworks { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, virtualNetwork, options }, - createOrUpdateOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, virtualNetwork, options }, + spec: createOrUpdateOperationSpec + }); + const poller = await createHttpPoller< + VirtualNetworksCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -230,7 +238,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * Create or replace an existing virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param virtualNetwork A virtual network. @@ -255,7 +263,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * Delete virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param options The options parameters. @@ -265,14 +273,14 @@ export class VirtualNetworksImpl implements VirtualNetworks { labName: string, name: string, options?: VirtualNetworksDeleteOptionalParams - ): Promise, void>> { + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ): Promise => { return this.client.sendOperationRequest(args, spec); }; - const sendOperation = async ( + const sendOperationFn = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec ) => { @@ -305,14 +313,15 @@ export class VirtualNetworksImpl implements VirtualNetworks { }; }; - const lro = new LroImpl( - sendOperation, - { resourceGroupName, labName, name, options }, - deleteOperationSpec - ); - const poller = new LroEngine(lro, { - resumeFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, labName, name, options }, + spec: deleteOperationSpec + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "original-uri" }); await poller.poll(); return poller; @@ -320,7 +329,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * Delete virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param options The options parameters. @@ -342,10 +351,11 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * Allows modifying tags of virtual networks. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. - * @param virtualNetwork A virtual network. + * @param virtualNetwork Allows modifying tags of virtual networks. All other properties will be + * ignored. * @param options The options parameters. */ update( @@ -363,7 +373,7 @@ export class VirtualNetworksImpl implements VirtualNetworks { /** * ListNext - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. @@ -528,13 +538,6 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [ - Parameters.apiVersion, - Parameters.expand, - Parameters.filter, - Parameters.top, - Parameters.orderby - ], urlParameters: [ Parameters.$host, Parameters.nextLink, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/armTemplates.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/armTemplates.ts index 92ecdc733d1d..04b389c2049f 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/armTemplates.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/armTemplates.ts @@ -19,7 +19,7 @@ import { export interface ArmTemplates { /** * List azure resource manager templates in a given artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param options The options parameters. @@ -32,7 +32,7 @@ export interface ArmTemplates { ): PagedAsyncIterableIterator; /** * Get azure resource manager template. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param name The name of the azure resource manager template. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifactSources.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifactSources.ts index f5f5b6d61a9d..376e72f86829 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifactSources.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifactSources.ts @@ -25,7 +25,7 @@ import { export interface ArtifactSources { /** * List artifact sources in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -36,7 +36,7 @@ export interface ArtifactSources { ): PagedAsyncIterableIterator; /** * Get artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. * @param options The options parameters. @@ -49,7 +49,7 @@ export interface ArtifactSources { ): Promise; /** * Create or replace an existing artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. * @param artifactSource Properties of an artifact source. @@ -64,7 +64,7 @@ export interface ArtifactSources { ): Promise; /** * Delete artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. * @param options The options parameters. @@ -77,10 +77,11 @@ export interface ArtifactSources { ): Promise; /** * Allows modifying tags of artifact sources. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the artifact source. - * @param artifactSource Properties of an artifact source. + * @param artifactSource Allows modifying tags of artifact sources. All other properties will be + * ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifacts.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifacts.ts index 74f6d40a985c..3f26028ed25f 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifacts.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/artifacts.ts @@ -22,7 +22,7 @@ import { export interface Artifacts { /** * List artifacts in a given artifact source. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param options The options parameters. @@ -35,7 +35,7 @@ export interface Artifacts { ): PagedAsyncIterableIterator; /** * Get artifact. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param name The name of the artifact. @@ -51,7 +51,7 @@ export interface Artifacts { /** * Generates an ARM template for the given artifact, uploads the required files to a storage account, * and validates the generated artifact. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param artifactSourceName The name of the artifact source. * @param name The name of the artifact. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/bastionHosts.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/bastionHosts.ts new file mode 100644 index 000000000000..0822c76f1924 --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/bastionHosts.ts @@ -0,0 +1,141 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + BastionHost, + BastionHostsListOptionalParams, + BastionHostsGetOptionalParams, + BastionHostsGetResponse, + BastionHostsCreateOrUpdateOptionalParams, + BastionHostsCreateOrUpdateResponse, + BastionHostsDeleteOptionalParams, + BastionHostFragment, + BastionHostsUpdateOptionalParams, + BastionHostsUpdateResponse +} from "../models"; + +/// +/** Interface representing a BastionHosts. */ +export interface BastionHosts { + /** + * List bastionhosts in a given virtual network. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + options?: BastionHostsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get bastionhost. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + options?: BastionHostsGetOptionalParams + ): Promise; + /** + * Create or replace an existing bastionHost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param bastionHost Profile of a Bastion Host + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + bastionHost: BastionHost, + options?: BastionHostsCreateOrUpdateOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + BastionHostsCreateOrUpdateResponse + > + >; + /** + * Create or replace an existing bastionHost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param bastionHost Profile of a Bastion Host + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + bastionHost: BastionHost, + options?: BastionHostsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete bastionhost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + options?: BastionHostsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete bastionhost. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + options?: BastionHostsDeleteOptionalParams + ): Promise; + /** + * Allows modifying tags of bastionhosts. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param virtualNetworkName The name of the virtual network. + * @param name The name of the bastionhost. + * @param bastionHost Allows modifying tags of bastionhosts. All other properties will be ignored. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + labName: string, + virtualNetworkName: string, + name: string, + bastionHost: BastionHostFragment, + options?: BastionHostsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/costs.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/costs.ts deleted file mode 100644 index dab7bda435a6..000000000000 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/costs.ts +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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 { - CostsGetOptionalParams, - CostsGetResponse, - LabCost, - CostsCreateOrUpdateOptionalParams, - CostsCreateOrUpdateResponse -} from "../models"; - -/** Interface representing a Costs. */ -export interface Costs { - /** - * Get cost. - * @param resourceGroupName The name of the resource group. - * @param labName The name of the lab. - * @param name The name of the cost. - * @param options The options parameters. - */ - get( - resourceGroupName: string, - labName: string, - name: string, - options?: CostsGetOptionalParams - ): Promise; - /** - * Create or replace an existing cost. - * @param resourceGroupName The name of the resource group. - * @param labName The name of the lab. - * @param name The name of the cost. - * @param labCost A cost item. - * @param options The options parameters. - */ - createOrUpdate( - resourceGroupName: string, - labName: string, - name: string, - labCost: LabCost, - options?: CostsCreateOrUpdateOptionalParams - ): Promise; -} diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/customImages.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/customImages.ts index 7dce830603d6..c08632afd532 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/customImages.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/customImages.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { CustomImage, CustomImagesListOptionalParams, @@ -26,7 +26,7 @@ import { export interface CustomImages { /** * List custom images in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -37,7 +37,7 @@ export interface CustomImages { ): PagedAsyncIterableIterator; /** * Get custom image. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param options The options parameters. @@ -50,7 +50,7 @@ export interface CustomImages { ): Promise; /** * Create or replace an existing custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param customImage A custom image. @@ -63,14 +63,14 @@ export interface CustomImages { customImage: CustomImage, options?: CustomImagesCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, CustomImagesCreateOrUpdateResponse > >; /** * Create or replace an existing custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param customImage A custom image. @@ -85,7 +85,7 @@ export interface CustomImages { ): Promise; /** * Delete custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param options The options parameters. @@ -95,10 +95,10 @@ export interface CustomImages { labName: string, name: string, options?: CustomImagesDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete custom image. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. * @param options The options parameters. @@ -111,10 +111,10 @@ export interface CustomImages { ): Promise; /** * Allows modifying tags of custom images. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the custom image. - * @param customImage A custom image. + * @param customImage Allows modifying tags of custom images. All other properties will be ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/disks.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/disks.ts index 89a515ab236b..48354a861706 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/disks.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/disks.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Disk, DisksListOptionalParams, @@ -30,7 +30,7 @@ import { export interface Disks { /** * List disks in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -43,7 +43,7 @@ export interface Disks { ): PagedAsyncIterableIterator; /** * Get disk. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -58,7 +58,7 @@ export interface Disks { ): Promise; /** * Create or replace an existing disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -73,14 +73,14 @@ export interface Disks { disk: Disk, options?: DisksCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, DisksCreateOrUpdateResponse > >; /** * Create or replace an existing disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -97,7 +97,7 @@ export interface Disks { ): Promise; /** * Delete disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -109,10 +109,10 @@ export interface Disks { userName: string, name: string, options?: DisksDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete disk. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -127,11 +127,11 @@ export interface Disks { ): Promise; /** * Allows modifying tags of disks. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. - * @param disk A Disk. + * @param disk Allows modifying tags of disks. All other properties will be ignored. * @param options The options parameters. */ update( @@ -145,7 +145,7 @@ export interface Disks { /** * Attach and create the lease of the disk to the virtual machine. This operation can take a while to * complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -159,11 +159,11 @@ export interface Disks { name: string, attachDiskProperties: AttachDiskProperties, options?: DisksAttachOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Attach and create the lease of the disk to the virtual machine. This operation can take a while to * complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -181,7 +181,7 @@ export interface Disks { /** * Detach and break the lease of the disk attached to the virtual machine. This operation can take a * while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. @@ -195,11 +195,11 @@ export interface Disks { name: string, detachDiskProperties: DetachDiskProperties, options?: DisksDetachOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Detach and break the lease of the disk attached to the virtual machine. This operation can take a * while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the disk. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/environments.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/environments.ts index 06ca898114b6..2e07053be510 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/environments.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/environments.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { DtlEnvironment, EnvironmentsListOptionalParams, @@ -26,7 +26,7 @@ import { export interface Environments { /** * List environments in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -39,7 +39,7 @@ export interface Environments { ): PagedAsyncIterableIterator; /** * Get environment. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -54,7 +54,7 @@ export interface Environments { ): Promise; /** * Create or replace an existing environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -69,14 +69,14 @@ export interface Environments { dtlEnvironment: DtlEnvironment, options?: EnvironmentsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, EnvironmentsCreateOrUpdateResponse > >; /** * Create or replace an existing environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -93,7 +93,7 @@ export interface Environments { ): Promise; /** * Delete environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -105,10 +105,10 @@ export interface Environments { userName: string, name: string, options?: EnvironmentsDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete environment. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. @@ -123,11 +123,11 @@ export interface Environments { ): Promise; /** * Allows modifying tags of environments. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the environment. - * @param dtlEnvironment An environment, which is essentially an ARM template deployment. + * @param dtlEnvironment Allows modifying tags of environments. All other properties will be ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/formulas.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/formulas.ts index d81b022f8a56..46418d919450 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/formulas.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/formulas.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Formula, FormulasListOptionalParams, @@ -26,7 +26,7 @@ import { export interface Formulas { /** * List formulas in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -37,7 +37,7 @@ export interface Formulas { ): PagedAsyncIterableIterator; /** * Get formula. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param options The options parameters. @@ -49,8 +49,8 @@ export interface Formulas { options?: FormulasGetOptionalParams ): Promise; /** - * Create or replace an existing formula. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Formula. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param formula A formula for creating a VM, specifying an image base and other parameters @@ -63,14 +63,14 @@ export interface Formulas { formula: Formula, options?: FormulasCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, FormulasCreateOrUpdateResponse > >; /** - * Create or replace an existing formula. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Formula. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param formula A formula for creating a VM, specifying an image base and other parameters @@ -85,7 +85,7 @@ export interface Formulas { ): Promise; /** * Delete formula. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. * @param options The options parameters. @@ -98,10 +98,10 @@ export interface Formulas { ): Promise; /** * Allows modifying tags of formulas. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the formula. - * @param formula A formula for creating a VM, specifying an image base and other parameters + * @param formula Allows modifying tags of formulas. All other properties will be ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/galleryImages.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/galleryImages.ts index 3142c6295d23..952b17ea7383 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/galleryImages.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/galleryImages.ts @@ -7,14 +7,19 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { GalleryImage, GalleryImagesListOptionalParams } from "../models"; +import { + GalleryImage, + GalleryImagesListOptionalParams, + GalleryImagesGetOptionalParams, + GalleryImagesGetResponse +} from "../models"; /// /** Interface representing a GalleryImages. */ export interface GalleryImages { /** * List gallery images in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -23,4 +28,17 @@ export interface GalleryImages { labName: string, options?: GalleryImagesListOptionalParams ): PagedAsyncIterableIterator; + /** + * Get gallery image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the gallery image. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + name: string, + options?: GalleryImagesGetOptionalParams + ): Promise; } diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/globalSchedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/globalSchedules.ts index 881cbeabb76c..88656917af35 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/globalSchedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/globalSchedules.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Schedule, GlobalSchedulesListBySubscriptionOptionalParams, @@ -37,7 +37,7 @@ export interface GlobalSchedules { ): PagedAsyncIterableIterator; /** * List schedules in a resource group. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ listByResourceGroup( @@ -46,7 +46,7 @@ export interface GlobalSchedules { ): PagedAsyncIterableIterator; /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -57,7 +57,7 @@ export interface GlobalSchedules { ): Promise; /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param schedule A schedule. * @param options The options parameters. @@ -70,7 +70,7 @@ export interface GlobalSchedules { ): Promise; /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -81,9 +81,9 @@ export interface GlobalSchedules { ): Promise; /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -94,7 +94,7 @@ export interface GlobalSchedules { ): Promise; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -102,10 +102,10 @@ export interface GlobalSchedules { resourceGroupName: string, name: string, options?: GlobalSchedulesExecuteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param options The options parameters. */ @@ -116,7 +116,7 @@ export interface GlobalSchedules { ): Promise; /** * Updates a schedule's target resource Id. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param retargetScheduleProperties Properties for retargeting a virtual machine schedule. * @param options The options parameters. @@ -126,10 +126,10 @@ export interface GlobalSchedules { name: string, retargetScheduleProperties: RetargetScheduleProperties, options?: GlobalSchedulesRetargetOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Updates a schedule's target resource Id. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the schedule. * @param retargetScheduleProperties Properties for retargeting a virtual machine schedule. * @param options The options parameters. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/index.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/index.ts index ed76356e15ec..f3db3bac1604 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/index.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/index.ts @@ -13,7 +13,6 @@ export * from "./globalSchedules"; export * from "./artifactSources"; export * from "./armTemplates"; export * from "./artifacts"; -export * from "./costs"; export * from "./customImages"; export * from "./formulas"; export * from "./galleryImages"; @@ -21,7 +20,10 @@ export * from "./notificationChannels"; export * from "./policySets"; export * from "./policies"; export * from "./schedules"; +export * from "./labSecrets"; export * from "./serviceRunners"; +export * from "./sharedGalleries"; +export * from "./sharedImages"; export * from "./users"; export * from "./disks"; export * from "./environments"; @@ -31,3 +33,4 @@ export * from "./serviceFabricSchedules"; export * from "./virtualMachines"; export * from "./virtualMachineSchedules"; export * from "./virtualNetworks"; +export * from "./bastionHosts"; diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labSecrets.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labSecrets.ts new file mode 100644 index 000000000000..ce99ec6e0a20 --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labSecrets.ts @@ -0,0 +1,147 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + LabSecret, + LabSecretsListOptionalParams, + LabSecretsGetOptionalParams, + LabSecretsGetResponse, + LabSecretsCreateOrUpdateOptionalParams, + LabSecretsCreateOrUpdateResponse, + LabSecretsDeleteOptionalParams, + SecretFragment, + LabSecretsUpdateOptionalParams, + LabSecretsUpdateResponse +} from "../models"; + +/// +/** Interface representing a LabSecrets. */ +export interface LabSecrets { + /** + * List lab secrets in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + labName: string, + options?: LabSecretsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get lab secret. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + name: string, + options?: LabSecretsGetOptionalParams + ): Promise; + /** + * Create or replace an existing Lab Secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param labSecret A shared secret in a lab. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + labName: string, + name: string, + labSecret: LabSecret, + options?: LabSecretsCreateOrUpdateOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + LabSecretsCreateOrUpdateResponse + > + >; + /** + * Create or replace an existing Lab Secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param labSecret A shared secret in a lab. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + labName: string, + name: string, + labSecret: LabSecret, + options?: LabSecretsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete lab secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + labName: string, + name: string, + options?: LabSecretsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete lab secret. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + labName: string, + name: string, + options?: LabSecretsDeleteOptionalParams + ): Promise; + /** + * Allows modifying tags of lab secrets. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param secret Allows modifying tags of lab secrets. All other properties will be ignored. + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + labName: string, + name: string, + secret: SecretFragment, + options?: LabSecretsUpdateOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + LabSecretsUpdateResponse + > + >; + /** + * Allows modifying tags of lab secrets. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the lab secret. + * @param secret Allows modifying tags of lab secrets. All other properties will be ignored. + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + labName: string, + name: string, + secret: SecretFragment, + options?: LabSecretsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labs.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labs.ts index c70b88a30aea..96c486332358 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labs.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/labs.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Lab, LabsListBySubscriptionOptionalParams, @@ -25,6 +25,7 @@ import { LabsClaimAnyVmOptionalParams, LabVirtualMachineCreationParameter, LabsCreateEnvironmentOptionalParams, + LabsEnsureCurrentUserProfileOptionalParams, ExportResourceUsageParameters, LabsExportResourceUsageOptionalParams, GenerateUploadUriParameter, @@ -46,7 +47,7 @@ export interface Labs { ): PagedAsyncIterableIterator; /** * List labs in a resource group. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ listByResourceGroup( @@ -55,7 +56,7 @@ export interface Labs { ): PagedAsyncIterableIterator; /** * List disk images available for custom image creation. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -66,7 +67,7 @@ export interface Labs { ): PagedAsyncIterableIterator; /** * Get lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -77,7 +78,7 @@ export interface Labs { ): Promise; /** * Create or replace an existing lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param lab A lab. * @param options The options parameters. @@ -88,14 +89,14 @@ export interface Labs { lab: Lab, options?: LabsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, LabsCreateOrUpdateResponse > >; /** * Create or replace an existing lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param lab A lab. * @param options The options parameters. @@ -108,7 +109,7 @@ export interface Labs { ): Promise; /** * Delete lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -116,10 +117,10 @@ export interface Labs { resourceGroupName: string, name: string, options?: LabsDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -130,9 +131,9 @@ export interface Labs { ): Promise; /** * Allows modifying tags of labs. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. - * @param lab A lab. + * @param lab Allows modifying tags of labs. All other properties will be ignored. * @param options The options parameters. */ update( @@ -143,7 +144,7 @@ export interface Labs { ): Promise; /** * Claim a random claimable virtual machine in the lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -151,10 +152,10 @@ export interface Labs { resourceGroupName: string, name: string, options?: LabsClaimAnyVmOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Claim a random claimable virtual machine in the lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param options The options parameters. */ @@ -165,7 +166,7 @@ export interface Labs { ): Promise; /** * Create virtual machines in a lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param labVirtualMachineCreationParameter Properties for creating a virtual machine. * @param options The options parameters. @@ -175,10 +176,10 @@ export interface Labs { name: string, labVirtualMachineCreationParameter: LabVirtualMachineCreationParameter, options?: LabsCreateEnvironmentOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Create virtual machines in a lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param labVirtualMachineCreationParameter Properties for creating a virtual machine. * @param options The options parameters. @@ -189,9 +190,20 @@ export interface Labs { labVirtualMachineCreationParameter: LabVirtualMachineCreationParameter, options?: LabsCreateEnvironmentOptionalParams ): Promise; + /** + * Ensure the current user has a valid profile in the lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param name The name of the lab. + * @param options The options parameters. + */ + ensureCurrentUserProfile( + resourceGroupName: string, + name: string, + options?: LabsEnsureCurrentUserProfileOptionalParams + ): Promise; /** * Exports the lab resource usage into a storage account This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param exportResourceUsageParameters The parameters of the export operation. * @param options The options parameters. @@ -201,10 +213,10 @@ export interface Labs { name: string, exportResourceUsageParameters: ExportResourceUsageParameters, options?: LabsExportResourceUsageOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Exports the lab resource usage into a storage account This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param exportResourceUsageParameters The parameters of the export operation. * @param options The options parameters. @@ -217,7 +229,7 @@ export interface Labs { ): Promise; /** * Generate a URI for uploading custom disk images to a Lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param generateUploadUriParameter Properties for generating an upload URI. * @param options The options parameters. @@ -230,7 +242,7 @@ export interface Labs { ): Promise; /** * Import a virtual machine into a different lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param importLabVirtualMachineRequest This represents the payload required to import a virtual * machine from a different lab into the current one @@ -241,10 +253,10 @@ export interface Labs { name: string, importLabVirtualMachineRequest: ImportLabVirtualMachineRequest, options?: LabsImportVirtualMachineOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Import a virtual machine into a different lab. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param name The name of the lab. * @param importLabVirtualMachineRequest This represents the payload required to import a virtual * machine from a different lab into the current one diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/notificationChannels.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/notificationChannels.ts index d2773a4b643b..e1e827d818d8 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/notificationChannels.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/notificationChannels.ts @@ -27,7 +27,7 @@ import { export interface NotificationChannels { /** * List notification channels in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -38,7 +38,7 @@ export interface NotificationChannels { ): PagedAsyncIterableIterator; /** * Get notification channel. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param options The options parameters. @@ -50,8 +50,8 @@ export interface NotificationChannels { options?: NotificationChannelsGetOptionalParams ): Promise; /** - * Create or replace an existing notification channel. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Notification Channel. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param notificationChannel A notification. @@ -66,7 +66,7 @@ export interface NotificationChannels { ): Promise; /** * Delete notification channel. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param options The options parameters. @@ -79,10 +79,11 @@ export interface NotificationChannels { ): Promise; /** * Allows modifying tags of notification channels. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. - * @param notificationChannel A notification. + * @param notificationChannel Allows modifying tags of notification channels. All other properties will + * be ignored. * @param options The options parameters. */ update( @@ -94,7 +95,7 @@ export interface NotificationChannels { ): Promise; /** * Send notification to provided channel. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the notification channel. * @param notifyParameters Properties for generating a Notification. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policies.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policies.ts index b2a8f951cc8d..8896cc59df83 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policies.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policies.ts @@ -25,7 +25,7 @@ import { export interface Policies { /** * List policies in a given policy set. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param options The options parameters. @@ -38,7 +38,7 @@ export interface Policies { ): PagedAsyncIterableIterator; /** * Get policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. @@ -53,7 +53,7 @@ export interface Policies { ): Promise; /** * Create or replace an existing policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. @@ -70,7 +70,7 @@ export interface Policies { ): Promise; /** * Delete policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. @@ -85,11 +85,11 @@ export interface Policies { ): Promise; /** * Allows modifying tags of policies. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param policySetName The name of the policy set. * @param name The name of the policy. - * @param policy A Policy. + * @param policy Allows modifying tags of policies. All other properties will be ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policySets.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policySets.ts index 462c1c6b83dd..8685eee84e91 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policySets.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/policySets.ts @@ -6,17 +6,32 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { + PolicySet, + PolicySetsListOptionalParams, EvaluatePoliciesRequest, PolicySetsEvaluatePoliciesOptionalParams, PolicySetsEvaluatePoliciesResponse } from "../models"; +/// /** Interface representing a PolicySets. */ export interface PolicySets { + /** + * List policy sets in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + labName: string, + options?: PolicySetsListOptionalParams + ): PagedAsyncIterableIterator; /** * Evaluates lab policy. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the policy set. * @param evaluatePoliciesRequest Request body for evaluating a policy set. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/schedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/schedules.ts index d014aaa2d61f..15adbaa19f79 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/schedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/schedules.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Schedule, SchedulesListOptionalParams, @@ -28,7 +28,7 @@ import { export interface Schedules { /** * List schedules in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -39,7 +39,7 @@ export interface Schedules { ): PagedAsyncIterableIterator; /** * Lists all applicable schedules - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -52,7 +52,7 @@ export interface Schedules { ): PagedAsyncIterableIterator; /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -65,7 +65,7 @@ export interface Schedules { ): Promise; /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param schedule A schedule. @@ -80,7 +80,7 @@ export interface Schedules { ): Promise; /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -93,10 +93,10 @@ export interface Schedules { ): Promise; /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -108,7 +108,7 @@ export interface Schedules { ): Promise; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. @@ -118,10 +118,10 @@ export interface Schedules { labName: string, name: string, options?: SchedulesExecuteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the schedule. * @param options The options parameters. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/secrets.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/secrets.ts index d5a77e7a531e..d982f6a2c0b8 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/secrets.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/secrets.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Secret, SecretsListOptionalParams, @@ -26,7 +26,7 @@ import { export interface Secrets { /** * List secrets in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -39,7 +39,7 @@ export interface Secrets { ): PagedAsyncIterableIterator; /** * Get secret. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -54,7 +54,7 @@ export interface Secrets { ): Promise; /** * Create or replace an existing secret. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -69,14 +69,14 @@ export interface Secrets { secret: Secret, options?: SecretsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, SecretsCreateOrUpdateResponse > >; /** * Create or replace an existing secret. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -93,7 +93,7 @@ export interface Secrets { ): Promise; /** * Delete secret. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. @@ -108,11 +108,11 @@ export interface Secrets { ): Promise; /** * Allows modifying tags of secrets. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the secret. - * @param secret A secret. + * @param secret Allows modifying tags of secrets. All other properties will be ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabricSchedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabricSchedules.ts index 0401264b3760..15589a73bd0a 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabricSchedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabricSchedules.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Schedule, ServiceFabricSchedulesListOptionalParams, @@ -27,7 +27,7 @@ import { export interface ServiceFabricSchedules { /** * List schedules in a given service fabric. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -42,7 +42,7 @@ export interface ServiceFabricSchedules { ): PagedAsyncIterableIterator; /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -59,7 +59,7 @@ export interface ServiceFabricSchedules { ): Promise; /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -78,7 +78,7 @@ export interface ServiceFabricSchedules { ): Promise; /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -95,12 +95,12 @@ export interface ServiceFabricSchedules { ): Promise; /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -114,7 +114,7 @@ export interface ServiceFabricSchedules { ): Promise; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. @@ -128,10 +128,10 @@ export interface ServiceFabricSchedules { serviceFabricName: string, name: string, options?: ServiceFabricSchedulesExecuteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param serviceFabricName The name of the service fabric. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabrics.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabrics.ts index 1ee6ffdc9c1e..9f19c396ba78 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabrics.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceFabrics.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { ServiceFabric, ServiceFabricsListOptionalParams, @@ -30,7 +30,7 @@ import { export interface ServiceFabrics { /** * List service fabrics in a given user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param options The options parameters. @@ -43,7 +43,7 @@ export interface ServiceFabrics { ): PagedAsyncIterableIterator; /** * Get service fabric. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -57,8 +57,8 @@ export interface ServiceFabrics { options?: ServiceFabricsGetOptionalParams ): Promise; /** - * Create or replace an existing service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Service Fabric. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -73,14 +73,14 @@ export interface ServiceFabrics { serviceFabric: ServiceFabric, options?: ServiceFabricsCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, ServiceFabricsCreateOrUpdateResponse > >; /** - * Create or replace an existing service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Service Fabric. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -97,7 +97,7 @@ export interface ServiceFabrics { ): Promise; /** * Delete service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -109,10 +109,10 @@ export interface ServiceFabrics { userName: string, name: string, options?: ServiceFabricsDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -127,11 +127,11 @@ export interface ServiceFabrics { ): Promise; /** * Allows modifying tags of service fabrics. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. - * @param serviceFabric A Service Fabric. + * @param serviceFabric Allows modifying tags of service fabrics. All other properties will be ignored. * @param options The options parameters. */ update( @@ -144,7 +144,7 @@ export interface ServiceFabrics { ): Promise; /** * Lists the applicable start/stop schedules, if any. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -159,7 +159,7 @@ export interface ServiceFabrics { ): Promise; /** * Start a service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -171,10 +171,10 @@ export interface ServiceFabrics { userName: string, name: string, options?: ServiceFabricsStartOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Start a service fabric. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -189,7 +189,7 @@ export interface ServiceFabrics { ): Promise; /** * Stop a service fabric This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. @@ -201,10 +201,10 @@ export interface ServiceFabrics { userName: string, name: string, options?: ServiceFabricsStopOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Stop a service fabric This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param userName The name of the user profile. * @param name The name of the service fabric. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceRunners.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceRunners.ts index dd50fac2b9e7..a6e8eb772173 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceRunners.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/serviceRunners.ts @@ -6,20 +6,35 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { + ServiceRunner, + ServiceRunnersListOptionalParams, ServiceRunnersGetOptionalParams, ServiceRunnersGetResponse, - ServiceRunner, ServiceRunnersCreateOrUpdateOptionalParams, ServiceRunnersCreateOrUpdateResponse, ServiceRunnersDeleteOptionalParams } from "../models"; +/// /** Interface representing a ServiceRunners. */ export interface ServiceRunners { + /** + * List service runners in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + labName: string, + options?: ServiceRunnersListOptionalParams + ): PagedAsyncIterableIterator; /** * Get service runner. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the service runner. * @param options The options parameters. @@ -31,8 +46,8 @@ export interface ServiceRunners { options?: ServiceRunnersGetOptionalParams ): Promise; /** - * Create or replace an existing service runner. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Service runner. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the service runner. * @param serviceRunner A container for a managed identity to execute DevTest lab services. @@ -46,13 +61,26 @@ export interface ServiceRunners { options?: ServiceRunnersCreateOrUpdateOptionalParams ): Promise; /** - * Delete service runner. - * @param resourceGroupName The name of the resource group. + * Delete service runner. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the service runner. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + labName: string, + name: string, + options?: ServiceRunnersDeleteOptionalParams + ): Promise, void>>; + /** + * Delete service runner. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the service runner. * @param options The options parameters. */ - delete( + beginDeleteAndWait( resourceGroupName: string, labName: string, name: string, diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedGalleries.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedGalleries.ts new file mode 100644 index 000000000000..ee7581264d3a --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedGalleries.ts @@ -0,0 +1,94 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SharedGallery, + SharedGalleriesListOptionalParams, + SharedGalleriesGetOptionalParams, + SharedGalleriesGetResponse, + SharedGalleriesCreateOrUpdateOptionalParams, + SharedGalleriesCreateOrUpdateResponse, + SharedGalleriesDeleteOptionalParams, + SharedGalleryFragment, + SharedGalleriesUpdateOptionalParams, + SharedGalleriesUpdateResponse +} from "../models"; + +/// +/** Interface representing a SharedGalleries. */ +export interface SharedGalleries { + /** + * List shared galleries in a given lab. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + labName: string, + options?: SharedGalleriesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get shared gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + name: string, + options?: SharedGalleriesGetOptionalParams + ): Promise; + /** + * Create or replace an existing Shared Gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param sharedGallery Properties of a shared gallery + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + labName: string, + name: string, + sharedGallery: SharedGallery, + options?: SharedGalleriesCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete shared gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + labName: string, + name: string, + options?: SharedGalleriesDeleteOptionalParams + ): Promise; + /** + * Allows modifying tags of shared galleries. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the shared gallery. + * @param sharedGallery Allows modifying tags of shared galleries. All other properties will be + * ignored. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + labName: string, + name: string, + sharedGallery: SharedGalleryFragment, + options?: SharedGalleriesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedImages.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedImages.ts new file mode 100644 index 000000000000..e5c786ddd03e --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/sharedImages.ts @@ -0,0 +1,103 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + SharedImage, + SharedImagesListOptionalParams, + SharedImagesGetOptionalParams, + SharedImagesGetResponse, + SharedImagesCreateOrUpdateOptionalParams, + SharedImagesCreateOrUpdateResponse, + SharedImagesDeleteOptionalParams, + SharedImageFragment, + SharedImagesUpdateOptionalParams, + SharedImagesUpdateResponse +} from "../models"; + +/// +/** Interface representing a SharedImages. */ +export interface SharedImages { + /** + * List shared images in a given shared gallery. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + options?: SharedImagesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get shared image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + options?: SharedImagesGetOptionalParams + ): Promise; + /** + * Create or replace an existing Shared Image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param sharedImage Properties of a shared image + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + sharedImage: SharedImage, + options?: SharedImagesCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete shared image. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + options?: SharedImagesDeleteOptionalParams + ): Promise; + /** + * Allows modifying tags of shared images. All other properties will be ignored. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param sharedGalleryName The name of the shared gallery. + * @param name The name of the shared image. + * @param sharedImage Allows modifying tags of shared images. All other properties will be ignored. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + labName: string, + sharedGalleryName: string, + name: string, + sharedImage: SharedImageFragment, + options?: SharedImagesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/users.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/users.ts index eb56b674d528..787a2f38a490 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/users.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/users.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { User, UsersListOptionalParams, @@ -26,7 +26,7 @@ import { export interface Users { /** * List user profiles in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -37,7 +37,7 @@ export interface Users { ): PagedAsyncIterableIterator; /** * Get user profile. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. * @param options The options parameters. @@ -50,42 +50,38 @@ export interface Users { ): Promise; /** * Create or replace an existing user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. - * @param user Profile of a lab user. * @param options The options parameters. */ beginCreateOrUpdate( resourceGroupName: string, labName: string, name: string, - user: User, options?: UsersCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, UsersCreateOrUpdateResponse > >; /** * Create or replace an existing user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. - * @param user Profile of a lab user. * @param options The options parameters. */ beginCreateOrUpdateAndWait( resourceGroupName: string, labName: string, name: string, - user: User, options?: UsersCreateOrUpdateOptionalParams ): Promise; /** * Delete user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. * @param options The options parameters. @@ -95,10 +91,10 @@ export interface Users { labName: string, name: string, options?: UsersDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete user profile. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. * @param options The options parameters. @@ -111,10 +107,10 @@ export interface Users { ): Promise; /** * Allows modifying tags of user profiles. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the user profile. - * @param user Profile of a lab user. + * @param user Allows modifying tags of user profiles. All other properties will be ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachineSchedules.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachineSchedules.ts index 60a11b9ede54..7f93f4304ee2 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachineSchedules.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachineSchedules.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { Schedule, VirtualMachineSchedulesListOptionalParams, @@ -27,7 +27,7 @@ import { export interface VirtualMachineSchedules { /** * List schedules in a given virtual machine. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param options The options parameters. @@ -40,7 +40,7 @@ export interface VirtualMachineSchedules { ): PagedAsyncIterableIterator; /** * Get schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -55,7 +55,7 @@ export interface VirtualMachineSchedules { ): Promise; /** * Create or replace an existing schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -72,7 +72,7 @@ export interface VirtualMachineSchedules { ): Promise; /** * Delete schedule. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -87,11 +87,11 @@ export interface VirtualMachineSchedules { ): Promise; /** * Allows modifying tags of schedules. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. - * @param schedule A schedule. + * @param schedule Allows modifying tags of schedules. All other properties will be ignored. * @param options The options parameters. */ update( @@ -104,7 +104,7 @@ export interface VirtualMachineSchedules { ): Promise; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. @@ -116,10 +116,10 @@ export interface VirtualMachineSchedules { virtualMachineName: string, name: string, options?: VirtualMachineSchedulesExecuteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Execute a schedule. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param virtualMachineName The name of the virtual machine. * @param name The name of the schedule. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachines.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachines.ts index 9acd7897af4b..139f06a6bd1c 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachines.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualMachines.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { LabVirtualMachine, VirtualMachinesListOptionalParams, @@ -24,6 +24,7 @@ import { ApplyArtifactsRequest, VirtualMachinesApplyArtifactsOptionalParams, VirtualMachinesClaimOptionalParams, + VirtualMachinesClearArtifactResultsOptionalParams, DetachDataDiskProperties, VirtualMachinesDetachDataDiskOptionalParams, VirtualMachinesGetRdpFileContentsOptionalParams, @@ -45,7 +46,7 @@ import { export interface VirtualMachines { /** * List virtual machines in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -56,7 +57,7 @@ export interface VirtualMachines { ): PagedAsyncIterableIterator; /** * Get virtual machine. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -68,8 +69,8 @@ export interface VirtualMachines { options?: VirtualMachinesGetOptionalParams ): Promise; /** - * Create or replace an existing virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Virtual machine. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param labVirtualMachine A virtual machine. @@ -82,14 +83,14 @@ export interface VirtualMachines { labVirtualMachine: LabVirtualMachine, options?: VirtualMachinesCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, VirtualMachinesCreateOrUpdateResponse > >; /** - * Create or replace an existing virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * Create or replace an existing Virtual machine. This operation can take a while to complete. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param labVirtualMachine A virtual machine. @@ -104,7 +105,7 @@ export interface VirtualMachines { ): Promise; /** * Delete virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -114,10 +115,10 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -130,10 +131,11 @@ export interface VirtualMachines { ): Promise; /** * Allows modifying tags of virtual machines. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. - * @param labVirtualMachine A virtual machine. + * @param labVirtualMachine Allows modifying tags of virtual machines. All other properties will be + * ignored. * @param options The options parameters. */ update( @@ -145,7 +147,7 @@ export interface VirtualMachines { ): Promise; /** * Attach a new or existing data disk to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param dataDiskProperties Request body for adding a new or existing data disk to a virtual machine. @@ -157,10 +159,10 @@ export interface VirtualMachines { name: string, dataDiskProperties: DataDiskProperties, options?: VirtualMachinesAddDataDiskOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Attach a new or existing data disk to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param dataDiskProperties Request body for adding a new or existing data disk to a virtual machine. @@ -175,7 +177,7 @@ export interface VirtualMachines { ): Promise; /** * Apply artifacts to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param applyArtifactsRequest Request body for applying artifacts to a virtual machine. @@ -187,10 +189,10 @@ export interface VirtualMachines { name: string, applyArtifactsRequest: ApplyArtifactsRequest, options?: VirtualMachinesApplyArtifactsOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Apply artifacts to virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param applyArtifactsRequest Request body for applying artifacts to a virtual machine. @@ -205,7 +207,7 @@ export interface VirtualMachines { ): Promise; /** * Take ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -215,10 +217,10 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesClaimOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Take ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -229,9 +231,22 @@ export interface VirtualMachines { name: string, options?: VirtualMachinesClaimOptionalParams ): Promise; + /** + * Clears the artifact results of the virtual machine. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param labName The name of the lab. + * @param name The name of the virtual machine. + * @param options The options parameters. + */ + clearArtifactResults( + resourceGroupName: string, + labName: string, + name: string, + options?: VirtualMachinesClearArtifactResultsOptionalParams + ): Promise; /** * Detach the specified disk from the virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param detachDataDiskProperties Request body for detaching data disk from a virtual machine. @@ -243,10 +258,10 @@ export interface VirtualMachines { name: string, detachDataDiskProperties: DetachDataDiskProperties, options?: VirtualMachinesDetachDataDiskOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Detach the specified disk from the virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param detachDataDiskProperties Request body for detaching data disk from a virtual machine. @@ -261,7 +276,7 @@ export interface VirtualMachines { ): Promise; /** * Gets a string that represents the contents of the RDP file for the virtual machine - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -274,7 +289,7 @@ export interface VirtualMachines { ): Promise; /** * Lists the applicable start/stop schedules, if any. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -287,7 +302,7 @@ export interface VirtualMachines { ): Promise; /** * Redeploy a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -297,10 +312,10 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesRedeployOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Redeploy a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -313,7 +328,7 @@ export interface VirtualMachines { ): Promise; /** * Resize Virtual Machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param resizeLabVirtualMachineProperties Request body for resizing a virtual machine. @@ -325,10 +340,10 @@ export interface VirtualMachines { name: string, resizeLabVirtualMachineProperties: ResizeLabVirtualMachineProperties, options?: VirtualMachinesResizeOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Resize Virtual Machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param resizeLabVirtualMachineProperties Request body for resizing a virtual machine. @@ -343,7 +358,7 @@ export interface VirtualMachines { ): Promise; /** * Restart a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -353,10 +368,10 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesRestartOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Restart a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -369,7 +384,7 @@ export interface VirtualMachines { ): Promise; /** * Start a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -379,10 +394,10 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesStartOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Start a virtual machine. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -395,7 +410,7 @@ export interface VirtualMachines { ): Promise; /** * Stop a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -405,10 +420,10 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesStopOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Stop a virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -422,7 +437,7 @@ export interface VirtualMachines { /** * Transfers all data disks attached to the virtual machine to be owned by the current user. This * operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -432,11 +447,11 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesTransferDisksOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Transfers all data disks attached to the virtual machine to be owned by the current user. This * operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -449,7 +464,7 @@ export interface VirtualMachines { ): Promise; /** * Release ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. @@ -459,10 +474,10 @@ export interface VirtualMachines { labName: string, name: string, options?: VirtualMachinesUnClaimOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Release ownership of an existing virtual machine This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual machine. * @param options The options parameters. diff --git a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualNetworks.ts b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualNetworks.ts index ef1e193405bc..cd3586704b14 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualNetworks.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/operationsInterfaces/virtualNetworks.ts @@ -7,7 +7,7 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { VirtualNetwork, VirtualNetworksListOptionalParams, @@ -26,7 +26,7 @@ import { export interface VirtualNetworks { /** * List virtual networks in a given lab. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param options The options parameters. */ @@ -37,7 +37,7 @@ export interface VirtualNetworks { ): PagedAsyncIterableIterator; /** * Get virtual network. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param options The options parameters. @@ -50,7 +50,7 @@ export interface VirtualNetworks { ): Promise; /** * Create or replace an existing virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param virtualNetwork A virtual network. @@ -63,14 +63,14 @@ export interface VirtualNetworks { virtualNetwork: VirtualNetwork, options?: VirtualNetworksCreateOrUpdateOptionalParams ): Promise< - PollerLike< - PollOperationState, + SimplePollerLike< + OperationState, VirtualNetworksCreateOrUpdateResponse > >; /** * Create or replace an existing virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param virtualNetwork A virtual network. @@ -85,7 +85,7 @@ export interface VirtualNetworks { ): Promise; /** * Delete virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param options The options parameters. @@ -95,10 +95,10 @@ export interface VirtualNetworks { labName: string, name: string, options?: VirtualNetworksDeleteOptionalParams - ): Promise, void>>; + ): Promise, void>>; /** * Delete virtual network. This operation can take a while to complete. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. * @param options The options parameters. @@ -111,10 +111,11 @@ export interface VirtualNetworks { ): Promise; /** * Allows modifying tags of virtual networks. All other properties will be ignored. - * @param resourceGroupName The name of the resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param labName The name of the lab. * @param name The name of the virtual network. - * @param virtualNetwork A virtual network. + * @param virtualNetwork Allows modifying tags of virtual networks. All other properties will be + * ignored. * @param options The options parameters. */ update( diff --git a/sdk/devtestlabs/arm-devtestlabs/src/pagingHelper.ts b/sdk/devtestlabs/arm-devtestlabs/src/pagingHelper.ts index d85fc13bce1e..269a2b9814b5 100644 --- a/sdk/devtestlabs/arm-devtestlabs/src/pagingHelper.ts +++ b/sdk/devtestlabs/arm-devtestlabs/src/pagingHelper.ts @@ -13,11 +13,11 @@ export interface PageInfo { const pageMap = new WeakMap(); /** - * Given a result page from a pageable operation, returns a - * continuation token that can be used to begin paging from + * Given the last `.value` produced by the `byPage` iterator, + * returns a continuation token that can be used to begin paging from * that point later. - * @param page A result object from calling .byPage() on a paged operation. - * @returns The continuation token that can be passed into byPage(). + * @param page An object from accessing `value` on the IteratorResult from a `byPage` iterator. + * @returns The continuation token that can be passed into byPage() during future calls. */ export function getContinuationToken(page: unknown): string | undefined { if (typeof page !== "object" || page === null) { diff --git a/sdk/devtestlabs/arm-devtestlabs/test/sampleTest.ts b/sdk/devtestlabs/arm-devtestlabs/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/devtestlabs/arm-devtestlabs/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/devtestlabs/arm-devtestlabs/tsconfig.json b/sdk/devtestlabs/arm-devtestlabs/tsconfig.json index dfb857b4542c..3e6ae96443f3 100644 --- a/sdk/devtestlabs/arm-devtestlabs/tsconfig.json +++ b/sdk/devtestlabs/arm-devtestlabs/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-devtestlabs": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"