-
Notifications
You must be signed in to change notification settings - Fork 3
/
generated_models.go
490 lines (393 loc) · 17 KB
/
generated_models.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
//go:build go1.18
// +build go1.18
// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.2, generator: @autorest/go@4.0.0-preview.44)
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// DO NOT EDIT.
package appcatalog
// Artifact - Plan level resources and configuration files
type Artifact struct {
// Artifact type
ArtifactType *ArtifactArtifactType `json:"artifactType,omitempty"`
// Artifact name
Name *string `json:"name,omitempty"`
// Artifact uri
URI *string `json:"uri,omitempty"`
}
// ErrorResponse - The search error response object
type ErrorResponse struct {
// The search error response details
Error *ErrorResponseDetails `json:"error,omitempty"`
}
// ErrorResponseDetails - The search error response details object
type ErrorResponseDetails struct {
// The error code description. Such as code=InternalError
Code *string `json:"code,omitempty"`
// The error message. Such as message=Internal server error
Message *string `json:"message,omitempty"`
}
// FacetValue - The facet value
type FacetValue struct {
// The facet count
Count *int64 `json:"count,omitempty"`
}
// FacetsItem - The facets item
type FacetsItem struct {
// The facet values
FacetValues map[string]*FacetValue `json:"facetValues,omitempty"`
}
// LeadGeneration - Lead generation information
type LeadGeneration struct {
// The productId
ProductID *string `json:"productId,omitempty"`
}
// Links to publisher external references documents
type Link struct {
// Display name of the link
DisplayName *string `json:"displayName,omitempty"`
// Id of the link
ID *string `json:"id,omitempty"`
// URI of the link
URI *string `json:"uri,omitempty"`
}
// MarketStartPrice - The product starting price
type MarketStartPrice struct {
// Currency for price.
Currency *string `json:"currency,omitempty"`
// The market for which the starting price is calculated.
Market *string `json:"market,omitempty"`
// The meters pricing model units.
MeterUnits *string `json:"meterUnits,omitempty"`
// Starting (minimal) meters price.
MinMeterPrice *float64 `json:"minMeterPrice,omitempty"`
// Starting (minimal) terms price.
MinTermPrice *float64 `json:"minTermPrice,omitempty"`
// The terms pricing model units.
TermUnits *string `json:"termUnits,omitempty"`
}
// PlanMetadata - Additional metadata
type PlanMetadata struct {
// Pointing to a planId which holds the alternative stack reference
AltStackReference *string `json:"altStackReference,omitempty"`
// The VM image generation, see https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2
Generation *string `json:"generation,omitempty"`
// Pointing to a planId that is related to this plan
RelatedSKUs []*PlanSKURelation `json:"relatedSkus,omitempty"`
}
// PlanSKURelation - Related plan information
type PlanSKURelation struct {
// Relation Type
RelationType *string `json:"relationType,omitempty"`
// The Sku
SKU *PlanSKURelationSKU `json:"sku,omitempty"`
}
// PlanSKURelationSKU - The Sku
type PlanSKURelationSKU struct {
// The Generation
Generation *string `json:"generation,omitempty"`
// The Identity
Identity *string `json:"identity,omitempty"`
// The Name
Name *string `json:"name,omitempty"`
}
// PlanSummary - Summary description of the plan
type PlanSummary struct {
// Plan level resources and configuration files
Artifacts []*Artifact `json:"artifacts,omitempty"`
// A value indicating whether the product is available for purchase through CSP channel
CspState *PlanSummaryCspState `json:"cspState,omitempty"`
// The description
Description *string `json:"description,omitempty"`
// Display name of the plan
DisplayName *string `json:"displayName,omitempty"`
// The display rank
DisplayRank *string `json:"displayRank,omitempty"`
// Indication that the plan is accessible to restricted audience only
IsPrivate *bool `json:"isPrivate,omitempty"`
// A value indicating whether the plan is quantifiable
IsQuantifiable *bool `json:"isQuantifiable,omitempty"`
// Lead generation information
LeadGeneration *PlanSummaryLeadGeneration `json:"leadGeneration,omitempty"`
// Additional metadata
Metadata *PlanSummaryMetadata `json:"metadata,omitempty"`
// Plan id
PlanID *string `json:"planId,omitempty"`
// The list of the pricing types for which this plan is designated
PricingTypes []*PricingType `json:"pricingTypes,omitempty"`
// The percentage discount for third party virtual machines software reservations
PurchaseDurationDiscounts []*PurchaseDurationDiscount `json:"purchaseDurationDiscounts,omitempty"`
// The sku id
SKUID *string `json:"skuId,omitempty"`
// The summary
Summary *string `json:"summary,omitempty"`
// The plan type, for Azure Application product type, this can be Solution Template or ManagedApp
Type *ProductType `json:"type,omitempty"`
// What Azure portal view to open when someone wants to create a marketplace item
UIDefinitionURI *string `json:"uiDefinitionUri,omitempty"`
// Unique plan Id which is obtained by combining uniqueProductId1 and PlanId with no separator in between
UniquePlanID *string `json:"uniquePlanId,omitempty"`
// The VM image architecture type, x64, ARM
VMArchitectureType *string `json:"vmArchitectureType,omitempty"`
// VM security types
VMSecurityTypes []*VMSecurityType `json:"vmSecurityTypes,omitempty"`
}
// PlanSummaryLeadGeneration - Lead generation information
type PlanSummaryLeadGeneration struct {
// The productId
ProductID *string `json:"productId,omitempty"`
}
// PlanSummaryMetadata - Additional metadata
type PlanSummaryMetadata struct {
// Pointing to a planId which holds the alternative stack reference
AltStackReference *string `json:"altStackReference,omitempty"`
// The VM image generation, see https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2
Generation *string `json:"generation,omitempty"`
// Pointing to a planId that is related to this plan
RelatedSKUs []*PlanSKURelation `json:"relatedSkus,omitempty"`
}
// ProductSummary - Summary description of the product
type ProductSummary struct {
// Eligibility for Azure consumption commitment benefit (https://docs.microsoft.com/en-us/marketplace/azure-consumption-commitment-benefit),
// Possible values: Eligible, NotEligible, if no value selected,
// this filter is ignored. Default: null
AzureBenefit *ProductSummaryAzureBenefit `json:"azureBenefit,omitempty"`
// The following product badges are available: preferredSolution, powerBICertified, AdditionalPurchaseRequirement
Badges []*Badge `json:"badges,omitempty"`
// Array of product categories, https://docs.microsoft.com/en-us/azure/marketplace/marketplace-categories-industries#categories.
// Such as 'Productivity'
CategoryIDs []*string `json:"categoryIds,omitempty"`
// The CSP legal terms URI
CspLegalTermsURI *string `json:"cspLegalTermsUri,omitempty"`
// The product description text
Description *string `json:"description,omitempty"`
// Display name
DisplayName *string `json:"displayName,omitempty"`
// URI to the large product icon
LargeIconURI *string `json:"largeIconUri,omitempty"`
// The legal terms type
LegalTermsType *string `json:"legalTermsType,omitempty"`
// The legal terms uri
LegalTermsURI *string `json:"legalTermsUri,omitempty"`
// List of linked Add Ins supported by the product
LinkedAddIns []*string `json:"linkedAddIns,omitempty"`
// Links provided by the publisher
Links []*Link `json:"links,omitempty"`
// URI to the medium product icon
MediumIconURI *string `json:"mediumIconUri,omitempty"`
// Array of operating systems to search by, if none selected then filter is ignored, this is relevant for Virtual Machine
// product type only. Such as operatingSystems=windows,linux
OperatingSystems []*string `json:"operatingSystems,omitempty"`
// List of plans that are available for this product
Plans []*PlanSummary `json:"plans,omitempty"`
// Popularity of the product
Popularity *float64 `json:"popularity,omitempty"`
// The list of the pricing types for which this offer is designated
PricingTypes []*PricingType `json:"pricingTypes,omitempty"`
// The Privacy Policy Uri
PrivacyPolicyURI *string `json:"privacyPolicyUri,omitempty"`
// The delivery method, deployment model
ProductType *ProductSummaryProductType `json:"productType,omitempty"`
// Publisher display name
PublisherDisplayName *string `json:"publisherDisplayName,omitempty"`
// Publisher id
PublisherID *string `json:"publisherId,omitempty"`
// Microsoft or third-party publisher
PublisherType *ProductSummaryPublisherType `json:"publisherType,omitempty"`
// Publishing Stage, can be Live or Preview
PublishingStage *ProductSummaryPublishingStage `json:"publishingStage,omitempty"`
// Average rating for the offer
RatingAverage *float64 `json:"ratingAverage,omitempty"`
// Rating buckets, Above1, Above2, Above3, Above4. Above5
RatingBuckets []*RatingBucket `json:"ratingBuckets,omitempty"`
// The Screenshots
Screenshots []*string `json:"screenshots,omitempty"`
// URI to the small product icon
SmallIconURI *string `json:"smallIconUri,omitempty"`
// The offer starting price
StartingPrice *MarketStartPrice `json:"startingPrice,omitempty"`
// Product Summary
Summary *string `json:"summary,omitempty"`
// The publisher support URL
SupportURI *string `json:"supportUri,omitempty"`
// Product unique identifier
UniqueProductID *string `json:"uniqueProductId,omitempty"`
// Array of Virtual Machine image architecture types to search by, 1-x64, 2-ARM. Such as '1'
VMArchitectureTypes []*string `json:"vmArchitectureTypes,omitempty"`
// Array of vm generations to search by, see Azure support for generation 2 VMs - Azure Virtual Machines | Microsoft Docs,
// Possible values, 1,2. Such as '1'
VMImageGenerations []*string `json:"vmImageGenerations,omitempty"`
// Vm security types, Possible values, Trusted, Confidential, None.
VMSecurityTypes []*VMSecurityType `json:"vmSecurityTypes,omitempty"`
// The product version
Version *string `json:"version,omitempty"`
// URI to the wide product icon
WideIconURI *string `json:"wideIconUri,omitempty"`
}
// PurchaseDurationDiscount - The percentage discount for 3rd party virtual machines software reservations
type PurchaseDurationDiscount struct {
// The discountPercentage
DiscountPercentage *float64 `json:"discountPercentage,omitempty"`
// The duration
Duration *string `json:"duration,omitempty"`
}
// RelatedSKU - Pointing to a planId that is related to this plan
type RelatedSKU struct {
// The Generation
Generation *string `json:"generation,omitempty"`
// The Identity
Identity *string `json:"identity,omitempty"`
// The Name
Name *string `json:"name,omitempty"`
}
// SearchResponse - Search response object
type SearchResponse struct {
// The search facets
Facets map[string]*FacetsItem `json:"facets,omitempty"`
// URL to get the next page of API search
NextLink *string `json:"nextLink,omitempty"`
// The results
Results []*ProductSummary `json:"results,omitempty"`
// The showing results for
ShowingResultsFor *string `json:"showingResultsFor,omitempty"`
// The total count
TotalCount *int64 `json:"totalCount,omitempty"`
}
// searchClientGetOptions contains the optional parameters for the searchClient.Get method.
type searchClientGetOptions struct {
// Array of M365 products applicable. Such as 'Office365'
ApplicableProducts []string
// Define the search for only azure benefit eligible offers, if no value selected, this filter is ignored. Default: null.
// * Eligible: Eligible.
// * NotEligible: Not Eligible.
AzureBenefit *AzureBenefit
// The following product badges are available:
// * PreferredSolution: Preferred Solution.
// * PowerBICertified: power BI Certified.
// * AdditionalPurchaseRequirement: Additional Purchase Requirement.
Badges []Badge
// Array of product categories, https://docs.microsoft.com/en-us/azure/marketplace/marketplace-categories-industries#categories.
// Such as 'Productivity'
CategoryIDs []string
// Array facets to facet by, if none selected then no facets will return. Such as facets=pricingTypes,operatingSystems.
// * All: All fields.
// * Popularity: Popularity.
// * ApplicableProducts: Applicable Products.
// * CategoryIds: Category Ids.
// * Market: Market.
// * LinkedAddIns: Linked AddIns.
// * SupportedProducts: Supported Products.
// * HideKeys: Hide Keys.
// * PublisherId: Publisher Id.
// * CspStates: Csp States.
// * DisplayName: Display Name.
// * AzureBenefit: Azure Benefit.
// * Badges: Badges.
// * SmallIconUri: Small Icon Uri.
// * MediumIconUri: Medium Icon Uri.
// * LargeIconUri: Large Icon Uri.
// * WideIconUri: Wide Icon Uri.
// * IndustryCloud: Industry Cloud.
// * PublisherType: Publisher Type.
// * PublishingState: Publishing State.
// * Language: Language.
// * UniqueProductId: Unique Product Id.
// * ProductType: Product Type.
// * Plans: Plans.
// * OperatingSystems: Operating Systems.
// * PricingTypes: Pricing Types.
// * PublisherDisplayName: Publisher Display Name.
// * Summary: Summary.
// * VmImageGenerations: Vm Image Generations.
// * VmSecurityTypes: Vm Security Types.
// * VmArchitectureTypes: Vm Architecture Types.
// * Description: Description.
// * RatingBuckets: Rating Buckets.
// * RatingAverage: Rating Average.
Facets []SearchV2FieldName
// Gallery to search by. Such as Azure
Gallery *Gallery
// Array of hideKeys for preview search by. Such as '22c6b3ae-1111-1111-1111-e7cbdc8569dd'
HideKeys []string
// Array of Product industries, Possible values - https://docs.microsoft.com/en-us/azure/marketplace/marketplace-categories-industries#industries.
// Such as 'retailers'
Industries []string
// Define the search for IndustryCloud offers. Default: NotApplicable.
// * NotApplicable: Not Applicable.
// * True: True.
// * False: False.
IndustryCloud *IndustryCloud
// Array of linkedAddIns to search by, For SaaS products only, https://docs.microsoft.com/en-us/azure/marketplace/monetize-addins-through-microsoft-commercial-marketplace.
LinkedAddIns []string
// Array of operating systems to search by, if none selected then filter is ignored, this is relevant for Virtual Machine
// product type only. Such as operatingSystems=windows,linux
OperatingSystems []string
// Array of sort by fields to order by, if none selected then ignored. For example, orderby=Popularity
Orderby []string
// Array of pricing types to search by.
// * Free: The product has at least one plan that is free of charge.
// * FreeTrial: The product has at least one plan that is free trial.
// * Byol: The product has at least one plan that is bring your own license.
// * Payg: The product has at least one plan that is Pay as you go, usage based billing model.
// * RI: The product has at least one plan that is Reserved Instance billing model.
PricingTypes []PricingType
// Array of product types to search by. Such as 'VirtualMachine'.
// * None: None.
// * DevService: Dev Service.
// * ManagedApplication: Managed Application.
// * VirtualMachine: Virtual Machine.
// * AzureApplication: Azure Application.
// * Container: Container.
// * SaaS: SaaS.
// * SolutionTemplate: Solution Template.
// * IotEdgeModules: Iot Edge Modules.
// * ManagedServices: Managed Services.
// * ContainerApps: Container Apps.
// * VisualStudioExtension: Visual Studio Extension.
// * DynamicsOps: Dynamics Ops.
// * DynamicsCE: Dynamics CE.
// * DynamicsBC: Dynamics BC.
// * PowerBI: PowerBI.
// * ConsultingServices: Consulting Services.
// * CosellOnly: Cosell Only.
// * CoreVirtualMachine: Core Virtual Machine.
// * PowerBIVisuals: PowerBI Visuals.
// * Office365: Office365.
// * AADApps: Azure Active Directory Apps.
// * AzureServices: Azure Services
ProductTypes []ProductType
// The search publisher name. Such as publisherDisplayName=red hat
PublisherDisplayName *string
// Array of publisher ids to return. Such as 'Microsoft'
PublisherIDs []string
// Define the search publisher types, Possible values: Microsoft, ThirdParty. Default: Microsoft.
// * Microsoft: Microsoft.
// * ThirdParty: Third Party.
PublisherTypes []PublisherType
// Audience. Default: Preview.
// * Preview: Preview.
// * Public: Public
PublishingStage *PublishingStage
// Array of azure portal rating buckets to search by. Such as 'Above1'.
// * AboveOne: Above One.
// * AboveTwo: Above Two.
// * AboveThree: Above Three.
// * AboveFour: Above Four
RatingBuckets []RatingBucket
// The search text. Such as searchQuery=red hat
SearchQuery *string
// Number of items to skip. Minimum: 0
Skip *int32
// Array of supported products to search by. Such as 'CRM'
SupportedProducts []string
// Number of items to return. Minimum: 0, Maximum: 50000, Default: 20.
Top *int32
// Array of Virtual Machine image architecture types to search by, 1-x64, 2-ARM. Such as '1'
VMArchitectureTypes []string
// Array of vm generations to search by, See Azure support for generation 2 VMs - Azure Virtual Machines | Microsoft Docs,
// Possible values, 1,2. Such as '1'
VMImageGenerations []string
// Array of vm security types to search by. Such as 'Trusted'.
// * None: None.
// * Trusted: Trusted.
// * Confidential: Confidential
VMSecurityTypes []VMSecurityType
}