Skip to content

Commit 8d6dea7

Browse files
authored
[PS] migrate ImageBuilder module to autorest v4 (#27647)
1 parent aa8e500 commit 8d6dea7

File tree

81 files changed

+2074
-2531
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+2074
-2531
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0 (the ""License"");
3+
// you may not use this file except in compliance with the License.
4+
// You may obtain a copy of the License at
5+
// http://www.apache.org/licenses/LICENSE-2.0
6+
// Unless required by applicable law or agreed to in writing, software
7+
// distributed under the License is distributed on an ""AS IS"" BASIS,
8+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9+
// See the License for the specific language governing permissions and
10+
// limitations under the License.
11+
// Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
12+
// is regenerated.
13+
14+
using System;
15+
using System.Reflection;
16+
using System.Runtime.CompilerServices;
17+
using System.Runtime.InteropServices;
18+
19+
[assembly: System.Reflection.AssemblyCompanyAttribute("Microsoft")]
20+
[assembly: System.Reflection.AssemblyCopyrightAttribute("Copyright © Microsoft")]
21+
[assembly: System.Reflection.AssemblyProductAttribute("Microsoft Azure PowerShell")]
22+
[assembly: System.Reflection.AssemblyTitleAttribute("Microsoft Azure PowerShell - ImageBuilder")]
23+
[assembly: System.Reflection.AssemblyFileVersionAttribute("0.4.2")]
24+
[assembly: System.Reflection.AssemblyVersionAttribute("0.4.2")]
25+
[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
26+
[assembly: System.CLSCompliantAttribute(false)]
27+
28+
29+

src/ImageBuilder/ImageBuilder.Autorest/README.md

Lines changed: 58 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -58,39 +58,53 @@ directive:
5858
# 1. Remove the unexpanded parameter set
5959
# 2. For New-* cmdlets, ViaIdentity is not required, so CreateViaIdentityExpanded is removed as well
6060
- where:
61-
variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$
61+
variant: ^(Create)(?!.*?(Expanded|JsonFilePath|JsonString))
6262
remove: true
63-
# Remove the set-* cmdlet
6463
- where:
65-
verb: Set
64+
variant: ^CreateViaIdentityExpanded$
6665
remove: true
67-
68-
# To remove non-expanded update variants:
66+
# Remove the set-* cmdlet
6967
- where:
70-
variant: ^Update(?!.*?Expanded)
68+
verb: Set
7169
remove: true
7270

73-
# 1. Field 'identity' is required => IdentityType and IdentityUserAssignedIdentity are required
74-
# 2. Hide IdentityType as only 'UserAssigned' is valid value so far
75-
# 3. Wrap UserAssignedIdentity with UserAssignedIdentityId to simplify customer's input
76-
# 4. Field 'properties' is required => Source, Customize and Distribute are required
77-
# Rename IdentityUserAssignedIdentity to UserAssignedIdentity
78-
- where:
79-
parameter-name: IdentityUserAssignedIdentity
80-
set:
81-
parameter-name: UserAssignedIdentity
82-
8371
# Rename *-AzImageBuildVirtualMachineImage(.*) -> *-AzImageBuild(.*)
8472
- where:
8573
subject: (.*)Image(.*)
8674
set:
8775
subject: $2
8876

77+
# Add required for template
78+
# - from: swagger-document
79+
# where: $.definitions.ImageTemplate
80+
# transform: $['required'] = ["identity","properties"]
81+
# - from: swagger-document
82+
# where: $.definitions.ImageTemplateProperties
83+
# transform: $['required'] = ["source","distribute","customize"]
84+
# Customize New-AzImageBuilderTemplate, remove parameter EnableSystemAssignedIdentity
8985
- where:
9086
subject: Template
9187
variant: ^CreateExpanded$
9288
hide: true
9389

90+
# To remove update for Trigger since there is no properties
91+
- where:
92+
subject: Trigger
93+
verb: Update
94+
remove: true
95+
# Remove Update [Update template not support](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/image-builder-troubleshoot#update-or-upgrade-of-image-templates-is-currently-not-supported)
96+
- where:
97+
subject: Template
98+
verb: Update
99+
remove: true
100+
101+
# Rename JsonTemplatePath -> JsonFilePath and keep JsonTemplatePath as alias in New-AzImageBuildTemplate
102+
- where:
103+
subject: Template
104+
parameter-name: JsonFilePath
105+
set:
106+
alias: JsonTemplatePath
107+
94108
# Rename ImageTemplateName -> Name and keep ImageTemplateName as alias in *-AzImageBuildTemplate
95109
- where:
96110
subject: Template
@@ -148,35 +162,32 @@ directive:
148162
- ResourceGroupName
149163

150164
# Generate models and combine them as 1 cmdlet
151-
# - model-cmdlet:
152-
# ########### ImageTemplateCustomizer ############
153-
# # Combine as 1 cmdlet named New-AzImageBuilderTemplateCustomizerObject
154-
# - ImageTemplateCustomizer
155-
# - ImageTemplateShellCustomizer
156-
# - ImageTemplateRestartCustomizer
157-
# - ImageTemplateWindowsUpdateCustomizer
158-
# - ImageTemplatePowerShellCustomizer
159-
# - ImageTemplateFileCustomizer
160-
# ########## ImageTemplateDistributor ###########
161-
# # Combine as 1 cmdlet named New-AzImageBuilderTemplateDistributorObject
162-
# - ImageTemplateDistributor
163-
# - ImageTemplateManagedImageDistributor
164-
# - ImageTemplateSharedImageDistributor
165-
# - ImageTemplateVhdDistributor
166-
# ############# ImageTemplateSource ##############
167-
# # Combine as 1 cmdlet named New-AzImageBuilderTemplateSourceObject
168-
# - ImageTemplateSource
169-
# # Note: publisher, offer, sku and version are required
170-
# - ImageTemplatePlatformImageSource
171-
# - ImageTemplateManagedImageSource
172-
# - ImageTemplateSharedImageVersionSource
173-
# ########## ImageTemplateInVMValidator ###########
174-
# # Combine as 1 cmdlet named New-AzImageBuilderTemplateValidatorObject
175-
# - ImageTemplateInVMValidator
176-
# - ImageTemplateShellValidator
177-
# - ImageTemplatePowerShellValidator
178-
# ########## AzImageBuilderTemplateDistributorVersioning ###########
179-
# - DistributeVersioner
180-
# - DistributeVersionerLatest
181-
# - DistributeVersionerSource
165+
- model-cmdlet:
166+
########### ImageTemplateCustomizer ############
167+
# Combine as 1 cmdlet named New-AzImageBuilderTemplateCustomizerObject
168+
# - model-name: ImageTemplateShellCustomizer
169+
# - model-name: ImageTemplateRestartCustomizer
170+
# - model-name: ImageTemplateWindowsUpdateCustomizer
171+
# - model-name: ImageTemplatePowerShellCustomizer
172+
# - model-name: ImageTemplateFileCustomizer
173+
########## ImageTemplateDistributor ###########
174+
# Combine as 1 cmdlet named New-AzImageBuilderTemplateDistributorObject
175+
# - model-name: ImageTemplateManagedImageDistributor
176+
# - model-name: ImageTemplateSharedImageDistributor
177+
# - model-name: ImageTemplateVhdDistributor
178+
############# ImageTemplateSource ##############
179+
# Combine as 1 cmdlet named New-AzImageBuilderTemplateSourceObject
180+
# Note: publisher, offer, sku and version are required
181+
# - model-name: ImageTemplatePlatformImageSource
182+
# - model-name: ImageTemplateManagedImageSource
183+
# - model-name: ImageTemplateSharedImageVersionSource
184+
########## ImageTemplateInVMValidator ###########
185+
# Combine as 1 cmdlet named New-AzImageBuilderTemplateValidatorObject
186+
# - model-name: ImageTemplateShellValidator
187+
# - model-name: ImageTemplatePowerShellValidator
188+
########## AzImageBuilderTemplateDistributorVersioning parent model name: DistributeVersioner ###########
189+
- model-name: DistributeVersionerLatest
190+
cmdlet-name: New-AzImageBuilderTemplateDistributeVersionerLatestObject
191+
- model-name: DistributeVersionerSource
192+
cmdlet-name: New-AzImageBuilderTemplateDistributeVersionerSourceObject
182193
```

src/ImageBuilder/ImageBuilder.Autorest/UX/Microsoft.VirtualMachineImages/imageTemplates.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
},
8484
{
8585
"name": "Start-AzImageBuilderTemplate",
86-
"description": "Create artifacts from a existing image template",
86+
"description": "run artifacts from a existing image template",
8787
"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}/run",
8888
"help": {
8989
"learnMore": {
@@ -101,7 +101,7 @@
101101
},
102102
"examples": [
103103
{
104-
"description": "Create artifacts from a existing image template",
104+
"description": "run artifacts from a existing image template",
105105
"parameters": [
106106
{
107107
"name": "-Name",

0 commit comments

Comments
 (0)