@@ -174,8 +174,28 @@ type Image struct {
174
174
Version string `json:"version"`
175
175
// ResourceID specifies an image to use by ID
176
176
ResourceID string `json:"resourceID"`
177
+ // Type identifies the source of the image and related information, such as purchase plans.
178
+ // Valid values are "ID", "MarketplaceWithPlan", "MarketplaceNoPlan", and omitted, which
179
+ // means no opinion and the platform chooses a good default which may change over time.
180
+ // Currently that default is "MarketplaceNoPlan" if publisher data is supplied, or "ID" if not.
181
+ // For more information about purchase plans, see:
182
+ // https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage#check-the-purchase-plan-information
183
+ // +optional
184
+ Type AzureImageType `json:"type,omitempty"`
177
185
}
178
186
187
+ // AzureImageType provides an enumeration for the valid image types.
188
+ type AzureImageType string
189
+
190
+ const (
191
+ // AzureImageTypeID specifies that the image should be referenced by its resource ID.
192
+ AzureImageTypeID AzureImageType = "ID"
193
+ // AzureImageTypeMarketplaceNoPlan are images available from the marketplace that do not require a purchase plan.
194
+ AzureImageTypeMarketplaceNoPlan AzureImageType = "MarketplaceNoPlan"
195
+ // AzureImageTypeMarketplaceWithPlan require a purchase plan. Upstream these images are referred to as "ThirdParty."
196
+ AzureImageTypeMarketplaceWithPlan AzureImageType = "MarketplaceWithPlan"
197
+ )
198
+
179
199
type OSDisk struct {
180
200
// OSType is the operating system type of the OS disk. Possible values include "Linux" and "Windows".
181
201
OSType string `json:"osType"`
0 commit comments