1package migrate
2
3// Copyright (c) Microsoft and contributors.  All rights reserved.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Code generated by Microsoft (R) AutoRest Code Generator.
18// Changes may cause incorrect behavior and will be lost if the code is regenerated.
19
20import (
21	"encoding/json"
22	"github.com/Azure/go-autorest/autorest"
23	"github.com/Azure/go-autorest/autorest/date"
24)
25
26// AssessmentSizingCriterion enumerates the values for assessment sizing criterion.
27type AssessmentSizingCriterion string
28
29const (
30	// AsOnPremises ...
31	AsOnPremises AssessmentSizingCriterion = "AsOnPremises"
32	// PerformanceBased ...
33	PerformanceBased AssessmentSizingCriterion = "PerformanceBased"
34)
35
36// PossibleAssessmentSizingCriterionValues returns an array of possible values for the AssessmentSizingCriterion const type.
37func PossibleAssessmentSizingCriterionValues() []AssessmentSizingCriterion {
38	return []AssessmentSizingCriterion{AsOnPremises, PerformanceBased}
39}
40
41// AssessmentStage enumerates the values for assessment stage.
42type AssessmentStage string
43
44const (
45	// Approved ...
46	Approved AssessmentStage = "Approved"
47	// InProgress ...
48	InProgress AssessmentStage = "InProgress"
49	// UnderReview ...
50	UnderReview AssessmentStage = "UnderReview"
51)
52
53// PossibleAssessmentStageValues returns an array of possible values for the AssessmentStage const type.
54func PossibleAssessmentStageValues() []AssessmentStage {
55	return []AssessmentStage{Approved, InProgress, UnderReview}
56}
57
58// AssessmentStatus enumerates the values for assessment status.
59type AssessmentStatus string
60
61const (
62	// Completed ...
63	Completed AssessmentStatus = "Completed"
64	// Created ...
65	Created AssessmentStatus = "Created"
66	// Invalid ...
67	Invalid AssessmentStatus = "Invalid"
68	// Running ...
69	Running AssessmentStatus = "Running"
70	// Updated ...
71	Updated AssessmentStatus = "Updated"
72)
73
74// PossibleAssessmentStatusValues returns an array of possible values for the AssessmentStatus const type.
75func PossibleAssessmentStatusValues() []AssessmentStatus {
76	return []AssessmentStatus{Completed, Created, Invalid, Running, Updated}
77}
78
79// AzureDiskSize enumerates the values for azure disk size.
80type AzureDiskSize string
81
82const (
83	// PremiumP10 ...
84	PremiumP10 AzureDiskSize = "Premium_P10"
85	// PremiumP20 ...
86	PremiumP20 AzureDiskSize = "Premium_P20"
87	// PremiumP30 ...
88	PremiumP30 AzureDiskSize = "Premium_P30"
89	// PremiumP4 ...
90	PremiumP4 AzureDiskSize = "Premium_P4"
91	// PremiumP40 ...
92	PremiumP40 AzureDiskSize = "Premium_P40"
93	// PremiumP50 ...
94	PremiumP50 AzureDiskSize = "Premium_P50"
95	// PremiumP6 ...
96	PremiumP6 AzureDiskSize = "Premium_P6"
97	// StandardS10 ...
98	StandardS10 AzureDiskSize = "Standard_S10"
99	// StandardS20 ...
100	StandardS20 AzureDiskSize = "Standard_S20"
101	// StandardS30 ...
102	StandardS30 AzureDiskSize = "Standard_S30"
103	// StandardS4 ...
104	StandardS4 AzureDiskSize = "Standard_S4"
105	// StandardS40 ...
106	StandardS40 AzureDiskSize = "Standard_S40"
107	// StandardS50 ...
108	StandardS50 AzureDiskSize = "Standard_S50"
109	// StandardS6 ...
110	StandardS6 AzureDiskSize = "Standard_S6"
111	// Unknown ...
112	Unknown AzureDiskSize = "Unknown"
113)
114
115// PossibleAzureDiskSizeValues returns an array of possible values for the AzureDiskSize const type.
116func PossibleAzureDiskSizeValues() []AzureDiskSize {
117	return []AzureDiskSize{PremiumP10, PremiumP20, PremiumP30, PremiumP4, PremiumP40, PremiumP50, PremiumP6, StandardS10, StandardS20, StandardS30, StandardS4, StandardS40, StandardS50, StandardS6, Unknown}
118}
119
120// AzureDiskSuitabilityExplanation enumerates the values for azure disk suitability explanation.
121type AzureDiskSuitabilityExplanation string
122
123const (
124	// AzureDiskSuitabilityExplanationDiskSizeGreaterThanSupported ...
125	AzureDiskSuitabilityExplanationDiskSizeGreaterThanSupported AzureDiskSuitabilityExplanation = "DiskSizeGreaterThanSupported"
126	// AzureDiskSuitabilityExplanationInternalErrorOccurredForDiskEvaluation ...
127	AzureDiskSuitabilityExplanationInternalErrorOccurredForDiskEvaluation AzureDiskSuitabilityExplanation = "InternalErrorOccurredForDiskEvaluation"
128	// AzureDiskSuitabilityExplanationNoDiskSizeFoundForSelectedRedundancy ...
129	AzureDiskSuitabilityExplanationNoDiskSizeFoundForSelectedRedundancy AzureDiskSuitabilityExplanation = "NoDiskSizeFoundForSelectedRedundancy"
130	// AzureDiskSuitabilityExplanationNoDiskSizeFoundInSelectedLocation ...
131	AzureDiskSuitabilityExplanationNoDiskSizeFoundInSelectedLocation AzureDiskSuitabilityExplanation = "NoDiskSizeFoundInSelectedLocation"
132	// AzureDiskSuitabilityExplanationNoSuitableDiskSizeForIops ...
133	AzureDiskSuitabilityExplanationNoSuitableDiskSizeForIops AzureDiskSuitabilityExplanation = "NoSuitableDiskSizeForIops"
134	// AzureDiskSuitabilityExplanationNoSuitableDiskSizeForThroughput ...
135	AzureDiskSuitabilityExplanationNoSuitableDiskSizeForThroughput AzureDiskSuitabilityExplanation = "NoSuitableDiskSizeForThroughput"
136	// AzureDiskSuitabilityExplanationNotApplicable ...
137	AzureDiskSuitabilityExplanationNotApplicable AzureDiskSuitabilityExplanation = "NotApplicable"
138	// AzureDiskSuitabilityExplanationUnknown ...
139	AzureDiskSuitabilityExplanationUnknown AzureDiskSuitabilityExplanation = "Unknown"
140)
141
142// PossibleAzureDiskSuitabilityExplanationValues returns an array of possible values for the AzureDiskSuitabilityExplanation const type.
143func PossibleAzureDiskSuitabilityExplanationValues() []AzureDiskSuitabilityExplanation {
144	return []AzureDiskSuitabilityExplanation{AzureDiskSuitabilityExplanationDiskSizeGreaterThanSupported, AzureDiskSuitabilityExplanationInternalErrorOccurredForDiskEvaluation, AzureDiskSuitabilityExplanationNoDiskSizeFoundForSelectedRedundancy, AzureDiskSuitabilityExplanationNoDiskSizeFoundInSelectedLocation, AzureDiskSuitabilityExplanationNoSuitableDiskSizeForIops, AzureDiskSuitabilityExplanationNoSuitableDiskSizeForThroughput, AzureDiskSuitabilityExplanationNotApplicable, AzureDiskSuitabilityExplanationUnknown}
145}
146
147// AzureDiskType enumerates the values for azure disk type.
148type AzureDiskType string
149
150const (
151	// AzureDiskTypePremium ...
152	AzureDiskTypePremium AzureDiskType = "Premium"
153	// AzureDiskTypeStandard ...
154	AzureDiskTypeStandard AzureDiskType = "Standard"
155	// AzureDiskTypeUnknown ...
156	AzureDiskTypeUnknown AzureDiskType = "Unknown"
157)
158
159// PossibleAzureDiskTypeValues returns an array of possible values for the AzureDiskType const type.
160func PossibleAzureDiskTypeValues() []AzureDiskType {
161	return []AzureDiskType{AzureDiskTypePremium, AzureDiskTypeStandard, AzureDiskTypeUnknown}
162}
163
164// AzureHybridUseBenefit enumerates the values for azure hybrid use benefit.
165type AzureHybridUseBenefit string
166
167const (
168	// AzureHybridUseBenefitNo ...
169	AzureHybridUseBenefitNo AzureHybridUseBenefit = "No"
170	// AzureHybridUseBenefitUnknown ...
171	AzureHybridUseBenefitUnknown AzureHybridUseBenefit = "Unknown"
172	// AzureHybridUseBenefitYes ...
173	AzureHybridUseBenefitYes AzureHybridUseBenefit = "Yes"
174)
175
176// PossibleAzureHybridUseBenefitValues returns an array of possible values for the AzureHybridUseBenefit const type.
177func PossibleAzureHybridUseBenefitValues() []AzureHybridUseBenefit {
178	return []AzureHybridUseBenefit{AzureHybridUseBenefitNo, AzureHybridUseBenefitUnknown, AzureHybridUseBenefitYes}
179}
180
181// AzureLocation enumerates the values for azure location.
182type AzureLocation string
183
184const (
185	// AzureLocationAustraliaEast ...
186	AzureLocationAustraliaEast AzureLocation = "AustraliaEast"
187	// AzureLocationAustraliaSoutheast ...
188	AzureLocationAustraliaSoutheast AzureLocation = "AustraliaSoutheast"
189	// AzureLocationBrazilSouth ...
190	AzureLocationBrazilSouth AzureLocation = "BrazilSouth"
191	// AzureLocationCanadaCentral ...
192	AzureLocationCanadaCentral AzureLocation = "CanadaCentral"
193	// AzureLocationCanadaEast ...
194	AzureLocationCanadaEast AzureLocation = "CanadaEast"
195	// AzureLocationCentralIndia ...
196	AzureLocationCentralIndia AzureLocation = "CentralIndia"
197	// AzureLocationCentralUs ...
198	AzureLocationCentralUs AzureLocation = "CentralUs"
199	// AzureLocationChinaEast ...
200	AzureLocationChinaEast AzureLocation = "ChinaEast"
201	// AzureLocationChinaNorth ...
202	AzureLocationChinaNorth AzureLocation = "ChinaNorth"
203	// AzureLocationEastAsia ...
204	AzureLocationEastAsia AzureLocation = "EastAsia"
205	// AzureLocationEastUs ...
206	AzureLocationEastUs AzureLocation = "EastUs"
207	// AzureLocationEastUs2 ...
208	AzureLocationEastUs2 AzureLocation = "EastUs2"
209	// AzureLocationGermanyCentral ...
210	AzureLocationGermanyCentral AzureLocation = "GermanyCentral"
211	// AzureLocationGermanyNortheast ...
212	AzureLocationGermanyNortheast AzureLocation = "GermanyNortheast"
213	// AzureLocationJapanEast ...
214	AzureLocationJapanEast AzureLocation = "JapanEast"
215	// AzureLocationJapanWest ...
216	AzureLocationJapanWest AzureLocation = "JapanWest"
217	// AzureLocationKoreaCentral ...
218	AzureLocationKoreaCentral AzureLocation = "KoreaCentral"
219	// AzureLocationKoreaSouth ...
220	AzureLocationKoreaSouth AzureLocation = "KoreaSouth"
221	// AzureLocationNorthCentralUs ...
222	AzureLocationNorthCentralUs AzureLocation = "NorthCentralUs"
223	// AzureLocationNorthEurope ...
224	AzureLocationNorthEurope AzureLocation = "NorthEurope"
225	// AzureLocationSouthCentralUs ...
226	AzureLocationSouthCentralUs AzureLocation = "SouthCentralUs"
227	// AzureLocationSoutheastAsia ...
228	AzureLocationSoutheastAsia AzureLocation = "SoutheastAsia"
229	// AzureLocationSouthIndia ...
230	AzureLocationSouthIndia AzureLocation = "SouthIndia"
231	// AzureLocationUkSouth ...
232	AzureLocationUkSouth AzureLocation = "UkSouth"
233	// AzureLocationUkWest ...
234	AzureLocationUkWest AzureLocation = "UkWest"
235	// AzureLocationUnknown ...
236	AzureLocationUnknown AzureLocation = "Unknown"
237	// AzureLocationWestCentralUs ...
238	AzureLocationWestCentralUs AzureLocation = "WestCentralUs"
239	// AzureLocationWestEurope ...
240	AzureLocationWestEurope AzureLocation = "WestEurope"
241	// AzureLocationWestIndia ...
242	AzureLocationWestIndia AzureLocation = "WestIndia"
243	// AzureLocationWestUs ...
244	AzureLocationWestUs AzureLocation = "WestUs"
245	// AzureLocationWestUs2 ...
246	AzureLocationWestUs2 AzureLocation = "WestUs2"
247)
248
249// PossibleAzureLocationValues returns an array of possible values for the AzureLocation const type.
250func PossibleAzureLocationValues() []AzureLocation {
251	return []AzureLocation{AzureLocationAustraliaEast, AzureLocationAustraliaSoutheast, AzureLocationBrazilSouth, AzureLocationCanadaCentral, AzureLocationCanadaEast, AzureLocationCentralIndia, AzureLocationCentralUs, AzureLocationChinaEast, AzureLocationChinaNorth, AzureLocationEastAsia, AzureLocationEastUs, AzureLocationEastUs2, AzureLocationGermanyCentral, AzureLocationGermanyNortheast, AzureLocationJapanEast, AzureLocationJapanWest, AzureLocationKoreaCentral, AzureLocationKoreaSouth, AzureLocationNorthCentralUs, AzureLocationNorthEurope, AzureLocationSouthCentralUs, AzureLocationSoutheastAsia, AzureLocationSouthIndia, AzureLocationUkSouth, AzureLocationUkWest, AzureLocationUnknown, AzureLocationWestCentralUs, AzureLocationWestEurope, AzureLocationWestIndia, AzureLocationWestUs, AzureLocationWestUs2}
252}
253
254// AzureNetworkAdapterSuitabilityExplanation enumerates the values for azure network adapter suitability
255// explanation.
256type AzureNetworkAdapterSuitabilityExplanation string
257
258const (
259	// AzureNetworkAdapterSuitabilityExplanationInternalErrorOccured ...
260	AzureNetworkAdapterSuitabilityExplanationInternalErrorOccured AzureNetworkAdapterSuitabilityExplanation = "InternalErrorOccured"
261	// AzureNetworkAdapterSuitabilityExplanationNotApplicable ...
262	AzureNetworkAdapterSuitabilityExplanationNotApplicable AzureNetworkAdapterSuitabilityExplanation = "NotApplicable"
263	// AzureNetworkAdapterSuitabilityExplanationUnknown ...
264	AzureNetworkAdapterSuitabilityExplanationUnknown AzureNetworkAdapterSuitabilityExplanation = "Unknown"
265)
266
267// PossibleAzureNetworkAdapterSuitabilityExplanationValues returns an array of possible values for the AzureNetworkAdapterSuitabilityExplanation const type.
268func PossibleAzureNetworkAdapterSuitabilityExplanationValues() []AzureNetworkAdapterSuitabilityExplanation {
269	return []AzureNetworkAdapterSuitabilityExplanation{AzureNetworkAdapterSuitabilityExplanationInternalErrorOccured, AzureNetworkAdapterSuitabilityExplanationNotApplicable, AzureNetworkAdapterSuitabilityExplanationUnknown}
270}
271
272// AzureOfferCode enumerates the values for azure offer code.
273type AzureOfferCode string
274
275const (
276	// AzureOfferCodeMSAZR0003P ...
277	AzureOfferCodeMSAZR0003P AzureOfferCode = "MSAZR0003P"
278	// AzureOfferCodeMSAZR0022P ...
279	AzureOfferCodeMSAZR0022P AzureOfferCode = "MSAZR0022P"
280	// AzureOfferCodeMSAZR0023P ...
281	AzureOfferCodeMSAZR0023P AzureOfferCode = "MSAZR0023P"
282	// AzureOfferCodeMSAZR0025P ...
283	AzureOfferCodeMSAZR0025P AzureOfferCode = "MSAZR0025P"
284	// AzureOfferCodeMSAZR0029P ...
285	AzureOfferCodeMSAZR0029P AzureOfferCode = "MSAZR0029P"
286	// AzureOfferCodeMSAZR0036P ...
287	AzureOfferCodeMSAZR0036P AzureOfferCode = "MSAZR0036P"
288	// AzureOfferCodeMSAZR0044P ...
289	AzureOfferCodeMSAZR0044P AzureOfferCode = "MSAZR0044P"
290	// AzureOfferCodeMSAZR0059P ...
291	AzureOfferCodeMSAZR0059P AzureOfferCode = "MSAZR0059P"
292	// AzureOfferCodeMSAZR0060P ...
293	AzureOfferCodeMSAZR0060P AzureOfferCode = "MSAZR0060P"
294	// AzureOfferCodeMSAZR0062P ...
295	AzureOfferCodeMSAZR0062P AzureOfferCode = "MSAZR0062P"
296	// AzureOfferCodeMSAZR0063P ...
297	AzureOfferCodeMSAZR0063P AzureOfferCode = "MSAZR0063P"
298	// AzureOfferCodeMSAZR0064P ...
299	AzureOfferCodeMSAZR0064P AzureOfferCode = "MSAZR0064P"
300	// AzureOfferCodeMSAZR0111P ...
301	AzureOfferCodeMSAZR0111P AzureOfferCode = "MSAZR0111P"
302	// AzureOfferCodeMSAZR0120P ...
303	AzureOfferCodeMSAZR0120P AzureOfferCode = "MSAZR0120P"
304	// AzureOfferCodeMSAZR0121P ...
305	AzureOfferCodeMSAZR0121P AzureOfferCode = "MSAZR0121P"
306	// AzureOfferCodeMSAZR0122P ...
307	AzureOfferCodeMSAZR0122P AzureOfferCode = "MSAZR0122P"
308	// AzureOfferCodeMSAZR0123P ...
309	AzureOfferCodeMSAZR0123P AzureOfferCode = "MSAZR0123P"
310	// AzureOfferCodeMSAZR0124P ...
311	AzureOfferCodeMSAZR0124P AzureOfferCode = "MSAZR0124P"
312	// AzureOfferCodeMSAZR0125P ...
313	AzureOfferCodeMSAZR0125P AzureOfferCode = "MSAZR0125P"
314	// AzureOfferCodeMSAZR0126P ...
315	AzureOfferCodeMSAZR0126P AzureOfferCode = "MSAZR0126P"
316	// AzureOfferCodeMSAZR0127P ...
317	AzureOfferCodeMSAZR0127P AzureOfferCode = "MSAZR0127P"
318	// AzureOfferCodeMSAZR0128P ...
319	AzureOfferCodeMSAZR0128P AzureOfferCode = "MSAZR0128P"
320	// AzureOfferCodeMSAZR0129P ...
321	AzureOfferCodeMSAZR0129P AzureOfferCode = "MSAZR0129P"
322	// AzureOfferCodeMSAZR0130P ...
323	AzureOfferCodeMSAZR0130P AzureOfferCode = "MSAZR0130P"
324	// AzureOfferCodeMSAZR0144P ...
325	AzureOfferCodeMSAZR0144P AzureOfferCode = "MSAZR0144P"
326	// AzureOfferCodeMSAZR0148P ...
327	AzureOfferCodeMSAZR0148P AzureOfferCode = "MSAZR0148P"
328	// AzureOfferCodeMSAZR0149P ...
329	AzureOfferCodeMSAZR0149P AzureOfferCode = "MSAZR0149P"
330	// AzureOfferCodeMSAZRDE0003P ...
331	AzureOfferCodeMSAZRDE0003P AzureOfferCode = "MSAZRDE0003P"
332	// AzureOfferCodeMSAZRDE0044P ...
333	AzureOfferCodeMSAZRDE0044P AzureOfferCode = "MSAZRDE0044P"
334	// AzureOfferCodeMSMCAZR0044P ...
335	AzureOfferCodeMSMCAZR0044P AzureOfferCode = "MSMCAZR0044P"
336	// AzureOfferCodeMSMCAZR0059P ...
337	AzureOfferCodeMSMCAZR0059P AzureOfferCode = "MSMCAZR0059P"
338	// AzureOfferCodeMSMCAZR0060P ...
339	AzureOfferCodeMSMCAZR0060P AzureOfferCode = "MSMCAZR0060P"
340	// AzureOfferCodeMSMCAZR0063P ...
341	AzureOfferCodeMSMCAZR0063P AzureOfferCode = "MSMCAZR0063P"
342	// AzureOfferCodeMSMCAZR0120P ...
343	AzureOfferCodeMSMCAZR0120P AzureOfferCode = "MSMCAZR0120P"
344	// AzureOfferCodeMSMCAZR0121P ...
345	AzureOfferCodeMSMCAZR0121P AzureOfferCode = "MSMCAZR0121P"
346	// AzureOfferCodeMSMCAZR0125P ...
347	AzureOfferCodeMSMCAZR0125P AzureOfferCode = "MSMCAZR0125P"
348	// AzureOfferCodeMSMCAZR0128P ...
349	AzureOfferCodeMSMCAZR0128P AzureOfferCode = "MSMCAZR0128P"
350	// AzureOfferCodeUnknown ...
351	AzureOfferCodeUnknown AzureOfferCode = "Unknown"
352)
353
354// PossibleAzureOfferCodeValues returns an array of possible values for the AzureOfferCode const type.
355func PossibleAzureOfferCodeValues() []AzureOfferCode {
356	return []AzureOfferCode{AzureOfferCodeMSAZR0003P, AzureOfferCodeMSAZR0022P, AzureOfferCodeMSAZR0023P, AzureOfferCodeMSAZR0025P, AzureOfferCodeMSAZR0029P, AzureOfferCodeMSAZR0036P, AzureOfferCodeMSAZR0044P, AzureOfferCodeMSAZR0059P, AzureOfferCodeMSAZR0060P, AzureOfferCodeMSAZR0062P, AzureOfferCodeMSAZR0063P, AzureOfferCodeMSAZR0064P, AzureOfferCodeMSAZR0111P, AzureOfferCodeMSAZR0120P, AzureOfferCodeMSAZR0121P, AzureOfferCodeMSAZR0122P, AzureOfferCodeMSAZR0123P, AzureOfferCodeMSAZR0124P, AzureOfferCodeMSAZR0125P, AzureOfferCodeMSAZR0126P, AzureOfferCodeMSAZR0127P, AzureOfferCodeMSAZR0128P, AzureOfferCodeMSAZR0129P, AzureOfferCodeMSAZR0130P, AzureOfferCodeMSAZR0144P, AzureOfferCodeMSAZR0148P, AzureOfferCodeMSAZR0149P, AzureOfferCodeMSAZRDE0003P, AzureOfferCodeMSAZRDE0044P, AzureOfferCodeMSMCAZR0044P, AzureOfferCodeMSMCAZR0059P, AzureOfferCodeMSMCAZR0060P, AzureOfferCodeMSMCAZR0063P, AzureOfferCodeMSMCAZR0120P, AzureOfferCodeMSMCAZR0121P, AzureOfferCodeMSMCAZR0125P, AzureOfferCodeMSMCAZR0128P, AzureOfferCodeUnknown}
357}
358
359// AzurePricingTier enumerates the values for azure pricing tier.
360type AzurePricingTier string
361
362const (
363	// Basic ...
364	Basic AzurePricingTier = "Basic"
365	// Standard ...
366	Standard AzurePricingTier = "Standard"
367)
368
369// PossibleAzurePricingTierValues returns an array of possible values for the AzurePricingTier const type.
370func PossibleAzurePricingTierValues() []AzurePricingTier {
371	return []AzurePricingTier{Basic, Standard}
372}
373
374// AzureStorageRedundancy enumerates the values for azure storage redundancy.
375type AzureStorageRedundancy string
376
377const (
378	// AzureStorageRedundancyGeoRedundant ...
379	AzureStorageRedundancyGeoRedundant AzureStorageRedundancy = "GeoRedundant"
380	// AzureStorageRedundancyLocallyRedundant ...
381	AzureStorageRedundancyLocallyRedundant AzureStorageRedundancy = "LocallyRedundant"
382	// AzureStorageRedundancyReadAccessGeoRedundant ...
383	AzureStorageRedundancyReadAccessGeoRedundant AzureStorageRedundancy = "ReadAccessGeoRedundant"
384	// AzureStorageRedundancyUnknown ...
385	AzureStorageRedundancyUnknown AzureStorageRedundancy = "Unknown"
386	// AzureStorageRedundancyZoneRedundant ...
387	AzureStorageRedundancyZoneRedundant AzureStorageRedundancy = "ZoneRedundant"
388)
389
390// PossibleAzureStorageRedundancyValues returns an array of possible values for the AzureStorageRedundancy const type.
391func PossibleAzureStorageRedundancyValues() []AzureStorageRedundancy {
392	return []AzureStorageRedundancy{AzureStorageRedundancyGeoRedundant, AzureStorageRedundancyLocallyRedundant, AzureStorageRedundancyReadAccessGeoRedundant, AzureStorageRedundancyUnknown, AzureStorageRedundancyZoneRedundant}
393}
394
395// AzureVMSize enumerates the values for azure vm size.
396type AzureVMSize string
397
398const (
399	// AzureVMSizeBasicA0 ...
400	AzureVMSizeBasicA0 AzureVMSize = "Basic_A0"
401	// AzureVMSizeBasicA1 ...
402	AzureVMSizeBasicA1 AzureVMSize = "Basic_A1"
403	// AzureVMSizeBasicA2 ...
404	AzureVMSizeBasicA2 AzureVMSize = "Basic_A2"
405	// AzureVMSizeBasicA3 ...
406	AzureVMSizeBasicA3 AzureVMSize = "Basic_A3"
407	// AzureVMSizeBasicA4 ...
408	AzureVMSizeBasicA4 AzureVMSize = "Basic_A4"
409	// AzureVMSizeStandardA0 ...
410	AzureVMSizeStandardA0 AzureVMSize = "Standard_A0"
411	// AzureVMSizeStandardA1 ...
412	AzureVMSizeStandardA1 AzureVMSize = "Standard_A1"
413	// AzureVMSizeStandardA10 ...
414	AzureVMSizeStandardA10 AzureVMSize = "Standard_A10"
415	// AzureVMSizeStandardA11 ...
416	AzureVMSizeStandardA11 AzureVMSize = "Standard_A11"
417	// AzureVMSizeStandardA1V2 ...
418	AzureVMSizeStandardA1V2 AzureVMSize = "Standard_A1_v2"
419	// AzureVMSizeStandardA2 ...
420	AzureVMSizeStandardA2 AzureVMSize = "Standard_A2"
421	// AzureVMSizeStandardA2mV2 ...
422	AzureVMSizeStandardA2mV2 AzureVMSize = "Standard_A2m_v2"
423	// AzureVMSizeStandardA2V2 ...
424	AzureVMSizeStandardA2V2 AzureVMSize = "Standard_A2_v2"
425	// AzureVMSizeStandardA3 ...
426	AzureVMSizeStandardA3 AzureVMSize = "Standard_A3"
427	// AzureVMSizeStandardA4 ...
428	AzureVMSizeStandardA4 AzureVMSize = "Standard_A4"
429	// AzureVMSizeStandardA4mV2 ...
430	AzureVMSizeStandardA4mV2 AzureVMSize = "Standard_A4m_v2"
431	// AzureVMSizeStandardA4V2 ...
432	AzureVMSizeStandardA4V2 AzureVMSize = "Standard_A4_v2"
433	// AzureVMSizeStandardA5 ...
434	AzureVMSizeStandardA5 AzureVMSize = "Standard_A5"
435	// AzureVMSizeStandardA6 ...
436	AzureVMSizeStandardA6 AzureVMSize = "Standard_A6"
437	// AzureVMSizeStandardA7 ...
438	AzureVMSizeStandardA7 AzureVMSize = "Standard_A7"
439	// AzureVMSizeStandardA8 ...
440	AzureVMSizeStandardA8 AzureVMSize = "Standard_A8"
441	// AzureVMSizeStandardA8mV2 ...
442	AzureVMSizeStandardA8mV2 AzureVMSize = "Standard_A8m_v2"
443	// AzureVMSizeStandardA8V2 ...
444	AzureVMSizeStandardA8V2 AzureVMSize = "Standard_A8_v2"
445	// AzureVMSizeStandardA9 ...
446	AzureVMSizeStandardA9 AzureVMSize = "Standard_A9"
447	// AzureVMSizeStandardD1 ...
448	AzureVMSizeStandardD1 AzureVMSize = "Standard_D1"
449	// AzureVMSizeStandardD11 ...
450	AzureVMSizeStandardD11 AzureVMSize = "Standard_D11"
451	// AzureVMSizeStandardD11V2 ...
452	AzureVMSizeStandardD11V2 AzureVMSize = "Standard_D11_v2"
453	// AzureVMSizeStandardD12 ...
454	AzureVMSizeStandardD12 AzureVMSize = "Standard_D12"
455	// AzureVMSizeStandardD12V2 ...
456	AzureVMSizeStandardD12V2 AzureVMSize = "Standard_D12_v2"
457	// AzureVMSizeStandardD13 ...
458	AzureVMSizeStandardD13 AzureVMSize = "Standard_D13"
459	// AzureVMSizeStandardD13V2 ...
460	AzureVMSizeStandardD13V2 AzureVMSize = "Standard_D13_v2"
461	// AzureVMSizeStandardD14 ...
462	AzureVMSizeStandardD14 AzureVMSize = "Standard_D14"
463	// AzureVMSizeStandardD14V2 ...
464	AzureVMSizeStandardD14V2 AzureVMSize = "Standard_D14_v2"
465	// AzureVMSizeStandardD15V2 ...
466	AzureVMSizeStandardD15V2 AzureVMSize = "Standard_D15_v2"
467	// AzureVMSizeStandardD1V2 ...
468	AzureVMSizeStandardD1V2 AzureVMSize = "Standard_D1_v2"
469	// AzureVMSizeStandardD2 ...
470	AzureVMSizeStandardD2 AzureVMSize = "Standard_D2"
471	// AzureVMSizeStandardD2V2 ...
472	AzureVMSizeStandardD2V2 AzureVMSize = "Standard_D2_v2"
473	// AzureVMSizeStandardD3 ...
474	AzureVMSizeStandardD3 AzureVMSize = "Standard_D3"
475	// AzureVMSizeStandardD3V2 ...
476	AzureVMSizeStandardD3V2 AzureVMSize = "Standard_D3_v2"
477	// AzureVMSizeStandardD4 ...
478	AzureVMSizeStandardD4 AzureVMSize = "Standard_D4"
479	// AzureVMSizeStandardD4V2 ...
480	AzureVMSizeStandardD4V2 AzureVMSize = "Standard_D4_v2"
481	// AzureVMSizeStandardD5V2 ...
482	AzureVMSizeStandardD5V2 AzureVMSize = "Standard_D5_v2"
483	// AzureVMSizeStandardDS1 ...
484	AzureVMSizeStandardDS1 AzureVMSize = "Standard_DS1"
485	// AzureVMSizeStandardDS11 ...
486	AzureVMSizeStandardDS11 AzureVMSize = "Standard_DS11"
487	// AzureVMSizeStandardDS11V2 ...
488	AzureVMSizeStandardDS11V2 AzureVMSize = "Standard_DS11_v2"
489	// AzureVMSizeStandardDS12 ...
490	AzureVMSizeStandardDS12 AzureVMSize = "Standard_DS12"
491	// AzureVMSizeStandardDS12V2 ...
492	AzureVMSizeStandardDS12V2 AzureVMSize = "Standard_DS12_v2"
493	// AzureVMSizeStandardDS13 ...
494	AzureVMSizeStandardDS13 AzureVMSize = "Standard_DS13"
495	// AzureVMSizeStandardDS13V2 ...
496	AzureVMSizeStandardDS13V2 AzureVMSize = "Standard_DS13_v2"
497	// AzureVMSizeStandardDS14 ...
498	AzureVMSizeStandardDS14 AzureVMSize = "Standard_DS14"
499	// AzureVMSizeStandardDS14V2 ...
500	AzureVMSizeStandardDS14V2 AzureVMSize = "Standard_DS14_v2"
501	// AzureVMSizeStandardDS15V2 ...
502	AzureVMSizeStandardDS15V2 AzureVMSize = "Standard_DS15_v2"
503	// AzureVMSizeStandardDS1V2 ...
504	AzureVMSizeStandardDS1V2 AzureVMSize = "Standard_DS1_v2"
505	// AzureVMSizeStandardDS2 ...
506	AzureVMSizeStandardDS2 AzureVMSize = "Standard_DS2"
507	// AzureVMSizeStandardDS2V2 ...
508	AzureVMSizeStandardDS2V2 AzureVMSize = "Standard_DS2_v2"
509	// AzureVMSizeStandardDS3 ...
510	AzureVMSizeStandardDS3 AzureVMSize = "Standard_DS3"
511	// AzureVMSizeStandardDS3V2 ...
512	AzureVMSizeStandardDS3V2 AzureVMSize = "Standard_DS3_v2"
513	// AzureVMSizeStandardDS4 ...
514	AzureVMSizeStandardDS4 AzureVMSize = "Standard_DS4"
515	// AzureVMSizeStandardDS4V2 ...
516	AzureVMSizeStandardDS4V2 AzureVMSize = "Standard_DS4_v2"
517	// AzureVMSizeStandardDS5V2 ...
518	AzureVMSizeStandardDS5V2 AzureVMSize = "Standard_DS5_v2"
519	// AzureVMSizeStandardF1 ...
520	AzureVMSizeStandardF1 AzureVMSize = "Standard_F1"
521	// AzureVMSizeStandardF16 ...
522	AzureVMSizeStandardF16 AzureVMSize = "Standard_F16"
523	// AzureVMSizeStandardF16s ...
524	AzureVMSizeStandardF16s AzureVMSize = "Standard_F16s"
525	// AzureVMSizeStandardF1s ...
526	AzureVMSizeStandardF1s AzureVMSize = "Standard_F1s"
527	// AzureVMSizeStandardF2 ...
528	AzureVMSizeStandardF2 AzureVMSize = "Standard_F2"
529	// AzureVMSizeStandardF2s ...
530	AzureVMSizeStandardF2s AzureVMSize = "Standard_F2s"
531	// AzureVMSizeStandardF4 ...
532	AzureVMSizeStandardF4 AzureVMSize = "Standard_F4"
533	// AzureVMSizeStandardF4s ...
534	AzureVMSizeStandardF4s AzureVMSize = "Standard_F4s"
535	// AzureVMSizeStandardF8 ...
536	AzureVMSizeStandardF8 AzureVMSize = "Standard_F8"
537	// AzureVMSizeStandardF8s ...
538	AzureVMSizeStandardF8s AzureVMSize = "Standard_F8s"
539	// AzureVMSizeStandardG1 ...
540	AzureVMSizeStandardG1 AzureVMSize = "Standard_G1"
541	// AzureVMSizeStandardG2 ...
542	AzureVMSizeStandardG2 AzureVMSize = "Standard_G2"
543	// AzureVMSizeStandardG3 ...
544	AzureVMSizeStandardG3 AzureVMSize = "Standard_G3"
545	// AzureVMSizeStandardG4 ...
546	AzureVMSizeStandardG4 AzureVMSize = "Standard_G4"
547	// AzureVMSizeStandardG5 ...
548	AzureVMSizeStandardG5 AzureVMSize = "Standard_G5"
549	// AzureVMSizeStandardGS1 ...
550	AzureVMSizeStandardGS1 AzureVMSize = "Standard_GS1"
551	// AzureVMSizeStandardGS2 ...
552	AzureVMSizeStandardGS2 AzureVMSize = "Standard_GS2"
553	// AzureVMSizeStandardGS3 ...
554	AzureVMSizeStandardGS3 AzureVMSize = "Standard_GS3"
555	// AzureVMSizeStandardGS4 ...
556	AzureVMSizeStandardGS4 AzureVMSize = "Standard_GS4"
557	// AzureVMSizeStandardGS5 ...
558	AzureVMSizeStandardGS5 AzureVMSize = "Standard_GS5"
559	// AzureVMSizeStandardH16 ...
560	AzureVMSizeStandardH16 AzureVMSize = "Standard_H16"
561	// AzureVMSizeStandardH16m ...
562	AzureVMSizeStandardH16m AzureVMSize = "Standard_H16m"
563	// AzureVMSizeStandardH16mr ...
564	AzureVMSizeStandardH16mr AzureVMSize = "Standard_H16mr"
565	// AzureVMSizeStandardH16r ...
566	AzureVMSizeStandardH16r AzureVMSize = "Standard_H16r"
567	// AzureVMSizeStandardH8 ...
568	AzureVMSizeStandardH8 AzureVMSize = "Standard_H8"
569	// AzureVMSizeStandardH8m ...
570	AzureVMSizeStandardH8m AzureVMSize = "Standard_H8m"
571	// AzureVMSizeStandardL16s ...
572	AzureVMSizeStandardL16s AzureVMSize = "Standard_L16s"
573	// AzureVMSizeStandardL32s ...
574	AzureVMSizeStandardL32s AzureVMSize = "Standard_L32s"
575	// AzureVMSizeStandardL4s ...
576	AzureVMSizeStandardL4s AzureVMSize = "Standard_L4s"
577	// AzureVMSizeStandardL8s ...
578	AzureVMSizeStandardL8s AzureVMSize = "Standard_L8s"
579	// AzureVMSizeUnknown ...
580	AzureVMSizeUnknown AzureVMSize = "Unknown"
581)
582
583// PossibleAzureVMSizeValues returns an array of possible values for the AzureVMSize const type.
584func PossibleAzureVMSizeValues() []AzureVMSize {
585	return []AzureVMSize{AzureVMSizeBasicA0, AzureVMSizeBasicA1, AzureVMSizeBasicA2, AzureVMSizeBasicA3, AzureVMSizeBasicA4, AzureVMSizeStandardA0, AzureVMSizeStandardA1, AzureVMSizeStandardA10, AzureVMSizeStandardA11, AzureVMSizeStandardA1V2, AzureVMSizeStandardA2, AzureVMSizeStandardA2mV2, AzureVMSizeStandardA2V2, AzureVMSizeStandardA3, AzureVMSizeStandardA4, AzureVMSizeStandardA4mV2, AzureVMSizeStandardA4V2, AzureVMSizeStandardA5, AzureVMSizeStandardA6, AzureVMSizeStandardA7, AzureVMSizeStandardA8, AzureVMSizeStandardA8mV2, AzureVMSizeStandardA8V2, AzureVMSizeStandardA9, AzureVMSizeStandardD1, AzureVMSizeStandardD11, AzureVMSizeStandardD11V2, AzureVMSizeStandardD12, AzureVMSizeStandardD12V2, AzureVMSizeStandardD13, AzureVMSizeStandardD13V2, AzureVMSizeStandardD14, AzureVMSizeStandardD14V2, AzureVMSizeStandardD15V2, AzureVMSizeStandardD1V2, AzureVMSizeStandardD2, AzureVMSizeStandardD2V2, AzureVMSizeStandardD3, AzureVMSizeStandardD3V2, AzureVMSizeStandardD4, AzureVMSizeStandardD4V2, AzureVMSizeStandardD5V2, AzureVMSizeStandardDS1, AzureVMSizeStandardDS11, AzureVMSizeStandardDS11V2, AzureVMSizeStandardDS12, AzureVMSizeStandardDS12V2, AzureVMSizeStandardDS13, AzureVMSizeStandardDS13V2, AzureVMSizeStandardDS14, AzureVMSizeStandardDS14V2, AzureVMSizeStandardDS15V2, AzureVMSizeStandardDS1V2, AzureVMSizeStandardDS2, AzureVMSizeStandardDS2V2, AzureVMSizeStandardDS3, AzureVMSizeStandardDS3V2, AzureVMSizeStandardDS4, AzureVMSizeStandardDS4V2, AzureVMSizeStandardDS5V2, AzureVMSizeStandardF1, AzureVMSizeStandardF16, AzureVMSizeStandardF16s, AzureVMSizeStandardF1s, AzureVMSizeStandardF2, AzureVMSizeStandardF2s, AzureVMSizeStandardF4, AzureVMSizeStandardF4s, AzureVMSizeStandardF8, AzureVMSizeStandardF8s, AzureVMSizeStandardG1, AzureVMSizeStandardG2, AzureVMSizeStandardG3, AzureVMSizeStandardG4, AzureVMSizeStandardG5, AzureVMSizeStandardGS1, AzureVMSizeStandardGS2, AzureVMSizeStandardGS3, AzureVMSizeStandardGS4, AzureVMSizeStandardGS5, AzureVMSizeStandardH16, AzureVMSizeStandardH16m, AzureVMSizeStandardH16mr, AzureVMSizeStandardH16r, AzureVMSizeStandardH8, AzureVMSizeStandardH8m, AzureVMSizeStandardL16s, AzureVMSizeStandardL32s, AzureVMSizeStandardL4s, AzureVMSizeStandardL8s, AzureVMSizeUnknown}
586}
587
588// AzureVMSuitabilityExplanation enumerates the values for azure vm suitability explanation.
589type AzureVMSuitabilityExplanation string
590
591const (
592	// AzureVMSuitabilityExplanationBootTypeNotSupported ...
593	AzureVMSuitabilityExplanationBootTypeNotSupported AzureVMSuitabilityExplanation = "BootTypeNotSupported"
594	// AzureVMSuitabilityExplanationBootTypeUnknown ...
595	AzureVMSuitabilityExplanationBootTypeUnknown AzureVMSuitabilityExplanation = "BootTypeUnknown"
596	// AzureVMSuitabilityExplanationCheckCentOsVersion ...
597	AzureVMSuitabilityExplanationCheckCentOsVersion AzureVMSuitabilityExplanation = "CheckCentOsVersion"
598	// AzureVMSuitabilityExplanationCheckCoreOsLinuxVersion ...
599	AzureVMSuitabilityExplanationCheckCoreOsLinuxVersion AzureVMSuitabilityExplanation = "CheckCoreOsLinuxVersion"
600	// AzureVMSuitabilityExplanationCheckDebianLinuxVersion ...
601	AzureVMSuitabilityExplanationCheckDebianLinuxVersion AzureVMSuitabilityExplanation = "CheckDebianLinuxVersion"
602	// AzureVMSuitabilityExplanationCheckOpenSuseLinuxVersion ...
603	AzureVMSuitabilityExplanationCheckOpenSuseLinuxVersion AzureVMSuitabilityExplanation = "CheckOpenSuseLinuxVersion"
604	// AzureVMSuitabilityExplanationCheckOracleLinuxVersion ...
605	AzureVMSuitabilityExplanationCheckOracleLinuxVersion AzureVMSuitabilityExplanation = "CheckOracleLinuxVersion"
606	// AzureVMSuitabilityExplanationCheckRedHatLinuxVersion ...
607	AzureVMSuitabilityExplanationCheckRedHatLinuxVersion AzureVMSuitabilityExplanation = "CheckRedHatLinuxVersion"
608	// AzureVMSuitabilityExplanationCheckSuseLinuxVersion ...
609	AzureVMSuitabilityExplanationCheckSuseLinuxVersion AzureVMSuitabilityExplanation = "CheckSuseLinuxVersion"
610	// AzureVMSuitabilityExplanationCheckUbuntuLinuxVersion ...
611	AzureVMSuitabilityExplanationCheckUbuntuLinuxVersion AzureVMSuitabilityExplanation = "CheckUbuntuLinuxVersion"
612	// AzureVMSuitabilityExplanationCheckWindowsServer2008R2Version ...
613	AzureVMSuitabilityExplanationCheckWindowsServer2008R2Version AzureVMSuitabilityExplanation = "CheckWindowsServer2008R2Version"
614	// AzureVMSuitabilityExplanationEndorsedWithConditionsLinuxDistributions ...
615	AzureVMSuitabilityExplanationEndorsedWithConditionsLinuxDistributions AzureVMSuitabilityExplanation = "EndorsedWithConditionsLinuxDistributions"
616	// AzureVMSuitabilityExplanationGuestOperatingSystemArchitectureNotSupported ...
617	AzureVMSuitabilityExplanationGuestOperatingSystemArchitectureNotSupported AzureVMSuitabilityExplanation = "GuestOperatingSystemArchitectureNotSupported"
618	// AzureVMSuitabilityExplanationGuestOperatingSystemNotSupported ...
619	AzureVMSuitabilityExplanationGuestOperatingSystemNotSupported AzureVMSuitabilityExplanation = "GuestOperatingSystemNotSupported"
620	// AzureVMSuitabilityExplanationGuestOperatingSystemUnknown ...
621	AzureVMSuitabilityExplanationGuestOperatingSystemUnknown AzureVMSuitabilityExplanation = "GuestOperatingSystemUnknown"
622	// AzureVMSuitabilityExplanationInternalErrorOccuredDuringComputeEvaluation ...
623	AzureVMSuitabilityExplanationInternalErrorOccuredDuringComputeEvaluation AzureVMSuitabilityExplanation = "InternalErrorOccuredDuringComputeEvaluation"
624	// AzureVMSuitabilityExplanationInternalErrorOccuredDuringNetworkEvaluation ...
625	AzureVMSuitabilityExplanationInternalErrorOccuredDuringNetworkEvaluation AzureVMSuitabilityExplanation = "InternalErrorOccuredDuringNetworkEvaluation"
626	// AzureVMSuitabilityExplanationInternalErrorOccuredDuringStorageEvaluation ...
627	AzureVMSuitabilityExplanationInternalErrorOccuredDuringStorageEvaluation AzureVMSuitabilityExplanation = "InternalErrorOccuredDuringStorageEvaluation"
628	// AzureVMSuitabilityExplanationMoreDisksThanSupported ...
629	AzureVMSuitabilityExplanationMoreDisksThanSupported AzureVMSuitabilityExplanation = "MoreDisksThanSupported"
630	// AzureVMSuitabilityExplanationNoGuestOperatingSystemConditionallySupported ...
631	AzureVMSuitabilityExplanationNoGuestOperatingSystemConditionallySupported AzureVMSuitabilityExplanation = "NoGuestOperatingSystemConditionallySupported"
632	// AzureVMSuitabilityExplanationNoSuitableVMSizeFound ...
633	AzureVMSuitabilityExplanationNoSuitableVMSizeFound AzureVMSuitabilityExplanation = "NoSuitableVmSizeFound"
634	// AzureVMSuitabilityExplanationNotApplicable ...
635	AzureVMSuitabilityExplanationNotApplicable AzureVMSuitabilityExplanation = "NotApplicable"
636	// AzureVMSuitabilityExplanationNoVMSizeForBasicPricingTier ...
637	AzureVMSuitabilityExplanationNoVMSizeForBasicPricingTier AzureVMSuitabilityExplanation = "NoVmSizeForBasicPricingTier"
638	// AzureVMSuitabilityExplanationNoVMSizeForSelectedAzureLocation ...
639	AzureVMSuitabilityExplanationNoVMSizeForSelectedAzureLocation AzureVMSuitabilityExplanation = "NoVmSizeForSelectedAzureLocation"
640	// AzureVMSuitabilityExplanationNoVMSizeForSelectedPricingTier ...
641	AzureVMSuitabilityExplanationNoVMSizeForSelectedPricingTier AzureVMSuitabilityExplanation = "NoVmSizeForSelectedPricingTier"
642	// AzureVMSuitabilityExplanationNoVMSizeForStandardPricingTier ...
643	AzureVMSuitabilityExplanationNoVMSizeForStandardPricingTier AzureVMSuitabilityExplanation = "NoVmSizeForStandardPricingTier"
644	// AzureVMSuitabilityExplanationNoVMSizeSupportsNetworkPerformance ...
645	AzureVMSuitabilityExplanationNoVMSizeSupportsNetworkPerformance AzureVMSuitabilityExplanation = "NoVmSizeSupportsNetworkPerformance"
646	// AzureVMSuitabilityExplanationNoVMSizeSupportsStoragePerformance ...
647	AzureVMSuitabilityExplanationNoVMSizeSupportsStoragePerformance AzureVMSuitabilityExplanation = "NoVmSizeSupportsStoragePerformance"
648	// AzureVMSuitabilityExplanationOneOrMoreAdaptersNotSuitable ...
649	AzureVMSuitabilityExplanationOneOrMoreAdaptersNotSuitable AzureVMSuitabilityExplanation = "OneOrMoreAdaptersNotSuitable"
650	// AzureVMSuitabilityExplanationOneOrMoreDisksNotSuitable ...
651	AzureVMSuitabilityExplanationOneOrMoreDisksNotSuitable AzureVMSuitabilityExplanation = "OneOrMoreDisksNotSuitable"
652	// AzureVMSuitabilityExplanationUnendorsedLinuxDistributions ...
653	AzureVMSuitabilityExplanationUnendorsedLinuxDistributions AzureVMSuitabilityExplanation = "UnendorsedLinuxDistributions"
654	// AzureVMSuitabilityExplanationUnknown ...
655	AzureVMSuitabilityExplanationUnknown AzureVMSuitabilityExplanation = "Unknown"
656	// AzureVMSuitabilityExplanationWindowsClientVersionsConditionallySupported ...
657	AzureVMSuitabilityExplanationWindowsClientVersionsConditionallySupported AzureVMSuitabilityExplanation = "WindowsClientVersionsConditionallySupported"
658	// AzureVMSuitabilityExplanationWindowsOSNoLongerUnderMSSupport ...
659	AzureVMSuitabilityExplanationWindowsOSNoLongerUnderMSSupport AzureVMSuitabilityExplanation = "WindowsOSNoLongerUnderMSSupport"
660	// AzureVMSuitabilityExplanationWindowsServerVersionConditionallySupported ...
661	AzureVMSuitabilityExplanationWindowsServerVersionConditionallySupported AzureVMSuitabilityExplanation = "WindowsServerVersionConditionallySupported"
662	// AzureVMSuitabilityExplanationWindowsServerVersionsSupportedWithCaveat ...
663	AzureVMSuitabilityExplanationWindowsServerVersionsSupportedWithCaveat AzureVMSuitabilityExplanation = "WindowsServerVersionsSupportedWithCaveat"
664)
665
666// PossibleAzureVMSuitabilityExplanationValues returns an array of possible values for the AzureVMSuitabilityExplanation const type.
667func PossibleAzureVMSuitabilityExplanationValues() []AzureVMSuitabilityExplanation {
668	return []AzureVMSuitabilityExplanation{AzureVMSuitabilityExplanationBootTypeNotSupported, AzureVMSuitabilityExplanationBootTypeUnknown, AzureVMSuitabilityExplanationCheckCentOsVersion, AzureVMSuitabilityExplanationCheckCoreOsLinuxVersion, AzureVMSuitabilityExplanationCheckDebianLinuxVersion, AzureVMSuitabilityExplanationCheckOpenSuseLinuxVersion, AzureVMSuitabilityExplanationCheckOracleLinuxVersion, AzureVMSuitabilityExplanationCheckRedHatLinuxVersion, AzureVMSuitabilityExplanationCheckSuseLinuxVersion, AzureVMSuitabilityExplanationCheckUbuntuLinuxVersion, AzureVMSuitabilityExplanationCheckWindowsServer2008R2Version, AzureVMSuitabilityExplanationEndorsedWithConditionsLinuxDistributions, AzureVMSuitabilityExplanationGuestOperatingSystemArchitectureNotSupported, AzureVMSuitabilityExplanationGuestOperatingSystemNotSupported, AzureVMSuitabilityExplanationGuestOperatingSystemUnknown, AzureVMSuitabilityExplanationInternalErrorOccuredDuringComputeEvaluation, AzureVMSuitabilityExplanationInternalErrorOccuredDuringNetworkEvaluation, AzureVMSuitabilityExplanationInternalErrorOccuredDuringStorageEvaluation, AzureVMSuitabilityExplanationMoreDisksThanSupported, AzureVMSuitabilityExplanationNoGuestOperatingSystemConditionallySupported, AzureVMSuitabilityExplanationNoSuitableVMSizeFound, AzureVMSuitabilityExplanationNotApplicable, AzureVMSuitabilityExplanationNoVMSizeForBasicPricingTier, AzureVMSuitabilityExplanationNoVMSizeForSelectedAzureLocation, AzureVMSuitabilityExplanationNoVMSizeForSelectedPricingTier, AzureVMSuitabilityExplanationNoVMSizeForStandardPricingTier, AzureVMSuitabilityExplanationNoVMSizeSupportsNetworkPerformance, AzureVMSuitabilityExplanationNoVMSizeSupportsStoragePerformance, AzureVMSuitabilityExplanationOneOrMoreAdaptersNotSuitable, AzureVMSuitabilityExplanationOneOrMoreDisksNotSuitable, AzureVMSuitabilityExplanationUnendorsedLinuxDistributions, AzureVMSuitabilityExplanationUnknown, AzureVMSuitabilityExplanationWindowsClientVersionsConditionallySupported, AzureVMSuitabilityExplanationWindowsOSNoLongerUnderMSSupport, AzureVMSuitabilityExplanationWindowsServerVersionConditionallySupported, AzureVMSuitabilityExplanationWindowsServerVersionsSupportedWithCaveat}
669}
670
671// CloudSuitability enumerates the values for cloud suitability.
672type CloudSuitability string
673
674const (
675	// CloudSuitabilityConditionallySuitable ...
676	CloudSuitabilityConditionallySuitable CloudSuitability = "ConditionallySuitable"
677	// CloudSuitabilityNotSuitable ...
678	CloudSuitabilityNotSuitable CloudSuitability = "NotSuitable"
679	// CloudSuitabilityReadinessUnknown ...
680	CloudSuitabilityReadinessUnknown CloudSuitability = "ReadinessUnknown"
681	// CloudSuitabilitySuitable ...
682	CloudSuitabilitySuitable CloudSuitability = "Suitable"
683	// CloudSuitabilityUnknown ...
684	CloudSuitabilityUnknown CloudSuitability = "Unknown"
685)
686
687// PossibleCloudSuitabilityValues returns an array of possible values for the CloudSuitability const type.
688func PossibleCloudSuitabilityValues() []CloudSuitability {
689	return []CloudSuitability{CloudSuitabilityConditionallySuitable, CloudSuitabilityNotSuitable, CloudSuitabilityReadinessUnknown, CloudSuitabilitySuitable, CloudSuitabilityUnknown}
690}
691
692// Currency enumerates the values for currency.
693type Currency string
694
695const (
696	// CurrencyARS ...
697	CurrencyARS Currency = "ARS"
698	// CurrencyAUD ...
699	CurrencyAUD Currency = "AUD"
700	// CurrencyBRL ...
701	CurrencyBRL Currency = "BRL"
702	// CurrencyCAD ...
703	CurrencyCAD Currency = "CAD"
704	// CurrencyCHF ...
705	CurrencyCHF Currency = "CHF"
706	// CurrencyCNY ...
707	CurrencyCNY Currency = "CNY"
708	// CurrencyDKK ...
709	CurrencyDKK Currency = "DKK"
710	// CurrencyEUR ...
711	CurrencyEUR Currency = "EUR"
712	// CurrencyGBP ...
713	CurrencyGBP Currency = "GBP"
714	// CurrencyHKD ...
715	CurrencyHKD Currency = "HKD"
716	// CurrencyIDR ...
717	CurrencyIDR Currency = "IDR"
718	// CurrencyINR ...
719	CurrencyINR Currency = "INR"
720	// CurrencyJPY ...
721	CurrencyJPY Currency = "JPY"
722	// CurrencyKRW ...
723	CurrencyKRW Currency = "KRW"
724	// CurrencyMXN ...
725	CurrencyMXN Currency = "MXN"
726	// CurrencyMYR ...
727	CurrencyMYR Currency = "MYR"
728	// CurrencyNOK ...
729	CurrencyNOK Currency = "NOK"
730	// CurrencyNZD ...
731	CurrencyNZD Currency = "NZD"
732	// CurrencyRUB ...
733	CurrencyRUB Currency = "RUB"
734	// CurrencySAR ...
735	CurrencySAR Currency = "SAR"
736	// CurrencySEK ...
737	CurrencySEK Currency = "SEK"
738	// CurrencyTRY ...
739	CurrencyTRY Currency = "TRY"
740	// CurrencyTWD ...
741	CurrencyTWD Currency = "TWD"
742	// CurrencyUnknown ...
743	CurrencyUnknown Currency = "Unknown"
744	// CurrencyUSD ...
745	CurrencyUSD Currency = "USD"
746	// CurrencyZAR ...
747	CurrencyZAR Currency = "ZAR"
748)
749
750// PossibleCurrencyValues returns an array of possible values for the Currency const type.
751func PossibleCurrencyValues() []Currency {
752	return []Currency{CurrencyARS, CurrencyAUD, CurrencyBRL, CurrencyCAD, CurrencyCHF, CurrencyCNY, CurrencyDKK, CurrencyEUR, CurrencyGBP, CurrencyHKD, CurrencyIDR, CurrencyINR, CurrencyJPY, CurrencyKRW, CurrencyMXN, CurrencyMYR, CurrencyNOK, CurrencyNZD, CurrencyRUB, CurrencySAR, CurrencySEK, CurrencyTRY, CurrencyTWD, CurrencyUnknown, CurrencyUSD, CurrencyZAR}
753}
754
755// DiscoveryStatus enumerates the values for discovery status.
756type DiscoveryStatus string
757
758const (
759	// DiscoveryStatusCompleted ...
760	DiscoveryStatusCompleted DiscoveryStatus = "Completed"
761	// DiscoveryStatusInProgress ...
762	DiscoveryStatusInProgress DiscoveryStatus = "InProgress"
763	// DiscoveryStatusNotStarted ...
764	DiscoveryStatusNotStarted DiscoveryStatus = "NotStarted"
765	// DiscoveryStatusUnknown ...
766	DiscoveryStatusUnknown DiscoveryStatus = "Unknown"
767)
768
769// PossibleDiscoveryStatusValues returns an array of possible values for the DiscoveryStatus const type.
770func PossibleDiscoveryStatusValues() []DiscoveryStatus {
771	return []DiscoveryStatus{DiscoveryStatusCompleted, DiscoveryStatusInProgress, DiscoveryStatusNotStarted, DiscoveryStatusUnknown}
772}
773
774// MachineBootType enumerates the values for machine boot type.
775type MachineBootType string
776
777const (
778	// MachineBootTypeBIOS ...
779	MachineBootTypeBIOS MachineBootType = "BIOS"
780	// MachineBootTypeEFI ...
781	MachineBootTypeEFI MachineBootType = "EFI"
782	// MachineBootTypeUnknown ...
783	MachineBootTypeUnknown MachineBootType = "Unknown"
784)
785
786// PossibleMachineBootTypeValues returns an array of possible values for the MachineBootType const type.
787func PossibleMachineBootTypeValues() []MachineBootType {
788	return []MachineBootType{MachineBootTypeBIOS, MachineBootTypeEFI, MachineBootTypeUnknown}
789}
790
791// Percentile enumerates the values for percentile.
792type Percentile string
793
794const (
795	// Percentile50 ...
796	Percentile50 Percentile = "Percentile50"
797	// Percentile90 ...
798	Percentile90 Percentile = "Percentile90"
799	// Percentile95 ...
800	Percentile95 Percentile = "Percentile95"
801	// Percentile99 ...
802	Percentile99 Percentile = "Percentile99"
803)
804
805// PossiblePercentileValues returns an array of possible values for the Percentile const type.
806func PossiblePercentileValues() []Percentile {
807	return []Percentile{Percentile50, Percentile90, Percentile95, Percentile99}
808}
809
810// ProvisioningState enumerates the values for provisioning state.
811type ProvisioningState string
812
813const (
814	// Accepted ...
815	Accepted ProvisioningState = "Accepted"
816	// Creating ...
817	Creating ProvisioningState = "Creating"
818	// Deleting ...
819	Deleting ProvisioningState = "Deleting"
820	// Failed ...
821	Failed ProvisioningState = "Failed"
822	// Moving ...
823	Moving ProvisioningState = "Moving"
824	// Succeeded ...
825	Succeeded ProvisioningState = "Succeeded"
826)
827
828// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type.
829func PossibleProvisioningStateValues() []ProvisioningState {
830	return []ProvisioningState{Accepted, Creating, Deleting, Failed, Moving, Succeeded}
831}
832
833// TimeRange enumerates the values for time range.
834type TimeRange string
835
836const (
837	// Day ...
838	Day TimeRange = "Day"
839	// Month ...
840	Month TimeRange = "Month"
841	// Week ...
842	Week TimeRange = "Week"
843)
844
845// PossibleTimeRangeValues returns an array of possible values for the TimeRange const type.
846func PossibleTimeRangeValues() []TimeRange {
847	return []TimeRange{Day, Month, Week}
848}
849
850// AssessedDisk a disk assessed for an assessment.
851type AssessedDisk struct {
852	// Name - Name of the assessed disk.
853	Name *string `json:"name,omitempty"`
854	// GigabytesProvisioned - Gigabytes of storage provisioned for this disk.
855	GigabytesProvisioned *float64 `json:"gigabytesProvisioned,omitempty"`
856	// GigabytesConsumed - Gigabytes of storage consumed by this disk.
857	GigabytesConsumed *float64 `json:"gigabytesConsumed,omitempty"`
858	// MegabytesPerSecondOfRead - Disk throughput in MegaBytes per second.
859	MegabytesPerSecondOfRead *float64 `json:"megabytesPerSecondOfRead,omitempty"`
860	// MegabytesPerSecondOfReadDataPointsExpected - Expected data points for MegaBytes per second of read.
861	MegabytesPerSecondOfReadDataPointsExpected *int32 `json:"megabytesPerSecondOfReadDataPointsExpected,omitempty"`
862	// MegabytesPerSecondOfReadDataPointsReceived - Received data points for MegaBytes per second of read.
863	MegabytesPerSecondOfReadDataPointsReceived *int32 `json:"megabytesPerSecondOfReadDataPointsReceived,omitempty"`
864	// MegabytesPerSecondOfWrite - Disk throughput in MegaBytes per second.
865	MegabytesPerSecondOfWrite *float64 `json:"megabytesPerSecondOfWrite,omitempty"`
866	// MegabytesPerSecondOfWriteDataPointsExpected - Expected data points for MegaBytes per second of write.
867	MegabytesPerSecondOfWriteDataPointsExpected *int32 `json:"megabytesPerSecondOfWriteDataPointsExpected,omitempty"`
868	// MegabytesPerSecondOfWriteDataPointsReceived - Received data points for MegaBytes per second of write.
869	MegabytesPerSecondOfWriteDataPointsReceived *int32 `json:"megabytesPerSecondOfWriteDataPointsReceived,omitempty"`
870	// NumberOfReadOperationsPerSecond - Number of read operations per second for the disk.
871	NumberOfReadOperationsPerSecond *float64 `json:"numberOfReadOperationsPerSecond,omitempty"`
872	// NumberOfReadOperationsPerSecondDataPointsExpected - Expected number of data points for read operations per second.
873	NumberOfReadOperationsPerSecondDataPointsExpected *int32 `json:"numberOfReadOperationsPerSecondDataPointsExpected,omitempty"`
874	// NumberOfReadOperationsPerSecondDataPointsReceived - Received number of data points for read operations per second.
875	NumberOfReadOperationsPerSecondDataPointsReceived *int32 `json:"numberOfReadOperationsPerSecondDataPointsReceived,omitempty"`
876	// NumberOfWriteOperationsPerSecond - Number of read and write operations per second for the disk.
877	NumberOfWriteOperationsPerSecond *float64 `json:"numberOfWriteOperationsPerSecond,omitempty"`
878	// NumberOfWriteOperationsPerSecondDataPointsExpected - Expected number of data points for write operations per second.
879	NumberOfWriteOperationsPerSecondDataPointsExpected *int32 `json:"numberOfWriteOperationsPerSecondDataPointsExpected,omitempty"`
880	// NumberOfWriteOperationsPerSecondDataPointsReceived - Received number of data points for write operations per second.
881	NumberOfWriteOperationsPerSecondDataPointsReceived *int32 `json:"numberOfWriteOperationsPerSecondDataPointsReceived,omitempty"`
882	// MonthlyStorageCost - Estimated aggregate storage cost for a 31-day month for this disk.
883	MonthlyStorageCost *float64 `json:"monthlyStorageCost,omitempty"`
884	// RecommendedDiskType - Storage type selected for this disk. Possible values include: 'AzureDiskTypeUnknown', 'AzureDiskTypeStandard', 'AzureDiskTypePremium'
885	RecommendedDiskType AzureDiskType `json:"recommendedDiskType,omitempty"`
886	// RecommendedDiskSize - Recommended Azure size for the disk, given utilization data and preferences set on Assessment. Possible values include: 'Unknown', 'StandardS4', 'StandardS6', 'StandardS10', 'StandardS20', 'StandardS30', 'StandardS40', 'StandardS50', 'PremiumP4', 'PremiumP6', 'PremiumP10', 'PremiumP20', 'PremiumP30', 'PremiumP40', 'PremiumP50'
887	RecommendedDiskSize AzureDiskSize `json:"recommendedDiskSize,omitempty"`
888	// GigabytesForRecommendedDiskSize - Gigabytes of storage provided by the recommended Azure disk size.
889	GigabytesForRecommendedDiskSize *int32 `json:"gigabytesForRecommendedDiskSize,omitempty"`
890	// Suitability - Whether this disk is suitable for Azure. Possible values include: 'CloudSuitabilityUnknown', 'CloudSuitabilityNotSuitable', 'CloudSuitabilitySuitable', 'CloudSuitabilityConditionallySuitable', 'CloudSuitabilityReadinessUnknown'
891	Suitability CloudSuitability `json:"suitability,omitempty"`
892	// SuitabilityExplanation - If disk is suitable, this explains the reasons and mitigation steps. Possible values include: 'AzureDiskSuitabilityExplanationUnknown', 'AzureDiskSuitabilityExplanationNotApplicable', 'AzureDiskSuitabilityExplanationDiskSizeGreaterThanSupported', 'AzureDiskSuitabilityExplanationNoSuitableDiskSizeForIops', 'AzureDiskSuitabilityExplanationNoSuitableDiskSizeForThroughput', 'AzureDiskSuitabilityExplanationNoDiskSizeFoundInSelectedLocation', 'AzureDiskSuitabilityExplanationNoDiskSizeFoundForSelectedRedundancy', 'AzureDiskSuitabilityExplanationInternalErrorOccurredForDiskEvaluation'
893	SuitabilityExplanation AzureDiskSuitabilityExplanation `json:"suitabilityExplanation,omitempty"`
894}
895
896// AssessedMachine a machine evaluated as part of an assessment.
897type AssessedMachine struct {
898	autorest.Response `json:"-"`
899	// ID - Path reference to this assessed machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}
900	ID *string `json:"id,omitempty"`
901	// Name - Name of the machine.
902	Name *string `json:"name,omitempty"`
903	// ETag - For optimistic concurrency control.
904	ETag *string `json:"eTag,omitempty"`
905	// Type - Type of the object = [Microsoft.Migrate/projects/groups/assessments/assessedMachines].
906	Type *string `json:"type,omitempty"`
907	// AssessedMachineProperties - Properties of an assessed machine.
908	*AssessedMachineProperties `json:"properties,omitempty"`
909}
910
911// MarshalJSON is the custom marshaler for AssessedMachine.
912func (am AssessedMachine) MarshalJSON() ([]byte, error) {
913	objectMap := make(map[string]interface{})
914	if am.ID != nil {
915		objectMap["id"] = am.ID
916	}
917	if am.Name != nil {
918		objectMap["name"] = am.Name
919	}
920	if am.ETag != nil {
921		objectMap["eTag"] = am.ETag
922	}
923	if am.Type != nil {
924		objectMap["type"] = am.Type
925	}
926	if am.AssessedMachineProperties != nil {
927		objectMap["properties"] = am.AssessedMachineProperties
928	}
929	return json.Marshal(objectMap)
930}
931
932// UnmarshalJSON is the custom unmarshaler for AssessedMachine struct.
933func (am *AssessedMachine) UnmarshalJSON(body []byte) error {
934	var m map[string]*json.RawMessage
935	err := json.Unmarshal(body, &m)
936	if err != nil {
937		return err
938	}
939	for k, v := range m {
940		switch k {
941		case "id":
942			if v != nil {
943				var ID string
944				err = json.Unmarshal(*v, &ID)
945				if err != nil {
946					return err
947				}
948				am.ID = &ID
949			}
950		case "name":
951			if v != nil {
952				var name string
953				err = json.Unmarshal(*v, &name)
954				if err != nil {
955					return err
956				}
957				am.Name = &name
958			}
959		case "eTag":
960			if v != nil {
961				var eTag string
962				err = json.Unmarshal(*v, &eTag)
963				if err != nil {
964					return err
965				}
966				am.ETag = &eTag
967			}
968		case "type":
969			if v != nil {
970				var typeVar string
971				err = json.Unmarshal(*v, &typeVar)
972				if err != nil {
973					return err
974				}
975				am.Type = &typeVar
976			}
977		case "properties":
978			if v != nil {
979				var assessedMachineProperties AssessedMachineProperties
980				err = json.Unmarshal(*v, &assessedMachineProperties)
981				if err != nil {
982					return err
983				}
984				am.AssessedMachineProperties = &assessedMachineProperties
985			}
986		}
987	}
988
989	return nil
990}
991
992// AssessedMachineProperties properties of an assessed machine.
993type AssessedMachineProperties struct {
994	// Groups - List of references to the groups that the machine is member of.
995	Groups *[]string `json:"groups,omitempty"`
996	// DiscoveredTimestamp - Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.
997	DiscoveredTimestamp *date.Time `json:"discoveredTimestamp,omitempty"`
998	// BootType - Boot type of the machine. Possible values include: 'MachineBootTypeUnknown', 'MachineBootTypeEFI', 'MachineBootTypeBIOS'
999	BootType MachineBootType `json:"bootType,omitempty"`
1000	// DatacenterContainer - Container defined in the management solution that this machine is part of in the datacenter.
1001	DatacenterContainer *string `json:"datacenterContainer,omitempty"`
1002	// DatacenterManagementServer - Name of the server hosting the datacenter management solution.
1003	DatacenterManagementServer *string `json:"datacenterManagementServer,omitempty"`
1004	// DatacenterMachineID - ID of the machine as tracked by the datacenter management solution.
1005	DatacenterMachineID *string `json:"datacenterMachineId,omitempty"`
1006	// DatacenterManagementServerID - ID of the server hosting the datacenter management solution.
1007	DatacenterManagementServerID *string `json:"datacenterManagementServerId,omitempty"`
1008	// Description - Description of the machine
1009	Description *string `json:"description,omitempty"`
1010	// DisplayName - User readable name of the machine as defined by the user in their private datacenter.
1011	DisplayName *string `json:"displayName,omitempty"`
1012	// MegabytesOfMemory - Memory in Megabytes.
1013	MegabytesOfMemory *float64 `json:"megabytesOfMemory,omitempty"`
1014	// NumberOfCores - Processor count.
1015	NumberOfCores *int32 `json:"numberOfCores,omitempty"`
1016	// OperatingSystem - Operating System of the machine.
1017	OperatingSystem *string `json:"operatingSystem,omitempty"`
1018	// MonthlyBandwidthCost - Monthly network cost estimate for the network adapters that are attached to this machine as a group, for a 31-day month.
1019	MonthlyBandwidthCost *float64 `json:"monthlyBandwidthCost,omitempty"`
1020	// MonthlyStorageCost - Monthly storage cost estimate for the disks that are attached to this machine as a group, for a 31-day month.
1021	MonthlyStorageCost *float64 `json:"monthlyStorageCost,omitempty"`
1022	// Disks - Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object.
1023	Disks map[string]*AssessedDisk `json:"disks"`
1024	// NetworkAdapters - Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object.
1025	NetworkAdapters map[string]*AssessedNetworkAdapter `json:"networkAdapters"`
1026	// RecommendedSize - Recommended Azure size for this machine. Possible values include: 'AzureVMSizeUnknown', 'AzureVMSizeBasicA0', 'AzureVMSizeBasicA1', 'AzureVMSizeBasicA2', 'AzureVMSizeBasicA3', 'AzureVMSizeBasicA4', 'AzureVMSizeStandardA0', 'AzureVMSizeStandardA1', 'AzureVMSizeStandardA2', 'AzureVMSizeStandardA3', 'AzureVMSizeStandardA4', 'AzureVMSizeStandardA5', 'AzureVMSizeStandardA6', 'AzureVMSizeStandardA7', 'AzureVMSizeStandardA8', 'AzureVMSizeStandardA9', 'AzureVMSizeStandardA10', 'AzureVMSizeStandardA11', 'AzureVMSizeStandardA1V2', 'AzureVMSizeStandardA2V2', 'AzureVMSizeStandardA4V2', 'AzureVMSizeStandardA8V2', 'AzureVMSizeStandardA2mV2', 'AzureVMSizeStandardA4mV2', 'AzureVMSizeStandardA8mV2', 'AzureVMSizeStandardD1', 'AzureVMSizeStandardD2', 'AzureVMSizeStandardD3', 'AzureVMSizeStandardD4', 'AzureVMSizeStandardD11', 'AzureVMSizeStandardD12', 'AzureVMSizeStandardD13', 'AzureVMSizeStandardD14', 'AzureVMSizeStandardD1V2', 'AzureVMSizeStandardD2V2', 'AzureVMSizeStandardD3V2', 'AzureVMSizeStandardD4V2', 'AzureVMSizeStandardD5V2', 'AzureVMSizeStandardD11V2', 'AzureVMSizeStandardD12V2', 'AzureVMSizeStandardD13V2', 'AzureVMSizeStandardD14V2', 'AzureVMSizeStandardD15V2', 'AzureVMSizeStandardDS1', 'AzureVMSizeStandardDS2', 'AzureVMSizeStandardDS3', 'AzureVMSizeStandardDS4', 'AzureVMSizeStandardDS11', 'AzureVMSizeStandardDS12', 'AzureVMSizeStandardDS13', 'AzureVMSizeStandardDS14', 'AzureVMSizeStandardDS1V2', 'AzureVMSizeStandardDS2V2', 'AzureVMSizeStandardDS3V2', 'AzureVMSizeStandardDS4V2', 'AzureVMSizeStandardDS5V2', 'AzureVMSizeStandardDS11V2', 'AzureVMSizeStandardDS12V2', 'AzureVMSizeStandardDS13V2', 'AzureVMSizeStandardDS14V2', 'AzureVMSizeStandardDS15V2', 'AzureVMSizeStandardF1', 'AzureVMSizeStandardF2', 'AzureVMSizeStandardF4', 'AzureVMSizeStandardF8', 'AzureVMSizeStandardF16', 'AzureVMSizeStandardF1s', 'AzureVMSizeStandardF2s', 'AzureVMSizeStandardF4s', 'AzureVMSizeStandardF8s', 'AzureVMSizeStandardF16s', 'AzureVMSizeStandardG1', 'AzureVMSizeStandardG2', 'AzureVMSizeStandardG3', 'AzureVMSizeStandardG4', 'AzureVMSizeStandardG5', 'AzureVMSizeStandardGS1', 'AzureVMSizeStandardGS2', 'AzureVMSizeStandardGS3', 'AzureVMSizeStandardGS4', 'AzureVMSizeStandardGS5', 'AzureVMSizeStandardH8', 'AzureVMSizeStandardH16', 'AzureVMSizeStandardH8m', 'AzureVMSizeStandardH16m', 'AzureVMSizeStandardH16r', 'AzureVMSizeStandardH16mr', 'AzureVMSizeStandardL4s', 'AzureVMSizeStandardL8s', 'AzureVMSizeStandardL16s', 'AzureVMSizeStandardL32s'
1027	RecommendedSize AzureVMSize `json:"recommendedSize,omitempty"`
1028	// NumberOfCoresForRecommendedSize - Number of CPU cores in the Recommended Azure VM Size.
1029	NumberOfCoresForRecommendedSize *int32 `json:"numberOfCoresForRecommendedSize,omitempty"`
1030	// MegabytesOfMemoryForRecommendedSize - Megabytes of memory in the Recommended Azure VM Size.
1031	MegabytesOfMemoryForRecommendedSize *float64 `json:"megabytesOfMemoryForRecommendedSize,omitempty"`
1032	// MonthlyComputeCostForRecommendedSize - Compute Cost for a 31-day month, if the machine is migrated to Azure with the Recommended Size.
1033	MonthlyComputeCostForRecommendedSize *float64 `json:"monthlyComputeCostForRecommendedSize,omitempty"`
1034	// PercentageCoresUtilization - Utilization percentage of the processor core as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.
1035	PercentageCoresUtilization *float64 `json:"percentageCoresUtilization,omitempty"`
1036	// PercentageMemoryUtilization - Utilization percentage of the memory as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.
1037	PercentageMemoryUtilization *float64 `json:"percentageMemoryUtilization,omitempty"`
1038	// PercentageCoresUtilizationDataPointsExpected - Expected data points for percentage of cores utilization.
1039	PercentageCoresUtilizationDataPointsExpected *int32 `json:"percentageCoresUtilizationDataPointsExpected,omitempty"`
1040	// PercentageCoresUtilizationDataPointsReceived - Received data points for percentage of cores utilization.
1041	PercentageCoresUtilizationDataPointsReceived *int32 `json:"percentageCoresUtilizationDataPointsReceived,omitempty"`
1042	// PercentageMemoryUtilizationDataPointsExpected - Expected data points for percentage of memory utilization.
1043	PercentageMemoryUtilizationDataPointsExpected *int32 `json:"percentageMemoryUtilizationDataPointsExpected,omitempty"`
1044	// PercentageMemoryUtilizationDataPointsReceived - Received data points for percentage of memory utilization.
1045	PercentageMemoryUtilizationDataPointsReceived *int32 `json:"percentageMemoryUtilizationDataPointsReceived,omitempty"`
1046	// Suitability - Whether machine is suitable for migration to Azure. Possible values include: 'CloudSuitabilityUnknown', 'CloudSuitabilityNotSuitable', 'CloudSuitabilitySuitable', 'CloudSuitabilityConditionallySuitable', 'CloudSuitabilityReadinessUnknown'
1047	Suitability CloudSuitability `json:"suitability,omitempty"`
1048	// SuitabilityExplanation - If machine is not ready to be migrated, this explains the reasons and mitigation steps. Possible values include: 'AzureVMSuitabilityExplanationUnknown', 'AzureVMSuitabilityExplanationNotApplicable', 'AzureVMSuitabilityExplanationGuestOperatingSystemArchitectureNotSupported', 'AzureVMSuitabilityExplanationGuestOperatingSystemNotSupported', 'AzureVMSuitabilityExplanationBootTypeNotSupported', 'AzureVMSuitabilityExplanationMoreDisksThanSupported', 'AzureVMSuitabilityExplanationNoSuitableVMSizeFound', 'AzureVMSuitabilityExplanationOneOrMoreDisksNotSuitable', 'AzureVMSuitabilityExplanationOneOrMoreAdaptersNotSuitable', 'AzureVMSuitabilityExplanationInternalErrorOccuredDuringComputeEvaluation', 'AzureVMSuitabilityExplanationInternalErrorOccuredDuringStorageEvaluation', 'AzureVMSuitabilityExplanationInternalErrorOccuredDuringNetworkEvaluation', 'AzureVMSuitabilityExplanationNoVMSizeSupportsStoragePerformance', 'AzureVMSuitabilityExplanationNoVMSizeSupportsNetworkPerformance', 'AzureVMSuitabilityExplanationNoVMSizeForSelectedPricingTier', 'AzureVMSuitabilityExplanationNoVMSizeForSelectedAzureLocation', 'AzureVMSuitabilityExplanationCheckRedHatLinuxVersion', 'AzureVMSuitabilityExplanationCheckOpenSuseLinuxVersion', 'AzureVMSuitabilityExplanationCheckWindowsServer2008R2Version', 'AzureVMSuitabilityExplanationCheckCentOsVersion', 'AzureVMSuitabilityExplanationCheckDebianLinuxVersion', 'AzureVMSuitabilityExplanationCheckSuseLinuxVersion', 'AzureVMSuitabilityExplanationCheckOracleLinuxVersion', 'AzureVMSuitabilityExplanationCheckUbuntuLinuxVersion', 'AzureVMSuitabilityExplanationCheckCoreOsLinuxVersion', 'AzureVMSuitabilityExplanationWindowsServerVersionConditionallySupported', 'AzureVMSuitabilityExplanationNoGuestOperatingSystemConditionallySupported', 'AzureVMSuitabilityExplanationWindowsClientVersionsConditionallySupported', 'AzureVMSuitabilityExplanationBootTypeUnknown', 'AzureVMSuitabilityExplanationGuestOperatingSystemUnknown', 'AzureVMSuitabilityExplanationWindowsServerVersionsSupportedWithCaveat', 'AzureVMSuitabilityExplanationWindowsOSNoLongerUnderMSSupport', 'AzureVMSuitabilityExplanationEndorsedWithConditionsLinuxDistributions', 'AzureVMSuitabilityExplanationUnendorsedLinuxDistributions', 'AzureVMSuitabilityExplanationNoVMSizeForStandardPricingTier', 'AzureVMSuitabilityExplanationNoVMSizeForBasicPricingTier'
1049	SuitabilityExplanation AzureVMSuitabilityExplanation `json:"suitabilityExplanation,omitempty"`
1050	// CreatedTimestamp - Time when this machine was created. Date-Time represented in ISO-8601 format.
1051	CreatedTimestamp *date.Time `json:"createdTimestamp,omitempty"`
1052	// UpdatedTimestamp - Time when this machine was last updated. Date-Time represented in ISO-8601 format.
1053	UpdatedTimestamp *date.Time `json:"updatedTimestamp,omitempty"`
1054}
1055
1056// MarshalJSON is the custom marshaler for AssessedMachineProperties.
1057func (amp AssessedMachineProperties) MarshalJSON() ([]byte, error) {
1058	objectMap := make(map[string]interface{})
1059	if amp.Groups != nil {
1060		objectMap["groups"] = amp.Groups
1061	}
1062	if amp.DiscoveredTimestamp != nil {
1063		objectMap["discoveredTimestamp"] = amp.DiscoveredTimestamp
1064	}
1065	if amp.BootType != "" {
1066		objectMap["bootType"] = amp.BootType
1067	}
1068	if amp.DatacenterContainer != nil {
1069		objectMap["datacenterContainer"] = amp.DatacenterContainer
1070	}
1071	if amp.DatacenterManagementServer != nil {
1072		objectMap["datacenterManagementServer"] = amp.DatacenterManagementServer
1073	}
1074	if amp.DatacenterMachineID != nil {
1075		objectMap["datacenterMachineId"] = amp.DatacenterMachineID
1076	}
1077	if amp.DatacenterManagementServerID != nil {
1078		objectMap["datacenterManagementServerId"] = amp.DatacenterManagementServerID
1079	}
1080	if amp.Description != nil {
1081		objectMap["description"] = amp.Description
1082	}
1083	if amp.DisplayName != nil {
1084		objectMap["displayName"] = amp.DisplayName
1085	}
1086	if amp.MegabytesOfMemory != nil {
1087		objectMap["megabytesOfMemory"] = amp.MegabytesOfMemory
1088	}
1089	if amp.NumberOfCores != nil {
1090		objectMap["numberOfCores"] = amp.NumberOfCores
1091	}
1092	if amp.OperatingSystem != nil {
1093		objectMap["operatingSystem"] = amp.OperatingSystem
1094	}
1095	if amp.MonthlyBandwidthCost != nil {
1096		objectMap["monthlyBandwidthCost"] = amp.MonthlyBandwidthCost
1097	}
1098	if amp.MonthlyStorageCost != nil {
1099		objectMap["monthlyStorageCost"] = amp.MonthlyStorageCost
1100	}
1101	if amp.Disks != nil {
1102		objectMap["disks"] = amp.Disks
1103	}
1104	if amp.NetworkAdapters != nil {
1105		objectMap["networkAdapters"] = amp.NetworkAdapters
1106	}
1107	if amp.RecommendedSize != "" {
1108		objectMap["recommendedSize"] = amp.RecommendedSize
1109	}
1110	if amp.NumberOfCoresForRecommendedSize != nil {
1111		objectMap["numberOfCoresForRecommendedSize"] = amp.NumberOfCoresForRecommendedSize
1112	}
1113	if amp.MegabytesOfMemoryForRecommendedSize != nil {
1114		objectMap["megabytesOfMemoryForRecommendedSize"] = amp.MegabytesOfMemoryForRecommendedSize
1115	}
1116	if amp.MonthlyComputeCostForRecommendedSize != nil {
1117		objectMap["monthlyComputeCostForRecommendedSize"] = amp.MonthlyComputeCostForRecommendedSize
1118	}
1119	if amp.PercentageCoresUtilization != nil {
1120		objectMap["percentageCoresUtilization"] = amp.PercentageCoresUtilization
1121	}
1122	if amp.PercentageMemoryUtilization != nil {
1123		objectMap["percentageMemoryUtilization"] = amp.PercentageMemoryUtilization
1124	}
1125	if amp.PercentageCoresUtilizationDataPointsExpected != nil {
1126		objectMap["percentageCoresUtilizationDataPointsExpected"] = amp.PercentageCoresUtilizationDataPointsExpected
1127	}
1128	if amp.PercentageCoresUtilizationDataPointsReceived != nil {
1129		objectMap["percentageCoresUtilizationDataPointsReceived"] = amp.PercentageCoresUtilizationDataPointsReceived
1130	}
1131	if amp.PercentageMemoryUtilizationDataPointsExpected != nil {
1132		objectMap["percentageMemoryUtilizationDataPointsExpected"] = amp.PercentageMemoryUtilizationDataPointsExpected
1133	}
1134	if amp.PercentageMemoryUtilizationDataPointsReceived != nil {
1135		objectMap["percentageMemoryUtilizationDataPointsReceived"] = amp.PercentageMemoryUtilizationDataPointsReceived
1136	}
1137	if amp.Suitability != "" {
1138		objectMap["suitability"] = amp.Suitability
1139	}
1140	if amp.SuitabilityExplanation != "" {
1141		objectMap["suitabilityExplanation"] = amp.SuitabilityExplanation
1142	}
1143	if amp.CreatedTimestamp != nil {
1144		objectMap["createdTimestamp"] = amp.CreatedTimestamp
1145	}
1146	if amp.UpdatedTimestamp != nil {
1147		objectMap["updatedTimestamp"] = amp.UpdatedTimestamp
1148	}
1149	return json.Marshal(objectMap)
1150}
1151
1152// AssessedMachineResultList list of assessed machines.
1153type AssessedMachineResultList struct {
1154	autorest.Response `json:"-"`
1155	// Value - List of assessed machines.
1156	Value *[]AssessedMachine `json:"value,omitempty"`
1157}
1158
1159// AssessedNetworkAdapter a network adapter assessed for an assessment.
1160type AssessedNetworkAdapter struct {
1161	// MacAddress - MAC Address of the network adapter.
1162	MacAddress *string `json:"macAddress,omitempty"`
1163	// IPAddresses - List of IP Addresses on the network adapter.
1164	IPAddresses *[]string `json:"ipAddresses,omitempty"`
1165	// MonthlyBandwidthCosts - Monthly cost estimate for network bandwidth used by this network adapter.
1166	MonthlyBandwidthCosts *float64 `json:"monthlyBandwidthCosts,omitempty"`
1167	// MegabytesPerSecondReceived - Adapter throughput for incoming traffic in MegaBytes per second.
1168	MegabytesPerSecondReceived *float64 `json:"megabytesPerSecondReceived,omitempty"`
1169	// MegabytesPerSecondReceivedDataPointsExpected - Expected data points for incoming traffic in MegaBytes per second.
1170	MegabytesPerSecondReceivedDataPointsExpected *int32 `json:"megabytesPerSecondReceivedDataPointsExpected,omitempty"`
1171	// MegabytesPerSecondOfReadDataPointsReceived - Received data points for incoming traffic in MegaBytes per second.
1172	MegabytesPerSecondOfReadDataPointsReceived *int32 `json:"megabytesPerSecondOfReadDataPointsReceived,omitempty"`
1173	// MegabytesPerSecondTransmitted - Adapter throughput for outgoing traffic in MegaBytes per second.
1174	MegabytesPerSecondTransmitted *float64 `json:"megabytesPerSecondTransmitted,omitempty"`
1175	// MegabytesPerSecondTransmittedDataPointsExpected - Expected data points for outgoing traffic in MegaBytes per second.
1176	MegabytesPerSecondTransmittedDataPointsExpected *int32 `json:"megabytesPerSecondTransmittedDataPointsExpected,omitempty"`
1177	// MegabytesPerSecondTransmittedDataPointsReceived - Received data points for outgoing traffic in MegaBytes per second.
1178	MegabytesPerSecondTransmittedDataPointsReceived *int32 `json:"megabytesPerSecondTransmittedDataPointsReceived,omitempty"`
1179	// NetGigabytesTransmittedPerMonth - Gigabytes transmitted through this adapter each month.
1180	NetGigabytesTransmittedPerMonth *float64 `json:"netGigabytesTransmittedPerMonth,omitempty"`
1181	// Suitability - Whether this adapter is suitable for Azure. Possible values include: 'CloudSuitabilityUnknown', 'CloudSuitabilityNotSuitable', 'CloudSuitabilitySuitable', 'CloudSuitabilityConditionallySuitable', 'CloudSuitabilityReadinessUnknown'
1182	Suitability CloudSuitability `json:"suitability,omitempty"`
1183	// SuitabilityExplanation - If network adapter is suitable, this explains the reasons and mitigation steps. Possible values include: 'AzureNetworkAdapterSuitabilityExplanationUnknown', 'AzureNetworkAdapterSuitabilityExplanationNotApplicable', 'AzureNetworkAdapterSuitabilityExplanationInternalErrorOccured'
1184	SuitabilityExplanation AzureNetworkAdapterSuitabilityExplanation `json:"suitabilityExplanation,omitempty"`
1185}
1186
1187// Assessment an assessment created for a group in the Migration project.
1188type Assessment struct {
1189	autorest.Response `json:"-"`
1190	// ID - Path reference to this assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessment/{assessmentName}
1191	ID *string `json:"id,omitempty"`
1192	// Name - Unique name of an assessment.
1193	Name *string `json:"name,omitempty"`
1194	// ETag - For optimistic concurrency control.
1195	ETag *string `json:"eTag,omitempty"`
1196	// Type - Type of the object = [Microsoft.Migrate/projects/groups/assessments].
1197	Type *string `json:"type,omitempty"`
1198	// AssessmentProperties - Properties of the assessment.
1199	*AssessmentProperties `json:"properties,omitempty"`
1200}
1201
1202// MarshalJSON is the custom marshaler for Assessment.
1203func (a Assessment) MarshalJSON() ([]byte, error) {
1204	objectMap := make(map[string]interface{})
1205	if a.ID != nil {
1206		objectMap["id"] = a.ID
1207	}
1208	if a.Name != nil {
1209		objectMap["name"] = a.Name
1210	}
1211	if a.ETag != nil {
1212		objectMap["eTag"] = a.ETag
1213	}
1214	if a.Type != nil {
1215		objectMap["type"] = a.Type
1216	}
1217	if a.AssessmentProperties != nil {
1218		objectMap["properties"] = a.AssessmentProperties
1219	}
1220	return json.Marshal(objectMap)
1221}
1222
1223// UnmarshalJSON is the custom unmarshaler for Assessment struct.
1224func (a *Assessment) UnmarshalJSON(body []byte) error {
1225	var m map[string]*json.RawMessage
1226	err := json.Unmarshal(body, &m)
1227	if err != nil {
1228		return err
1229	}
1230	for k, v := range m {
1231		switch k {
1232		case "id":
1233			if v != nil {
1234				var ID string
1235				err = json.Unmarshal(*v, &ID)
1236				if err != nil {
1237					return err
1238				}
1239				a.ID = &ID
1240			}
1241		case "name":
1242			if v != nil {
1243				var name string
1244				err = json.Unmarshal(*v, &name)
1245				if err != nil {
1246					return err
1247				}
1248				a.Name = &name
1249			}
1250		case "eTag":
1251			if v != nil {
1252				var eTag string
1253				err = json.Unmarshal(*v, &eTag)
1254				if err != nil {
1255					return err
1256				}
1257				a.ETag = &eTag
1258			}
1259		case "type":
1260			if v != nil {
1261				var typeVar string
1262				err = json.Unmarshal(*v, &typeVar)
1263				if err != nil {
1264					return err
1265				}
1266				a.Type = &typeVar
1267			}
1268		case "properties":
1269			if v != nil {
1270				var assessmentProperties AssessmentProperties
1271				err = json.Unmarshal(*v, &assessmentProperties)
1272				if err != nil {
1273					return err
1274				}
1275				a.AssessmentProperties = &assessmentProperties
1276			}
1277		}
1278	}
1279
1280	return nil
1281}
1282
1283// AssessmentProperties properties of an assessment.
1284type AssessmentProperties struct {
1285	// AzureLocation - Target Azure location for which the machines should be assessed. These enums are the same as used by Compute API. Possible values include: 'AzureLocationUnknown', 'AzureLocationEastAsia', 'AzureLocationSoutheastAsia', 'AzureLocationAustraliaEast', 'AzureLocationAustraliaSoutheast', 'AzureLocationBrazilSouth', 'AzureLocationCanadaCentral', 'AzureLocationCanadaEast', 'AzureLocationWestEurope', 'AzureLocationNorthEurope', 'AzureLocationCentralIndia', 'AzureLocationSouthIndia', 'AzureLocationWestIndia', 'AzureLocationJapanEast', 'AzureLocationJapanWest', 'AzureLocationKoreaCentral', 'AzureLocationKoreaSouth', 'AzureLocationUkWest', 'AzureLocationUkSouth', 'AzureLocationNorthCentralUs', 'AzureLocationEastUs', 'AzureLocationWestUs2', 'AzureLocationSouthCentralUs', 'AzureLocationCentralUs', 'AzureLocationEastUs2', 'AzureLocationWestUs', 'AzureLocationWestCentralUs', 'AzureLocationGermanyCentral', 'AzureLocationGermanyNortheast', 'AzureLocationChinaNorth', 'AzureLocationChinaEast'
1286	AzureLocation AzureLocation `json:"azureLocation,omitempty"`
1287	// AzureOfferCode - Offer code according to which cost estimation is done. Possible values include: 'AzureOfferCodeUnknown', 'AzureOfferCodeMSAZR0003P', 'AzureOfferCodeMSAZR0044P', 'AzureOfferCodeMSAZR0059P', 'AzureOfferCodeMSAZR0060P', 'AzureOfferCodeMSAZR0062P', 'AzureOfferCodeMSAZR0063P', 'AzureOfferCodeMSAZR0064P', 'AzureOfferCodeMSAZR0029P', 'AzureOfferCodeMSAZR0022P', 'AzureOfferCodeMSAZR0023P', 'AzureOfferCodeMSAZR0148P', 'AzureOfferCodeMSAZR0025P', 'AzureOfferCodeMSAZR0036P', 'AzureOfferCodeMSAZR0120P', 'AzureOfferCodeMSAZR0121P', 'AzureOfferCodeMSAZR0122P', 'AzureOfferCodeMSAZR0123P', 'AzureOfferCodeMSAZR0124P', 'AzureOfferCodeMSAZR0125P', 'AzureOfferCodeMSAZR0126P', 'AzureOfferCodeMSAZR0127P', 'AzureOfferCodeMSAZR0128P', 'AzureOfferCodeMSAZR0129P', 'AzureOfferCodeMSAZR0130P', 'AzureOfferCodeMSAZR0111P', 'AzureOfferCodeMSAZR0144P', 'AzureOfferCodeMSAZR0149P', 'AzureOfferCodeMSMCAZR0044P', 'AzureOfferCodeMSMCAZR0059P', 'AzureOfferCodeMSMCAZR0060P', 'AzureOfferCodeMSMCAZR0063P', 'AzureOfferCodeMSMCAZR0120P', 'AzureOfferCodeMSMCAZR0121P', 'AzureOfferCodeMSMCAZR0125P', 'AzureOfferCodeMSMCAZR0128P', 'AzureOfferCodeMSAZRDE0003P', 'AzureOfferCodeMSAZRDE0044P'
1288	AzureOfferCode AzureOfferCode `json:"azureOfferCode,omitempty"`
1289	// AzurePricingTier - Pricing tier for Size evaluation. Possible values include: 'Standard', 'Basic'
1290	AzurePricingTier AzurePricingTier `json:"azurePricingTier,omitempty"`
1291	// AzureStorageRedundancy - Storage Redundancy type offered by Azure. Possible values include: 'AzureStorageRedundancyUnknown', 'AzureStorageRedundancyLocallyRedundant', 'AzureStorageRedundancyZoneRedundant', 'AzureStorageRedundancyGeoRedundant', 'AzureStorageRedundancyReadAccessGeoRedundant'
1292	AzureStorageRedundancy AzureStorageRedundancy `json:"azureStorageRedundancy,omitempty"`
1293	// ScalingFactor - Scaling factor used over utilization data to add a performance buffer for new machines to be created in Azure. Min Value = 1.0, Max value = 1.9, Default = 1.3.
1294	ScalingFactor *float64 `json:"scalingFactor,omitempty"`
1295	// Percentile - Percentile of performance data used to recommend Azure size. Possible values include: 'Percentile50', 'Percentile90', 'Percentile95', 'Percentile99'
1296	Percentile Percentile `json:"percentile,omitempty"`
1297	// TimeRange - Time range of performance data used to recommend a size. Possible values include: 'Day', 'Week', 'Month'
1298	TimeRange TimeRange `json:"timeRange,omitempty"`
1299	// Stage - User configurable setting that describes the status of the assessment. Possible values include: 'InProgress', 'UnderReview', 'Approved'
1300	Stage AssessmentStage `json:"stage,omitempty"`
1301	// Currency - Currency to report prices in. Possible values include: 'CurrencyUnknown', 'CurrencyUSD', 'CurrencyDKK', 'CurrencyCAD', 'CurrencyIDR', 'CurrencyJPY', 'CurrencyKRW', 'CurrencyNZD', 'CurrencyNOK', 'CurrencyRUB', 'CurrencySAR', 'CurrencyZAR', 'CurrencySEK', 'CurrencyTRY', 'CurrencyGBP', 'CurrencyMXN', 'CurrencyMYR', 'CurrencyINR', 'CurrencyHKD', 'CurrencyBRL', 'CurrencyTWD', 'CurrencyEUR', 'CurrencyCHF', 'CurrencyARS', 'CurrencyAUD', 'CurrencyCNY'
1302	Currency Currency `json:"currency,omitempty"`
1303	// AzureHybridUseBenefit - AHUB discount on windows virtual machines. Possible values include: 'AzureHybridUseBenefitUnknown', 'AzureHybridUseBenefitYes', 'AzureHybridUseBenefitNo'
1304	AzureHybridUseBenefit AzureHybridUseBenefit `json:"azureHybridUseBenefit,omitempty"`
1305	// DiscountPercentage - Custom discount percentage to be applied on final costs. Can be in the range [0, 100].
1306	DiscountPercentage *float64 `json:"discountPercentage,omitempty"`
1307	// ConfidenceRatingInPercentage - Confidence rating percentage for assessment. Can be in the range [0, 100].
1308	ConfidenceRatingInPercentage *float64 `json:"confidenceRatingInPercentage,omitempty"`
1309	// SizingCriterion - Assessment sizing criterion. Possible values include: 'PerformanceBased', 'AsOnPremises'
1310	SizingCriterion AssessmentSizingCriterion `json:"sizingCriterion,omitempty"`
1311	// PricesTimestamp - Time when the Azure Prices were queried. Date-Time represented in ISO-8601 format.
1312	PricesTimestamp *date.Time `json:"pricesTimestamp,omitempty"`
1313	// CreatedTimestamp - Time when this project was created. Date-Time represented in ISO-8601 format.
1314	CreatedTimestamp *date.Time `json:"createdTimestamp,omitempty"`
1315	// UpdatedTimestamp - Time when this project was last updated. Date-Time represented in ISO-8601 format.
1316	UpdatedTimestamp *date.Time `json:"updatedTimestamp,omitempty"`
1317	// MonthlyComputeCost - Monthly compute cost estimate for the machines that are part of this assessment as a group, for a 31-day month.
1318	MonthlyComputeCost *float64 `json:"monthlyComputeCost,omitempty"`
1319	// MonthlyBandwidthCost - Monthly network cost estimate for the machines that are part of this assessment as a group, for a 31-day month.
1320	MonthlyBandwidthCost *float64 `json:"monthlyBandwidthCost,omitempty"`
1321	// MonthlyStorageCost - Monthly storage cost estimate for the machines that are part of this assessment as a group, for a 31-day month.
1322	MonthlyStorageCost *float64 `json:"monthlyStorageCost,omitempty"`
1323	// Status - Wheter the assessment has been created and is valid. Possible values include: 'Created', 'Updated', 'Running', 'Completed', 'Invalid'
1324	Status AssessmentStatus `json:"status,omitempty"`
1325	// NumberOfMachines - Number of assessed machines part of this assessment.
1326	NumberOfMachines *int32 `json:"numberOfMachines,omitempty"`
1327}
1328
1329// AssessmentResultList list of assessments.
1330type AssessmentResultList struct {
1331	autorest.Response `json:"-"`
1332	// Value - List of assessments.
1333	Value *[]Assessment `json:"value,omitempty"`
1334}
1335
1336// Disk a disk discovered on a machine.
1337type Disk struct {
1338	// GigabytesAllocated - Gigabytes of storage provisioned for this disk.
1339	GigabytesAllocated *float64 `json:"gigabytesAllocated,omitempty"`
1340	// GigabytesConsumed - Gigabytes of storage consumed by this disk.
1341	GigabytesConsumed *float64 `json:"gigabytesConsumed,omitempty"`
1342}
1343
1344// DownloadURL download URL for assessment report.
1345type DownloadURL struct {
1346	autorest.Response `json:"-"`
1347	// AssessmentReportURL - Hyperlink to download report.
1348	AssessmentReportURL *string `json:"assessmentReportUrl,omitempty"`
1349	// ExpirationTime - Expiry date of download url.
1350	ExpirationTime *date.Time `json:"expirationTime,omitempty"`
1351}
1352
1353// Group a group created in a Migration project.
1354type Group struct {
1355	autorest.Response `json:"-"`
1356	// ID - Path reference to this group. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}
1357	ID *string `json:"id,omitempty"`
1358	// Name - Name of the group.
1359	Name *string `json:"name,omitempty"`
1360	// ETag - For optimistic concurrency control.
1361	ETag *string `json:"eTag,omitempty"`
1362	// Type - Type of the object = [Microsoft.Migrate/projects/groups].
1363	Type *string `json:"type,omitempty"`
1364	// GroupProperties - Properties of the group.
1365	*GroupProperties `json:"properties,omitempty"`
1366}
1367
1368// MarshalJSON is the custom marshaler for Group.
1369func (g Group) MarshalJSON() ([]byte, error) {
1370	objectMap := make(map[string]interface{})
1371	if g.ID != nil {
1372		objectMap["id"] = g.ID
1373	}
1374	if g.Name != nil {
1375		objectMap["name"] = g.Name
1376	}
1377	if g.ETag != nil {
1378		objectMap["eTag"] = g.ETag
1379	}
1380	if g.Type != nil {
1381		objectMap["type"] = g.Type
1382	}
1383	if g.GroupProperties != nil {
1384		objectMap["properties"] = g.GroupProperties
1385	}
1386	return json.Marshal(objectMap)
1387}
1388
1389// UnmarshalJSON is the custom unmarshaler for Group struct.
1390func (g *Group) UnmarshalJSON(body []byte) error {
1391	var m map[string]*json.RawMessage
1392	err := json.Unmarshal(body, &m)
1393	if err != nil {
1394		return err
1395	}
1396	for k, v := range m {
1397		switch k {
1398		case "id":
1399			if v != nil {
1400				var ID string
1401				err = json.Unmarshal(*v, &ID)
1402				if err != nil {
1403					return err
1404				}
1405				g.ID = &ID
1406			}
1407		case "name":
1408			if v != nil {
1409				var name string
1410				err = json.Unmarshal(*v, &name)
1411				if err != nil {
1412					return err
1413				}
1414				g.Name = &name
1415			}
1416		case "eTag":
1417			if v != nil {
1418				var eTag string
1419				err = json.Unmarshal(*v, &eTag)
1420				if err != nil {
1421					return err
1422				}
1423				g.ETag = &eTag
1424			}
1425		case "type":
1426			if v != nil {
1427				var typeVar string
1428				err = json.Unmarshal(*v, &typeVar)
1429				if err != nil {
1430					return err
1431				}
1432				g.Type = &typeVar
1433			}
1434		case "properties":
1435			if v != nil {
1436				var groupProperties GroupProperties
1437				err = json.Unmarshal(*v, &groupProperties)
1438				if err != nil {
1439					return err
1440				}
1441				g.GroupProperties = &groupProperties
1442			}
1443		}
1444	}
1445
1446	return nil
1447}
1448
1449// GroupProperties properties of group resource.
1450type GroupProperties struct {
1451	// Machines - List of machine names that are part of this group.
1452	Machines *[]string `json:"machines,omitempty"`
1453	// Assessments - List of References to Assessments created on this group.
1454	Assessments *[]string `json:"assessments,omitempty"`
1455	// CreatedTimestamp - Time when this project was created. Date-Time represented in ISO-8601 format.
1456	CreatedTimestamp *date.Time `json:"createdTimestamp,omitempty"`
1457	// UpdatedTimestamp - Time when this project was last updated. Date-Time represented in ISO-8601 format.
1458	UpdatedTimestamp *date.Time `json:"updatedTimestamp,omitempty"`
1459}
1460
1461// GroupResultList list of groups.
1462type GroupResultList struct {
1463	autorest.Response `json:"-"`
1464	// Value - List of groups.
1465	Value *[]Group `json:"value,omitempty"`
1466}
1467
1468// Machine a machine in a migration project.
1469type Machine struct {
1470	autorest.Response `json:"-"`
1471	// ID - Path reference to this machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}
1472	ID *string `json:"id,omitempty"`
1473	// Name - Name of the machine. It is a GUID which is unique identifier of machine in private data center. For user-readable name, we have a displayName property on this machine.
1474	Name *string `json:"name,omitempty"`
1475	// ETag - For optimistic concurrency control.
1476	ETag *string `json:"eTag,omitempty"`
1477	// Type - Type of the object = [Microsoft.Migrate/projects/machines].
1478	Type *string `json:"type,omitempty"`
1479	// MachineProperties - Properties of the machine.
1480	*MachineProperties `json:"properties,omitempty"`
1481}
1482
1483// MarshalJSON is the custom marshaler for Machine.
1484func (mVar Machine) MarshalJSON() ([]byte, error) {
1485	objectMap := make(map[string]interface{})
1486	if mVar.ID != nil {
1487		objectMap["id"] = mVar.ID
1488	}
1489	if mVar.Name != nil {
1490		objectMap["name"] = mVar.Name
1491	}
1492	if mVar.ETag != nil {
1493		objectMap["eTag"] = mVar.ETag
1494	}
1495	if mVar.Type != nil {
1496		objectMap["type"] = mVar.Type
1497	}
1498	if mVar.MachineProperties != nil {
1499		objectMap["properties"] = mVar.MachineProperties
1500	}
1501	return json.Marshal(objectMap)
1502}
1503
1504// UnmarshalJSON is the custom unmarshaler for Machine struct.
1505func (mVar *Machine) UnmarshalJSON(body []byte) error {
1506	var m map[string]*json.RawMessage
1507	err := json.Unmarshal(body, &m)
1508	if err != nil {
1509		return err
1510	}
1511	for k, v := range m {
1512		switch k {
1513		case "id":
1514			if v != nil {
1515				var ID string
1516				err = json.Unmarshal(*v, &ID)
1517				if err != nil {
1518					return err
1519				}
1520				mVar.ID = &ID
1521			}
1522		case "name":
1523			if v != nil {
1524				var name string
1525				err = json.Unmarshal(*v, &name)
1526				if err != nil {
1527					return err
1528				}
1529				mVar.Name = &name
1530			}
1531		case "eTag":
1532			if v != nil {
1533				var eTag string
1534				err = json.Unmarshal(*v, &eTag)
1535				if err != nil {
1536					return err
1537				}
1538				mVar.ETag = &eTag
1539			}
1540		case "type":
1541			if v != nil {
1542				var typeVar string
1543				err = json.Unmarshal(*v, &typeVar)
1544				if err != nil {
1545					return err
1546				}
1547				mVar.Type = &typeVar
1548			}
1549		case "properties":
1550			if v != nil {
1551				var machineProperties MachineProperties
1552				err = json.Unmarshal(*v, &machineProperties)
1553				if err != nil {
1554					return err
1555				}
1556				mVar.MachineProperties = &machineProperties
1557			}
1558		}
1559	}
1560
1561	return nil
1562}
1563
1564// MachineProperties properties of a machine.
1565type MachineProperties struct {
1566	// BootType - Boot type of the machine. Possible values include: 'MachineBootTypeUnknown', 'MachineBootTypeEFI', 'MachineBootTypeBIOS'
1567	BootType MachineBootType `json:"bootType,omitempty"`
1568	// DatacenterContainer - Container defined in the management solution that this machine is part of in the datacenter.
1569	DatacenterContainer *string `json:"datacenterContainer,omitempty"`
1570	// DatacenterManagementServer - Name of the server hosting the datacenter management solution.
1571	DatacenterManagementServer *string `json:"datacenterManagementServer,omitempty"`
1572	// DatacenterMachineID - ID of the machine as tracked by the datacenter management solution.
1573	DatacenterMachineID *string `json:"datacenterMachineId,omitempty"`
1574	// DatacenterManagementServerID - ID of the server hosting the datacenter management solution.
1575	DatacenterManagementServerID *string `json:"datacenterManagementServerId,omitempty"`
1576	// Description - Description of the machine
1577	Description *string `json:"description,omitempty"`
1578	// DisplayName - User readable name of the machine as defined by the user in their private datacenter.
1579	DisplayName *string `json:"displayName,omitempty"`
1580	// MegabytesOfMemory - Memory in Megabytes.
1581	MegabytesOfMemory *float64 `json:"megabytesOfMemory,omitempty"`
1582	// NumberOfCores - Processor count.
1583	NumberOfCores *int32 `json:"numberOfCores,omitempty"`
1584	// OperatingSystem - Operating System of the machine.
1585	OperatingSystem *string `json:"operatingSystem,omitempty"`
1586	// Groups - List of references to the groups that the machine is member of.
1587	Groups *[]string `json:"groups,omitempty"`
1588	// CreatedTimestamp - Time when this machine was created. Date-Time represented in ISO-8601 format.
1589	CreatedTimestamp *date.Time `json:"createdTimestamp,omitempty"`
1590	// UpdatedTimestamp - Time when this machine was last updated. Date-Time represented in ISO-8601 format.
1591	UpdatedTimestamp *date.Time `json:"updatedTimestamp,omitempty"`
1592	// DiscoveredTimestamp - Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.
1593	DiscoveredTimestamp *date.Time `json:"discoveredTimestamp,omitempty"`
1594	// Disks - Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object
1595	Disks map[string]*Disk `json:"disks"`
1596	// NetworkAdapters - Dictionary of network adapters attached to the machine. Key is ID of network adapter. Value is a network adapter object
1597	NetworkAdapters map[string]*NetworkAdapter `json:"networkAdapters"`
1598}
1599
1600// MarshalJSON is the custom marshaler for MachineProperties.
1601func (mp MachineProperties) MarshalJSON() ([]byte, error) {
1602	objectMap := make(map[string]interface{})
1603	if mp.BootType != "" {
1604		objectMap["bootType"] = mp.BootType
1605	}
1606	if mp.DatacenterContainer != nil {
1607		objectMap["datacenterContainer"] = mp.DatacenterContainer
1608	}
1609	if mp.DatacenterManagementServer != nil {
1610		objectMap["datacenterManagementServer"] = mp.DatacenterManagementServer
1611	}
1612	if mp.DatacenterMachineID != nil {
1613		objectMap["datacenterMachineId"] = mp.DatacenterMachineID
1614	}
1615	if mp.DatacenterManagementServerID != nil {
1616		objectMap["datacenterManagementServerId"] = mp.DatacenterManagementServerID
1617	}
1618	if mp.Description != nil {
1619		objectMap["description"] = mp.Description
1620	}
1621	if mp.DisplayName != nil {
1622		objectMap["displayName"] = mp.DisplayName
1623	}
1624	if mp.MegabytesOfMemory != nil {
1625		objectMap["megabytesOfMemory"] = mp.MegabytesOfMemory
1626	}
1627	if mp.NumberOfCores != nil {
1628		objectMap["numberOfCores"] = mp.NumberOfCores
1629	}
1630	if mp.OperatingSystem != nil {
1631		objectMap["operatingSystem"] = mp.OperatingSystem
1632	}
1633	if mp.Groups != nil {
1634		objectMap["groups"] = mp.Groups
1635	}
1636	if mp.CreatedTimestamp != nil {
1637		objectMap["createdTimestamp"] = mp.CreatedTimestamp
1638	}
1639	if mp.UpdatedTimestamp != nil {
1640		objectMap["updatedTimestamp"] = mp.UpdatedTimestamp
1641	}
1642	if mp.DiscoveredTimestamp != nil {
1643		objectMap["discoveredTimestamp"] = mp.DiscoveredTimestamp
1644	}
1645	if mp.Disks != nil {
1646		objectMap["disks"] = mp.Disks
1647	}
1648	if mp.NetworkAdapters != nil {
1649		objectMap["networkAdapters"] = mp.NetworkAdapters
1650	}
1651	return json.Marshal(objectMap)
1652}
1653
1654// MachineResultList list of machines.
1655type MachineResultList struct {
1656	autorest.Response `json:"-"`
1657	// Value - List of machines.
1658	Value *[]Machine `json:"value,omitempty"`
1659}
1660
1661// NetworkAdapter a network adapter discovered on a machine.
1662type NetworkAdapter struct {
1663	// MacAddress - MAC Address of the network adapter.
1664	MacAddress *string `json:"macAddress,omitempty"`
1665	// IPAddresses - List of IP Addresses on the network adapter.
1666	IPAddresses *[]string `json:"ipAddresses,omitempty"`
1667}
1668
1669// Operation a REST API operation supported by the provider.
1670type Operation struct {
1671	// Name - Name of the operation.
1672	Name *string `json:"name,omitempty"`
1673	// Display - Displayable properties of the operation.
1674	Display *OperationDisplay `json:"display,omitempty"`
1675	// Origin - Origin of the operation.
1676	Origin *string `json:"origin,omitempty"`
1677}
1678
1679// OperationDisplay displayable properties of the operation.
1680type OperationDisplay struct {
1681	// Provider - Provider of the operation.
1682	Provider *string `json:"provider,omitempty"`
1683	// Resource - Resource operated on by the operation.
1684	Resource *string `json:"resource,omitempty"`
1685	// Operation - Operation Type.
1686	Operation *string `json:"operation,omitempty"`
1687	// Description - Description of the operation.
1688	Description *string `json:"description,omitempty"`
1689}
1690
1691// OperationResultList list of API operations.
1692type OperationResultList struct {
1693	autorest.Response `json:"-"`
1694	// Value - List of operations.
1695	Value *[]Operation `json:"value,omitempty"`
1696}
1697
1698// Project azure Migrate Project.
1699type Project struct {
1700	autorest.Response `json:"-"`
1701	// ID - Path reference to this project /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}
1702	ID *string `json:"id,omitempty"`
1703	// Name - Name of the project.
1704	Name *string `json:"name,omitempty"`
1705	// Type - Type of the object = [Microsoft.Migrate/projects].
1706	Type *string `json:"type,omitempty"`
1707	// ETag - For optimistic concurrency control.
1708	ETag *string `json:"eTag,omitempty"`
1709	// Location - Azure location in which project is created.
1710	Location *string `json:"location,omitempty"`
1711	// Tags - Tags provided by Azure Tagging service.
1712	Tags interface{} `json:"tags,omitempty"`
1713	// ProjectProperties - Properties of the project.
1714	*ProjectProperties `json:"properties,omitempty"`
1715}
1716
1717// MarshalJSON is the custom marshaler for Project.
1718func (p Project) MarshalJSON() ([]byte, error) {
1719	objectMap := make(map[string]interface{})
1720	if p.ID != nil {
1721		objectMap["id"] = p.ID
1722	}
1723	if p.Name != nil {
1724		objectMap["name"] = p.Name
1725	}
1726	if p.Type != nil {
1727		objectMap["type"] = p.Type
1728	}
1729	if p.ETag != nil {
1730		objectMap["eTag"] = p.ETag
1731	}
1732	if p.Location != nil {
1733		objectMap["location"] = p.Location
1734	}
1735	objectMap["tags"] = p.Tags
1736	if p.ProjectProperties != nil {
1737		objectMap["properties"] = p.ProjectProperties
1738	}
1739	return json.Marshal(objectMap)
1740}
1741
1742// UnmarshalJSON is the custom unmarshaler for Project struct.
1743func (p *Project) UnmarshalJSON(body []byte) error {
1744	var m map[string]*json.RawMessage
1745	err := json.Unmarshal(body, &m)
1746	if err != nil {
1747		return err
1748	}
1749	for k, v := range m {
1750		switch k {
1751		case "id":
1752			if v != nil {
1753				var ID string
1754				err = json.Unmarshal(*v, &ID)
1755				if err != nil {
1756					return err
1757				}
1758				p.ID = &ID
1759			}
1760		case "name":
1761			if v != nil {
1762				var name string
1763				err = json.Unmarshal(*v, &name)
1764				if err != nil {
1765					return err
1766				}
1767				p.Name = &name
1768			}
1769		case "type":
1770			if v != nil {
1771				var typeVar string
1772				err = json.Unmarshal(*v, &typeVar)
1773				if err != nil {
1774					return err
1775				}
1776				p.Type = &typeVar
1777			}
1778		case "eTag":
1779			if v != nil {
1780				var eTag string
1781				err = json.Unmarshal(*v, &eTag)
1782				if err != nil {
1783					return err
1784				}
1785				p.ETag = &eTag
1786			}
1787		case "location":
1788			if v != nil {
1789				var location string
1790				err = json.Unmarshal(*v, &location)
1791				if err != nil {
1792					return err
1793				}
1794				p.Location = &location
1795			}
1796		case "tags":
1797			if v != nil {
1798				var tags interface{}
1799				err = json.Unmarshal(*v, &tags)
1800				if err != nil {
1801					return err
1802				}
1803				p.Tags = tags
1804			}
1805		case "properties":
1806			if v != nil {
1807				var projectProperties ProjectProperties
1808				err = json.Unmarshal(*v, &projectProperties)
1809				if err != nil {
1810					return err
1811				}
1812				p.ProjectProperties = &projectProperties
1813			}
1814		}
1815	}
1816
1817	return nil
1818}
1819
1820// ProjectKey ID and Key for Migration Project.
1821type ProjectKey struct {
1822	autorest.Response `json:"-"`
1823	// WorkspaceID - ID of Migration Project.
1824	WorkspaceID *string `json:"workspaceId,omitempty"`
1825	// WorkspaceKey - Key of Migration Project.
1826	WorkspaceKey *string `json:"workspaceKey,omitempty"`
1827}
1828
1829// ProjectProperties properties of a project.
1830type ProjectProperties struct {
1831	// CreatedTimestamp - Time when this project was created. Date-Time represented in ISO-8601 format.
1832	CreatedTimestamp *date.Time `json:"createdTimestamp,omitempty"`
1833	// UpdatedTimestamp - Time when this project was last updated. Date-Time represented in ISO-8601 format.
1834	UpdatedTimestamp *date.Time `json:"updatedTimestamp,omitempty"`
1835	// DiscoveryStatus - Reports whether project is under discovery. Possible values include: 'DiscoveryStatusUnknown', 'DiscoveryStatusNotStarted', 'DiscoveryStatusInProgress', 'DiscoveryStatusCompleted'
1836	DiscoveryStatus DiscoveryStatus `json:"discoveryStatus,omitempty"`
1837	// CustomerWorkspaceID - ARM ID of the Service Map workspace created by user.
1838	CustomerWorkspaceID *string `json:"customerWorkspaceId,omitempty"`
1839	// CustomerWorkspaceLocation - Location of the Service Map workspace created by user.
1840	CustomerWorkspaceLocation *string `json:"customerWorkspaceLocation,omitempty"`
1841	// LastDiscoveryTimestamp - Time when this project was created. Date-Time represented in ISO-8601 format. This value will be null until discovery is complete.
1842	LastDiscoveryTimestamp *date.Time `json:"lastDiscoveryTimestamp,omitempty"`
1843	// LastDiscoverySessionID - Session id of the last discovery.
1844	LastDiscoverySessionID *string `json:"lastDiscoverySessionId,omitempty"`
1845	// NumberOfGroups - Number of groups created in the project.
1846	NumberOfGroups *int32 `json:"numberOfGroups,omitempty"`
1847	// NumberOfMachines - Number of machines in the project.
1848	NumberOfMachines *int32 `json:"numberOfMachines,omitempty"`
1849	// NumberOfAssessments - Number of assessments created in the project.
1850	NumberOfAssessments *int32 `json:"numberOfAssessments,omitempty"`
1851	// LastAssessmentTimestamp - Time when last assessment was created. Date-Time represented in ISO-8601 format. This value will be null until assessment is created.
1852	LastAssessmentTimestamp *date.Time `json:"lastAssessmentTimestamp,omitempty"`
1853	// ProvisioningState - Provisioning state of the project. Possible values include: 'Accepted', 'Creating', 'Deleting', 'Failed', 'Moving', 'Succeeded'
1854	ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
1855}
1856
1857// ProjectResultList list of projects.
1858type ProjectResultList struct {
1859	autorest.Response `json:"-"`
1860	// Value - List of projects.
1861	Value *[]Project `json:"value,omitempty"`
1862}
1863