1// +build go1.13 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. See License.txt in the project root for license information. 5// Code generated by Microsoft (R) AutoRest Code Generator. 6// Changes may cause incorrect behavior and will be lost if the code is regenerated. 7 8package armapimanagement 9 10import ( 11 "encoding/json" 12 "github.com/Azure/azure-sdk-for-go/sdk/azcore" 13 "reflect" 14 "time" 15) 16 17// APIBeginCreateOrUpdateOptions contains the optional parameters for the API.BeginCreateOrUpdate method. 18type APIBeginCreateOrUpdateOptions struct { 19 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 20 IfMatch *string 21} 22 23// APICollection - Paged Api list representation. 24type APICollection struct { 25 // Total record count number across all pages. 26 Count *int64 `json:"count,omitempty"` 27 28 // READ-ONLY; Next page link if any. 29 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 30 31 // READ-ONLY; Page values. 32 Value []*APIContract `json:"value,omitempty" azure:"ro"` 33} 34 35// MarshalJSON implements the json.Marshaller interface for type APICollection. 36func (a APICollection) MarshalJSON() ([]byte, error) { 37 objectMap := make(map[string]interface{}) 38 populate(objectMap, "count", a.Count) 39 populate(objectMap, "nextLink", a.NextLink) 40 populate(objectMap, "value", a.Value) 41 return json.Marshal(objectMap) 42} 43 44// APIContract - Api details. 45type APIContract struct { 46 Resource 47 // Api entity contract properties. 48 Properties *APIContractProperties `json:"properties,omitempty"` 49} 50 51// MarshalJSON implements the json.Marshaller interface for type APIContract. 52func (a APIContract) MarshalJSON() ([]byte, error) { 53 objectMap := a.Resource.marshalInternal() 54 populate(objectMap, "properties", a.Properties) 55 return json.Marshal(objectMap) 56} 57 58// APIContractProperties - Api Entity Properties 59type APIContractProperties struct { 60 APIEntityBaseContract 61 // REQUIRED; Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the 62 // API endpoint base URL specified during the service instance 63 // creation to form a public URL for this API. 64 Path *string `json:"path,omitempty"` 65 66 // Version set details 67 APIVersionSet *APIVersionSetContractDetails `json:"apiVersionSet,omitempty"` 68 69 // API name. Must be 1 to 300 characters long. 70 DisplayName *string `json:"displayName,omitempty"` 71 72 // Describes on which protocols the operations in this API can be invoked. 73 Protocols []*Protocol `json:"protocols,omitempty"` 74 75 // Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. 76 ServiceURL *string `json:"serviceUrl,omitempty"` 77 78 // API identifier of the source API. 79 SourceAPIID *string `json:"sourceApiId,omitempty"` 80} 81 82// MarshalJSON implements the json.Marshaller interface for type APIContractProperties. 83func (a APIContractProperties) MarshalJSON() ([]byte, error) { 84 objectMap := a.marshalInternal() 85 return json.Marshal(objectMap) 86} 87 88func (a APIContractProperties) marshalInternal() map[string]interface{} { 89 objectMap := a.APIEntityBaseContract.marshalInternal() 90 populate(objectMap, "apiVersionSet", a.APIVersionSet) 91 populate(objectMap, "displayName", a.DisplayName) 92 populate(objectMap, "path", a.Path) 93 populate(objectMap, "protocols", a.Protocols) 94 populate(objectMap, "serviceUrl", a.ServiceURL) 95 populate(objectMap, "sourceApiId", a.SourceAPIID) 96 return objectMap 97} 98 99// APIContractUpdateProperties - API update contract properties. 100type APIContractUpdateProperties struct { 101 APIEntityBaseContract 102 // API name. 103 DisplayName *string `json:"displayName,omitempty"` 104 105 // Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint 106 // base URL specified during the service instance 107 // creation to form a public URL for this API. 108 Path *string `json:"path,omitempty"` 109 110 // Describes on which protocols the operations in this API can be invoked. 111 Protocols []*Protocol `json:"protocols,omitempty"` 112 113 // Absolute URL of the backend service implementing this API. 114 ServiceURL *string `json:"serviceUrl,omitempty"` 115} 116 117// MarshalJSON implements the json.Marshaller interface for type APIContractUpdateProperties. 118func (a APIContractUpdateProperties) MarshalJSON() ([]byte, error) { 119 objectMap := a.APIEntityBaseContract.marshalInternal() 120 populate(objectMap, "displayName", a.DisplayName) 121 populate(objectMap, "path", a.Path) 122 populate(objectMap, "protocols", a.Protocols) 123 populate(objectMap, "serviceUrl", a.ServiceURL) 124 return json.Marshal(objectMap) 125} 126 127// APICreateOrUpdateParameter - API Create or Update Parameters. 128type APICreateOrUpdateParameter struct { 129 // Api entity create of update properties. 130 Properties *APICreateOrUpdateProperties `json:"properties,omitempty"` 131} 132 133// APICreateOrUpdateProperties - Api Create or Update Properties. 134type APICreateOrUpdateProperties struct { 135 APIContractProperties 136 // Format of the Content in which the API is getting imported. 137 Format *ContentFormat `json:"format,omitempty"` 138 139 // Type of Api to create. 140 // * http creates a SOAP to REST API 141 // * soap creates a SOAP pass-through API . 142 SoapAPIType *SoapAPIType `json:"apiType,omitempty"` 143 144 // Content value when Importing an API. 145 Value *string `json:"value,omitempty"` 146 147 // Criteria to limit import of WSDL to a subset of the document. 148 WsdlSelector *APICreateOrUpdatePropertiesWsdlSelector `json:"wsdlSelector,omitempty"` 149} 150 151// MarshalJSON implements the json.Marshaller interface for type APICreateOrUpdateProperties. 152func (a APICreateOrUpdateProperties) MarshalJSON() ([]byte, error) { 153 objectMap := a.APIContractProperties.marshalInternal() 154 populate(objectMap, "format", a.Format) 155 populate(objectMap, "apiType", a.SoapAPIType) 156 populate(objectMap, "value", a.Value) 157 populate(objectMap, "wsdlSelector", a.WsdlSelector) 158 return json.Marshal(objectMap) 159} 160 161// APICreateOrUpdatePropertiesWsdlSelector - Criteria to limit import of WSDL to a subset of the document. 162type APICreateOrUpdatePropertiesWsdlSelector struct { 163 // Name of endpoint(port) to import from WSDL 164 WsdlEndpointName *string `json:"wsdlEndpointName,omitempty"` 165 166 // Name of service to import from WSDL 167 WsdlServiceName *string `json:"wsdlServiceName,omitempty"` 168} 169 170// APIDeleteOptions contains the optional parameters for the API.Delete method. 171type APIDeleteOptions struct { 172 // Delete all revisions of the Api. 173 DeleteRevisions *bool 174} 175 176// APIDiagnosticCreateOrUpdateOptions contains the optional parameters for the APIDiagnostic.CreateOrUpdate method. 177type APIDiagnosticCreateOrUpdateOptions struct { 178 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 179 IfMatch *string 180} 181 182// APIDiagnosticDeleteOptions contains the optional parameters for the APIDiagnostic.Delete method. 183type APIDiagnosticDeleteOptions struct { 184 // placeholder for future optional parameters 185} 186 187// APIDiagnosticGetEntityTagOptions contains the optional parameters for the APIDiagnostic.GetEntityTag method. 188type APIDiagnosticGetEntityTagOptions struct { 189 // placeholder for future optional parameters 190} 191 192// APIDiagnosticGetOptions contains the optional parameters for the APIDiagnostic.Get method. 193type APIDiagnosticGetOptions struct { 194 // placeholder for future optional parameters 195} 196 197// APIDiagnosticListByServiceOptions contains the optional parameters for the APIDiagnostic.ListByService method. 198type APIDiagnosticListByServiceOptions struct { 199 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 200 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 201 Filter *string 202 // Number of records to skip. 203 Skip *int32 204 // Number of records to return. 205 Top *int32 206} 207 208// APIDiagnosticUpdateOptions contains the optional parameters for the APIDiagnostic.Update method. 209type APIDiagnosticUpdateOptions struct { 210 // placeholder for future optional parameters 211} 212 213// APIEntityBaseContract - API base contract details. 214type APIEntityBaseContract struct { 215 // Describes the Revision of the Api. If no value is provided, default revision 1 is created 216 APIRevision *string `json:"apiRevision,omitempty"` 217 218 // Description of the Api Revision. 219 APIRevisionDescription *string `json:"apiRevisionDescription,omitempty"` 220 221 // Type of API. 222 APIType *APIType `json:"type,omitempty"` 223 224 // Indicates the Version identifier of the API if the API is versioned 225 APIVersion *string `json:"apiVersion,omitempty"` 226 227 // Description of the Api Version. 228 APIVersionDescription *string `json:"apiVersionDescription,omitempty"` 229 230 // A resource identifier for the related ApiVersionSet. 231 APIVersionSetID *string `json:"apiVersionSetId,omitempty"` 232 233 // Collection of authentication settings included into this API. 234 AuthenticationSettings *AuthenticationSettingsContract `json:"authenticationSettings,omitempty"` 235 236 // Description of the API. May include HTML formatting tags. 237 Description *string `json:"description,omitempty"` 238 239 // Indicates if API revision is current api revision. 240 IsCurrent *bool `json:"isCurrent,omitempty"` 241 242 // Protocols over which API is made available. 243 SubscriptionKeyParameterNames *SubscriptionKeyParameterNamesContract `json:"subscriptionKeyParameterNames,omitempty"` 244 245 // Specifies whether an API or Product subscription is required for accessing the API. 246 SubscriptionRequired *bool `json:"subscriptionRequired,omitempty"` 247 248 // READ-ONLY; Indicates if API revision is accessible via the gateway. 249 IsOnline *bool `json:"isOnline,omitempty" azure:"ro"` 250} 251 252// MarshalJSON implements the json.Marshaller interface for type APIEntityBaseContract. 253func (a APIEntityBaseContract) MarshalJSON() ([]byte, error) { 254 objectMap := a.marshalInternal() 255 return json.Marshal(objectMap) 256} 257 258func (a APIEntityBaseContract) marshalInternal() map[string]interface{} { 259 objectMap := make(map[string]interface{}) 260 populate(objectMap, "apiRevision", a.APIRevision) 261 populate(objectMap, "apiRevisionDescription", a.APIRevisionDescription) 262 populate(objectMap, "type", a.APIType) 263 populate(objectMap, "apiVersion", a.APIVersion) 264 populate(objectMap, "apiVersionDescription", a.APIVersionDescription) 265 populate(objectMap, "apiVersionSetId", a.APIVersionSetID) 266 populate(objectMap, "authenticationSettings", a.AuthenticationSettings) 267 populate(objectMap, "description", a.Description) 268 populate(objectMap, "isCurrent", a.IsCurrent) 269 populate(objectMap, "isOnline", a.IsOnline) 270 populate(objectMap, "subscriptionKeyParameterNames", a.SubscriptionKeyParameterNames) 271 populate(objectMap, "subscriptionRequired", a.SubscriptionRequired) 272 return objectMap 273} 274 275// APIExportGetOptions contains the optional parameters for the APIExport.Get method. 276type APIExportGetOptions struct { 277 // placeholder for future optional parameters 278} 279 280// APIExportResult - API Export result. 281type APIExportResult struct { 282 // Format in which the Api Details are exported to the Storage Blob with Sas Key valid for 5 minutes. 283 ExportResultFormat *ExportResultFormat `json:"format,omitempty"` 284 285 // ResourceId of the API which was exported. 286 ID *string `json:"id,omitempty"` 287 288 // The object defining the schema of the exported Api Detail 289 Value *APIExportResultValue `json:"value,omitempty"` 290} 291 292// APIExportResultValue - The object defining the schema of the exported Api Detail 293type APIExportResultValue struct { 294 // Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes. 295 Link *string `json:"link,omitempty"` 296} 297 298// APIGetEntityTagOptions contains the optional parameters for the API.GetEntityTag method. 299type APIGetEntityTagOptions struct { 300 // placeholder for future optional parameters 301} 302 303// APIGetOptions contains the optional parameters for the API.Get method. 304type APIGetOptions struct { 305 // placeholder for future optional parameters 306} 307 308// APIIssueAttachmentCreateOrUpdateOptions contains the optional parameters for the APIIssueAttachment.CreateOrUpdate method. 309type APIIssueAttachmentCreateOrUpdateOptions struct { 310 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 311 IfMatch *string 312} 313 314// APIIssueAttachmentDeleteOptions contains the optional parameters for the APIIssueAttachment.Delete method. 315type APIIssueAttachmentDeleteOptions struct { 316 // placeholder for future optional parameters 317} 318 319// APIIssueAttachmentGetEntityTagOptions contains the optional parameters for the APIIssueAttachment.GetEntityTag method. 320type APIIssueAttachmentGetEntityTagOptions struct { 321 // placeholder for future optional parameters 322} 323 324// APIIssueAttachmentGetOptions contains the optional parameters for the APIIssueAttachment.Get method. 325type APIIssueAttachmentGetOptions struct { 326 // placeholder for future optional parameters 327} 328 329// APIIssueAttachmentListByServiceOptions contains the optional parameters for the APIIssueAttachment.ListByService method. 330type APIIssueAttachmentListByServiceOptions struct { 331 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 332 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 333 // endswith |</br> 334 Filter *string 335 // Number of records to skip. 336 Skip *int32 337 // Number of records to return. 338 Top *int32 339} 340 341// APIIssueCommentCreateOrUpdateOptions contains the optional parameters for the APIIssueComment.CreateOrUpdate method. 342type APIIssueCommentCreateOrUpdateOptions struct { 343 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 344 IfMatch *string 345} 346 347// APIIssueCommentDeleteOptions contains the optional parameters for the APIIssueComment.Delete method. 348type APIIssueCommentDeleteOptions struct { 349 // placeholder for future optional parameters 350} 351 352// APIIssueCommentGetEntityTagOptions contains the optional parameters for the APIIssueComment.GetEntityTag method. 353type APIIssueCommentGetEntityTagOptions struct { 354 // placeholder for future optional parameters 355} 356 357// APIIssueCommentGetOptions contains the optional parameters for the APIIssueComment.Get method. 358type APIIssueCommentGetOptions struct { 359 // placeholder for future optional parameters 360} 361 362// APIIssueCommentListByServiceOptions contains the optional parameters for the APIIssueComment.ListByService method. 363type APIIssueCommentListByServiceOptions struct { 364 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 365 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 366 // endswith |</br> 367 Filter *string 368 // Number of records to skip. 369 Skip *int32 370 // Number of records to return. 371 Top *int32 372} 373 374// APIIssueCreateOrUpdateOptions contains the optional parameters for the APIIssue.CreateOrUpdate method. 375type APIIssueCreateOrUpdateOptions struct { 376 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 377 IfMatch *string 378} 379 380// APIIssueDeleteOptions contains the optional parameters for the APIIssue.Delete method. 381type APIIssueDeleteOptions struct { 382 // placeholder for future optional parameters 383} 384 385// APIIssueGetEntityTagOptions contains the optional parameters for the APIIssue.GetEntityTag method. 386type APIIssueGetEntityTagOptions struct { 387 // placeholder for future optional parameters 388} 389 390// APIIssueGetOptions contains the optional parameters for the APIIssue.Get method. 391type APIIssueGetOptions struct { 392 // Expand the comment attachments. 393 ExpandCommentsAttachments *bool 394} 395 396// APIIssueListByServiceOptions contains the optional parameters for the APIIssue.ListByService method. 397type APIIssueListByServiceOptions struct { 398 // Expand the comment attachments. 399 ExpandCommentsAttachments *bool 400 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 401 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 402 // endswith |</br>| state | filter | eq | |</br> 403 Filter *string 404 // Number of records to skip. 405 Skip *int32 406 // Number of records to return. 407 Top *int32 408} 409 410// APIIssueUpdateOptions contains the optional parameters for the APIIssue.Update method. 411type APIIssueUpdateOptions struct { 412 // placeholder for future optional parameters 413} 414 415// APIListByServiceOptions contains the optional parameters for the API.ListByService method. 416type APIListByServiceOptions struct { 417 // Include full ApiVersionSet resource in response 418 ExpandAPIVersionSet *bool 419 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 420 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 421 // endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| serviceUrl | filter | ge, le, eq, 422 // ne, gt, lt | substringof, contains, startswith, endswith |</br>| path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 423 // |</br>| isCurrent | filter | eq, ne | |</br> 424 Filter *string 425 // Number of records to skip. 426 Skip *int32 427 // Include tags in the response. 428 Tags *string 429 // Number of records to return. 430 Top *int32 431} 432 433// APIListByTagsOptions contains the optional parameters for the API.ListByTags method. 434type APIListByTagsOptions struct { 435 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 436 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 437 // endswith |</br>| apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| path | filter | ge, le, eq, ne, 438 // gt, lt | substringof, contains, startswith, endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 439 // |</br>| serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| isCurrent | filter | eq | |</br> 440 Filter *string 441 // Include not tagged APIs. 442 IncludeNotTaggedApis *bool 443 // Number of records to skip. 444 Skip *int32 445 // Number of records to return. 446 Top *int32 447} 448 449// APIManagementOperationsListOptions contains the optional parameters for the APIManagementOperations.List method. 450type APIManagementOperationsListOptions struct { 451 // placeholder for future optional parameters 452} 453 454// APIManagementSKU - Describes an available ApiManagement SKU. 455type APIManagementSKU struct { 456 // READ-ONLY; The api versions that support this SKU. 457 APIVersions []*string `json:"apiVersions,omitempty" azure:"ro"` 458 459 // READ-ONLY; A name value pair to describe the capability. 460 Capabilities []*APIManagementSKUCapabilities `json:"capabilities,omitempty" azure:"ro"` 461 462 // READ-ONLY; Specifies the number of virtual machines in the scale set. 463 Capacity *APIManagementSKUCapacity `json:"capacity,omitempty" azure:"ro"` 464 465 // READ-ONLY; Metadata for retrieving price info. 466 Costs []*APIManagementSKUCosts `json:"costs,omitempty" azure:"ro"` 467 468 // READ-ONLY; The Family of this particular SKU. 469 Family *string `json:"family,omitempty" azure:"ro"` 470 471 // READ-ONLY; The Kind of resources that are supported in this SKU. 472 Kind *string `json:"kind,omitempty" azure:"ro"` 473 474 // READ-ONLY; A list of locations and availability zones in those locations where the SKU is available. 475 LocationInfo []*APIManagementSKULocationInfo `json:"locationInfo,omitempty" azure:"ro"` 476 477 // READ-ONLY; The set of locations that the SKU is available. 478 Locations []*string `json:"locations,omitempty" azure:"ro"` 479 480 // READ-ONLY; The name of SKU. 481 Name *string `json:"name,omitempty" azure:"ro"` 482 483 // READ-ONLY; The type of resource the SKU applies to. 484 ResourceType *string `json:"resourceType,omitempty" azure:"ro"` 485 486 // READ-ONLY; The restrictions because of which SKU cannot be used. This is empty if there are no restrictions. 487 Restrictions []*APIManagementSKURestrictions `json:"restrictions,omitempty" azure:"ro"` 488 489 // READ-ONLY; The Size of the SKU. 490 Size *string `json:"size,omitempty" azure:"ro"` 491 492 // READ-ONLY; Specifies the tier of virtual machines in a scale set. 493 // Possible Values: 494 // Standard 495 // Basic 496 Tier *string `json:"tier,omitempty" azure:"ro"` 497} 498 499// MarshalJSON implements the json.Marshaller interface for type APIManagementSKU. 500func (a APIManagementSKU) MarshalJSON() ([]byte, error) { 501 objectMap := make(map[string]interface{}) 502 populate(objectMap, "apiVersions", a.APIVersions) 503 populate(objectMap, "capabilities", a.Capabilities) 504 populate(objectMap, "capacity", a.Capacity) 505 populate(objectMap, "costs", a.Costs) 506 populate(objectMap, "family", a.Family) 507 populate(objectMap, "kind", a.Kind) 508 populate(objectMap, "locationInfo", a.LocationInfo) 509 populate(objectMap, "locations", a.Locations) 510 populate(objectMap, "name", a.Name) 511 populate(objectMap, "resourceType", a.ResourceType) 512 populate(objectMap, "restrictions", a.Restrictions) 513 populate(objectMap, "size", a.Size) 514 populate(objectMap, "tier", a.Tier) 515 return json.Marshal(objectMap) 516} 517 518// APIManagementSKUCapabilities - Describes The SKU capabilities object. 519type APIManagementSKUCapabilities struct { 520 // READ-ONLY; An invariant to describe the feature. 521 Name *string `json:"name,omitempty" azure:"ro"` 522 523 // READ-ONLY; An invariant if the feature is measured by quantity. 524 Value *string `json:"value,omitempty" azure:"ro"` 525} 526 527// APIManagementSKUCapacity - Describes scaling information of a SKU. 528type APIManagementSKUCapacity struct { 529 // READ-ONLY; The default capacity. 530 Default *int32 `json:"default,omitempty" azure:"ro"` 531 532 // READ-ONLY; The maximum capacity that can be set. 533 Maximum *int32 `json:"maximum,omitempty" azure:"ro"` 534 535 // READ-ONLY; The minimum capacity. 536 Minimum *int32 `json:"minimum,omitempty" azure:"ro"` 537 538 // READ-ONLY; The scale type applicable to the sku. 539 ScaleType *APIManagementSKUCapacityScaleType `json:"scaleType,omitempty" azure:"ro"` 540} 541 542// APIManagementSKUCosts - Describes metadata for retrieving price info. 543type APIManagementSKUCosts struct { 544 // READ-ONLY; An invariant to show the extended unit. 545 ExtendedUnit *string `json:"extendedUnit,omitempty" azure:"ro"` 546 547 // READ-ONLY; Used for querying price from commerce. 548 MeterID *string `json:"meterID,omitempty" azure:"ro"` 549 550 // READ-ONLY; The multiplier is needed to extend the base metered cost. 551 Quantity *int64 `json:"quantity,omitempty" azure:"ro"` 552} 553 554type APIManagementSKULocationInfo struct { 555 // READ-ONLY; Location of the SKU 556 Location *string `json:"location,omitempty" azure:"ro"` 557 558 // READ-ONLY; Details of capabilities available to a SKU in specific zones. 559 ZoneDetails []*APIManagementSKUZoneDetails `json:"zoneDetails,omitempty" azure:"ro"` 560 561 // READ-ONLY; List of availability zones where the SKU is supported. 562 Zones []*string `json:"zones,omitempty" azure:"ro"` 563} 564 565// MarshalJSON implements the json.Marshaller interface for type APIManagementSKULocationInfo. 566func (a APIManagementSKULocationInfo) MarshalJSON() ([]byte, error) { 567 objectMap := make(map[string]interface{}) 568 populate(objectMap, "location", a.Location) 569 populate(objectMap, "zoneDetails", a.ZoneDetails) 570 populate(objectMap, "zones", a.Zones) 571 return json.Marshal(objectMap) 572} 573 574type APIManagementSKURestrictionInfo struct { 575 // READ-ONLY; Locations where the SKU is restricted 576 Locations []*string `json:"locations,omitempty" azure:"ro"` 577 578 // READ-ONLY; List of availability zones where the SKU is restricted. 579 Zones []*string `json:"zones,omitempty" azure:"ro"` 580} 581 582// MarshalJSON implements the json.Marshaller interface for type APIManagementSKURestrictionInfo. 583func (a APIManagementSKURestrictionInfo) MarshalJSON() ([]byte, error) { 584 objectMap := make(map[string]interface{}) 585 populate(objectMap, "locations", a.Locations) 586 populate(objectMap, "zones", a.Zones) 587 return json.Marshal(objectMap) 588} 589 590// APIManagementSKURestrictions - Describes scaling information of a SKU. 591type APIManagementSKURestrictions struct { 592 // READ-ONLY; The reason for restriction. 593 ReasonCode *APIManagementSKURestrictionsReasonCode `json:"reasonCode,omitempty" azure:"ro"` 594 595 // READ-ONLY; The information about the restriction where the SKU cannot be used. 596 RestrictionInfo *APIManagementSKURestrictionInfo `json:"restrictionInfo,omitempty" azure:"ro"` 597 598 // READ-ONLY; The type of restrictions. 599 Type *APIManagementSKURestrictionsType `json:"type,omitempty" azure:"ro"` 600 601 // READ-ONLY; The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted. 602 Values []*string `json:"values,omitempty" azure:"ro"` 603} 604 605// MarshalJSON implements the json.Marshaller interface for type APIManagementSKURestrictions. 606func (a APIManagementSKURestrictions) MarshalJSON() ([]byte, error) { 607 objectMap := make(map[string]interface{}) 608 populate(objectMap, "reasonCode", a.ReasonCode) 609 populate(objectMap, "restrictionInfo", a.RestrictionInfo) 610 populate(objectMap, "type", a.Type) 611 populate(objectMap, "values", a.Values) 612 return json.Marshal(objectMap) 613} 614 615// APIManagementSKUZoneDetails - Describes The zonal capabilities of a SKU. 616type APIManagementSKUZoneDetails struct { 617 // READ-ONLY; A list of capabilities that are available for the SKU in the specified list of zones. 618 Capabilities []*APIManagementSKUCapabilities `json:"capabilities,omitempty" azure:"ro"` 619 620 // READ-ONLY; The set of zones that the SKU is available in with the specified capabilities. 621 Name []*string `json:"name,omitempty" azure:"ro"` 622} 623 624// MarshalJSON implements the json.Marshaller interface for type APIManagementSKUZoneDetails. 625func (a APIManagementSKUZoneDetails) MarshalJSON() ([]byte, error) { 626 objectMap := make(map[string]interface{}) 627 populate(objectMap, "capabilities", a.Capabilities) 628 populate(objectMap, "name", a.Name) 629 return json.Marshal(objectMap) 630} 631 632// APIManagementSKUsListOptions contains the optional parameters for the APIManagementSKUs.List method. 633type APIManagementSKUsListOptions struct { 634 // placeholder for future optional parameters 635} 636 637// APIManagementSKUsResult - The List Resource Skus operation response. 638type APIManagementSKUsResult struct { 639 // REQUIRED; The list of skus available for the subscription. 640 Value []*APIManagementSKU `json:"value,omitempty"` 641 642 // READ-ONLY; The URI to fetch the next page of Resource Skus. Call ListNext() with this URI to fetch the next page of Resource Skus 643 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 644} 645 646// MarshalJSON implements the json.Marshaller interface for type APIManagementSKUsResult. 647func (a APIManagementSKUsResult) MarshalJSON() ([]byte, error) { 648 objectMap := make(map[string]interface{}) 649 populate(objectMap, "nextLink", a.NextLink) 650 populate(objectMap, "value", a.Value) 651 return json.Marshal(objectMap) 652} 653 654// APIManagementServiceApplyNetworkConfigurationParameters - Parameter supplied to the Apply Network configuration operation. 655type APIManagementServiceApplyNetworkConfigurationParameters struct { 656 // Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required. 657 Location *string `json:"location,omitempty"` 658} 659 660// APIManagementServiceBackupRestoreParameters - Parameters supplied to the Backup/Restore of an API Management service operation. 661type APIManagementServiceBackupRestoreParameters struct { 662 // REQUIRED; Azure Cloud Storage account (used to place/retrieve the backup) access key. 663 AccessKey *string `json:"accessKey,omitempty"` 664 665 // REQUIRED; The name of the backup file to create. 666 BackupName *string `json:"backupName,omitempty"` 667 668 // REQUIRED; Azure Cloud Storage blob container name used to place/retrieve the backup. 669 ContainerName *string `json:"containerName,omitempty"` 670 671 // REQUIRED; Azure Cloud Storage account (used to place/retrieve the backup) name. 672 StorageAccount *string `json:"storageAccount,omitempty"` 673} 674 675// APIManagementServiceBaseProperties - Base Properties of an API Management service resource description. 676type APIManagementServiceBaseProperties struct { 677 // Control Plane Apis version constraint for the API Management service. 678 APIVersionConstraint *APIVersionConstraint `json:"apiVersionConstraint,omitempty"` 679 680 // Additional datacenter locations of the API Management service. 681 AdditionalLocations []*AdditionalLocation `json:"additionalLocations,omitempty"` 682 683 // List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. 684 Certificates []*CertificateConfiguration `json:"certificates,omitempty"` 685 686 // Custom properties of the API Management service. 687 // Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 will disable the cipher TLSRSAWITH3DESEDECBCSHA for all TLS(1.0, 1.1 688 // and 1.2). 689 // Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 can be used to disable just TLS 1.1. 690 // Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 can be used to disable TLS 1.0 on an API Management service. 691 // Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 can be used to disable just TLS 1.1 for communications with backends. 692 // Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 can be used to disable TLS 1.0 for communications with backends. 693 // Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 can be used to enable HTTP2 protocol on an API Management service. 694 // Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 695 // the default value is True if the service was 696 // created on or before April 1st 2018 and False otherwise. Http2 setting's default value is False. 697 // You can disable any of next ciphers by using settings Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]: TLSECDHEECDSAWITHAES256CBCSHA, 698 // TLSECDHEECDSAWITHAES128CBCSHA, TLS 699 // ECDHERSAWITHAES256CBCSHA, TLSECDHERSAWITHAES128CBCSHA, TLSRSAWITHAES128GCMSHA256, TLSRSAWITHAES256CBCSHA256, TLSRSAWITHAES128CBCSHA256, TLSRSAWITHAES256CBCSHA, 700 // TLSRSAWITHAES128CBCSHA. For example, 701 // Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. The default value is true for them. Note: next ciphers 702 // can't be disabled since they are required by 703 // Azure CloudService internal components: TLSECDHEECDSAWITHAES256GCMSHA384,TLSECDHEECDSAWITHAES128GCMSHA256,TLSECDHERSAWITHAES256GCMSHA384,TLSECDHERSAWITHAES128GCMSHA256,TLSECDHEECDSAWITHAES256CBC 704 // SHA384,TLSECDHEECDSAWITHAES128CBCSHA256,TLSECDHERSAWITHAES256CBCSHA384,TLSECDHERSAWITHAES128CBCSHA256,TLSRSAWITHAES256GCMSHA384 705 CustomProperties map[string]*string `json:"customProperties,omitempty"` 706 707 // Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. 708 DisableGateway *bool `json:"disableGateway,omitempty"` 709 710 // Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also 711 // enables the ability to authenticate the 712 // certificate in the policy on the gateway. 713 EnableClientCertificate *bool `json:"enableClientCertificate,omitempty"` 714 715 // Custom hostname configuration of the API Management service. 716 HostnameConfigurations []*HostnameConfiguration `json:"hostnameConfigurations,omitempty"` 717 718 // Email address from which the notification will be sent. 719 NotificationSenderEmail *string `json:"notificationSenderEmail,omitempty"` 720 721 // Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored. 722 Restore *bool `json:"restore,omitempty"` 723 724 // Virtual network configuration of the API Management service. 725 VirtualNetworkConfiguration *VirtualNetworkConfiguration `json:"virtualNetworkConfiguration,omitempty"` 726 727 // The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual 728 // Network, External means the API Management 729 // deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a 730 // Virtual Network having an Intranet Facing Endpoint 731 // only. 732 VirtualNetworkType *VirtualNetworkType `json:"virtualNetworkType,omitempty"` 733 734 // READ-ONLY; Creation UTC date of the API Management service.The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 735 // standard. 736 CreatedAtUTC *time.Time `json:"createdAtUtc,omitempty" azure:"ro"` 737 738 // READ-ONLY; DEveloper Portal endpoint URL of the API Management service. 739 DeveloperPortalURL *string `json:"developerPortalUrl,omitempty" azure:"ro"` 740 741 // READ-ONLY; Gateway URL of the API Management service in the Default Region. 742 GatewayRegionalURL *string `json:"gatewayRegionalUrl,omitempty" azure:"ro"` 743 744 // READ-ONLY; Gateway URL of the API Management service. 745 GatewayURL *string `json:"gatewayUrl,omitempty" azure:"ro"` 746 747 // READ-ONLY; Management API endpoint URL of the API Management service. 748 ManagementAPIURL *string `json:"managementApiUrl,omitempty" azure:"ro"` 749 750 // READ-ONLY; Publisher portal endpoint Url of the API Management service. 751 PortalURL *string `json:"portalUrl,omitempty" azure:"ro"` 752 753 // READ-ONLY; Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. 754 // Available only for Basic, Standard, Premium and Isolated 755 // SKU. 756 PrivateIPAddresses []*string `json:"privateIPAddresses,omitempty" azure:"ro"` 757 758 // READ-ONLY; The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. 759 ProvisioningState *string `json:"provisioningState,omitempty" azure:"ro"` 760 761 // READ-ONLY; Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and 762 // Isolated SKU. 763 PublicIPAddresses []*string `json:"publicIPAddresses,omitempty" azure:"ro"` 764 765 // READ-ONLY; SCM endpoint URL of the API Management service. 766 ScmURL *string `json:"scmUrl,omitempty" azure:"ro"` 767 768 // READ-ONLY; The provisioning state of the API Management service, which is targeted by the long running operation started on the service. 769 TargetProvisioningState *string `json:"targetProvisioningState,omitempty" azure:"ro"` 770} 771 772// MarshalJSON implements the json.Marshaller interface for type APIManagementServiceBaseProperties. 773func (a APIManagementServiceBaseProperties) MarshalJSON() ([]byte, error) { 774 objectMap := a.marshalInternal() 775 return json.Marshal(objectMap) 776} 777 778// UnmarshalJSON implements the json.Unmarshaller interface for type APIManagementServiceBaseProperties. 779func (a *APIManagementServiceBaseProperties) UnmarshalJSON(data []byte) error { 780 var rawMsg map[string]json.RawMessage 781 if err := json.Unmarshal(data, &rawMsg); err != nil { 782 return err 783 } 784 return a.unmarshalInternal(rawMsg) 785} 786 787func (a APIManagementServiceBaseProperties) marshalInternal() map[string]interface{} { 788 objectMap := make(map[string]interface{}) 789 populate(objectMap, "apiVersionConstraint", a.APIVersionConstraint) 790 populate(objectMap, "additionalLocations", a.AdditionalLocations) 791 populate(objectMap, "certificates", a.Certificates) 792 populate(objectMap, "createdAtUtc", (*timeRFC3339)(a.CreatedAtUTC)) 793 populate(objectMap, "customProperties", a.CustomProperties) 794 populate(objectMap, "developerPortalUrl", a.DeveloperPortalURL) 795 populate(objectMap, "disableGateway", a.DisableGateway) 796 populate(objectMap, "enableClientCertificate", a.EnableClientCertificate) 797 populate(objectMap, "gatewayRegionalUrl", a.GatewayRegionalURL) 798 populate(objectMap, "gatewayUrl", a.GatewayURL) 799 populate(objectMap, "hostnameConfigurations", a.HostnameConfigurations) 800 populate(objectMap, "managementApiUrl", a.ManagementAPIURL) 801 populate(objectMap, "notificationSenderEmail", a.NotificationSenderEmail) 802 populate(objectMap, "portalUrl", a.PortalURL) 803 populate(objectMap, "privateIPAddresses", a.PrivateIPAddresses) 804 populate(objectMap, "provisioningState", a.ProvisioningState) 805 populate(objectMap, "publicIPAddresses", a.PublicIPAddresses) 806 populate(objectMap, "restore", a.Restore) 807 populate(objectMap, "scmUrl", a.ScmURL) 808 populate(objectMap, "targetProvisioningState", a.TargetProvisioningState) 809 populate(objectMap, "virtualNetworkConfiguration", a.VirtualNetworkConfiguration) 810 populate(objectMap, "virtualNetworkType", a.VirtualNetworkType) 811 return objectMap 812} 813 814func (a *APIManagementServiceBaseProperties) unmarshalInternal(rawMsg map[string]json.RawMessage) error { 815 for key, val := range rawMsg { 816 var err error 817 switch key { 818 case "apiVersionConstraint": 819 err = unpopulate(val, &a.APIVersionConstraint) 820 delete(rawMsg, key) 821 case "additionalLocations": 822 err = unpopulate(val, &a.AdditionalLocations) 823 delete(rawMsg, key) 824 case "certificates": 825 err = unpopulate(val, &a.Certificates) 826 delete(rawMsg, key) 827 case "createdAtUtc": 828 var aux timeRFC3339 829 err = unpopulate(val, &aux) 830 a.CreatedAtUTC = (*time.Time)(&aux) 831 delete(rawMsg, key) 832 case "customProperties": 833 err = unpopulate(val, &a.CustomProperties) 834 delete(rawMsg, key) 835 case "developerPortalUrl": 836 err = unpopulate(val, &a.DeveloperPortalURL) 837 delete(rawMsg, key) 838 case "disableGateway": 839 err = unpopulate(val, &a.DisableGateway) 840 delete(rawMsg, key) 841 case "enableClientCertificate": 842 err = unpopulate(val, &a.EnableClientCertificate) 843 delete(rawMsg, key) 844 case "gatewayRegionalUrl": 845 err = unpopulate(val, &a.GatewayRegionalURL) 846 delete(rawMsg, key) 847 case "gatewayUrl": 848 err = unpopulate(val, &a.GatewayURL) 849 delete(rawMsg, key) 850 case "hostnameConfigurations": 851 err = unpopulate(val, &a.HostnameConfigurations) 852 delete(rawMsg, key) 853 case "managementApiUrl": 854 err = unpopulate(val, &a.ManagementAPIURL) 855 delete(rawMsg, key) 856 case "notificationSenderEmail": 857 err = unpopulate(val, &a.NotificationSenderEmail) 858 delete(rawMsg, key) 859 case "portalUrl": 860 err = unpopulate(val, &a.PortalURL) 861 delete(rawMsg, key) 862 case "privateIPAddresses": 863 err = unpopulate(val, &a.PrivateIPAddresses) 864 delete(rawMsg, key) 865 case "provisioningState": 866 err = unpopulate(val, &a.ProvisioningState) 867 delete(rawMsg, key) 868 case "publicIPAddresses": 869 err = unpopulate(val, &a.PublicIPAddresses) 870 delete(rawMsg, key) 871 case "restore": 872 err = unpopulate(val, &a.Restore) 873 delete(rawMsg, key) 874 case "scmUrl": 875 err = unpopulate(val, &a.ScmURL) 876 delete(rawMsg, key) 877 case "targetProvisioningState": 878 err = unpopulate(val, &a.TargetProvisioningState) 879 delete(rawMsg, key) 880 case "virtualNetworkConfiguration": 881 err = unpopulate(val, &a.VirtualNetworkConfiguration) 882 delete(rawMsg, key) 883 case "virtualNetworkType": 884 err = unpopulate(val, &a.VirtualNetworkType) 885 delete(rawMsg, key) 886 } 887 if err != nil { 888 return err 889 } 890 } 891 return nil 892} 893 894// APIManagementServiceBeginApplyNetworkConfigurationUpdatesOptions contains the optional parameters for the APIManagementService.BeginApplyNetworkConfigurationUpdates 895// method. 896type APIManagementServiceBeginApplyNetworkConfigurationUpdatesOptions struct { 897 // Parameters supplied to the Apply Network Configuration operation. If the parameters are empty, all the regions in which the Api Management service is 898 // deployed will be updated sequentially without incurring downtime in the region. 899 Parameters *APIManagementServiceApplyNetworkConfigurationParameters 900} 901 902// APIManagementServiceBeginBackupOptions contains the optional parameters for the APIManagementService.BeginBackup method. 903type APIManagementServiceBeginBackupOptions struct { 904 // placeholder for future optional parameters 905} 906 907// APIManagementServiceBeginCreateOrUpdateOptions contains the optional parameters for the APIManagementService.BeginCreateOrUpdate method. 908type APIManagementServiceBeginCreateOrUpdateOptions struct { 909 // placeholder for future optional parameters 910} 911 912// APIManagementServiceBeginDeleteOptions contains the optional parameters for the APIManagementService.BeginDelete method. 913type APIManagementServiceBeginDeleteOptions struct { 914 // placeholder for future optional parameters 915} 916 917// APIManagementServiceBeginRestoreOptions contains the optional parameters for the APIManagementService.BeginRestore method. 918type APIManagementServiceBeginRestoreOptions struct { 919 // placeholder for future optional parameters 920} 921 922// APIManagementServiceBeginUpdateOptions contains the optional parameters for the APIManagementService.BeginUpdate method. 923type APIManagementServiceBeginUpdateOptions struct { 924 // placeholder for future optional parameters 925} 926 927// APIManagementServiceCheckNameAvailabilityOptions contains the optional parameters for the APIManagementService.CheckNameAvailability method. 928type APIManagementServiceCheckNameAvailabilityOptions struct { 929 // placeholder for future optional parameters 930} 931 932// APIManagementServiceCheckNameAvailabilityParameters - Parameters supplied to the CheckNameAvailability operation. 933type APIManagementServiceCheckNameAvailabilityParameters struct { 934 // REQUIRED; The name to check for availability. 935 Name *string `json:"name,omitempty"` 936} 937 938// APIManagementServiceGetDomainOwnershipIdentifierOptions contains the optional parameters for the APIManagementService.GetDomainOwnershipIdentifier method. 939type APIManagementServiceGetDomainOwnershipIdentifierOptions struct { 940 // placeholder for future optional parameters 941} 942 943// APIManagementServiceGetDomainOwnershipIdentifierResult - Response of the GetDomainOwnershipIdentifier operation. 944type APIManagementServiceGetDomainOwnershipIdentifierResult struct { 945 // READ-ONLY; The domain ownership identifier value. 946 DomainOwnershipIdentifier *string `json:"domainOwnershipIdentifier,omitempty" azure:"ro"` 947} 948 949// APIManagementServiceGetOptions contains the optional parameters for the APIManagementService.Get method. 950type APIManagementServiceGetOptions struct { 951 // placeholder for future optional parameters 952} 953 954// APIManagementServiceGetSsoTokenOptions contains the optional parameters for the APIManagementService.GetSsoToken method. 955type APIManagementServiceGetSsoTokenOptions struct { 956 // placeholder for future optional parameters 957} 958 959// APIManagementServiceGetSsoTokenResult - The response of the GetSsoToken operation. 960type APIManagementServiceGetSsoTokenResult struct { 961 // Redirect URL to the Publisher Portal containing the SSO token. 962 RedirectURI *string `json:"redirectUri,omitempty"` 963} 964 965// APIManagementServiceIdentity - Identity properties of the Api Management service resource. 966type APIManagementServiceIdentity struct { 967 // REQUIRED; The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set 968 // of user assigned identities. The type 'None' will remove any 969 // identities from the service. 970 Type *ApimIdentityType `json:"type,omitempty"` 971 972 // The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: 973 // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 974 UserAssignedIdentities map[string]*UserIdentityProperties `json:"userAssignedIdentities,omitempty"` 975 976 // READ-ONLY; The principal id of the identity. 977 PrincipalID *string `json:"principalId,omitempty" azure:"ro"` 978 979 // READ-ONLY; The client tenant id of the identity. 980 TenantID *string `json:"tenantId,omitempty" azure:"ro"` 981} 982 983// MarshalJSON implements the json.Marshaller interface for type APIManagementServiceIdentity. 984func (a APIManagementServiceIdentity) MarshalJSON() ([]byte, error) { 985 objectMap := make(map[string]interface{}) 986 populate(objectMap, "principalId", a.PrincipalID) 987 populate(objectMap, "tenantId", a.TenantID) 988 populate(objectMap, "type", a.Type) 989 populate(objectMap, "userAssignedIdentities", a.UserAssignedIdentities) 990 return json.Marshal(objectMap) 991} 992 993// APIManagementServiceListByResourceGroupOptions contains the optional parameters for the APIManagementService.ListByResourceGroup method. 994type APIManagementServiceListByResourceGroupOptions struct { 995 // placeholder for future optional parameters 996} 997 998// APIManagementServiceListOptions contains the optional parameters for the APIManagementService.List method. 999type APIManagementServiceListOptions struct { 1000 // placeholder for future optional parameters 1001} 1002 1003// APIManagementServiceListResult - The response of the List API Management services operation. 1004type APIManagementServiceListResult struct { 1005 // REQUIRED; Result of the List API Management services operation. 1006 Value []*APIManagementServiceResource `json:"value,omitempty"` 1007 1008 // Link to the next set of results. Not empty if Value contains incomplete list of API Management services. 1009 NextLink *string `json:"nextLink,omitempty"` 1010} 1011 1012// MarshalJSON implements the json.Marshaller interface for type APIManagementServiceListResult. 1013func (a APIManagementServiceListResult) MarshalJSON() ([]byte, error) { 1014 objectMap := make(map[string]interface{}) 1015 populate(objectMap, "nextLink", a.NextLink) 1016 populate(objectMap, "value", a.Value) 1017 return json.Marshal(objectMap) 1018} 1019 1020// APIManagementServiceNameAvailabilityResult - Response of the CheckNameAvailability operation. 1021type APIManagementServiceNameAvailabilityResult struct { 1022 // Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists 1023 // indicates that the name is already in use 1024 // and is therefore unavailable. 1025 Reason *NameAvailabilityReason `json:"reason,omitempty"` 1026 1027 // READ-ONLY; If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that 1028 // the user can select a valid name. If reason == AlreadyExists, 1029 // explain that is already in use, and direct them to select a different name. 1030 Message *string `json:"message,omitempty" azure:"ro"` 1031 1032 // READ-ONLY; True if the name is available and can be used to create a new API Management service; otherwise false. 1033 NameAvailable *bool `json:"nameAvailable,omitempty" azure:"ro"` 1034} 1035 1036// APIManagementServiceProperties - Properties of an API Management service resource description. 1037type APIManagementServiceProperties struct { 1038 APIManagementServiceBaseProperties 1039 // REQUIRED; Publisher email. 1040 PublisherEmail *string `json:"publisherEmail,omitempty"` 1041 1042 // REQUIRED; Publisher name. 1043 PublisherName *string `json:"publisherName,omitempty"` 1044} 1045 1046// MarshalJSON implements the json.Marshaller interface for type APIManagementServiceProperties. 1047func (a APIManagementServiceProperties) MarshalJSON() ([]byte, error) { 1048 objectMap := a.APIManagementServiceBaseProperties.marshalInternal() 1049 populate(objectMap, "publisherEmail", a.PublisherEmail) 1050 populate(objectMap, "publisherName", a.PublisherName) 1051 return json.Marshal(objectMap) 1052} 1053 1054// UnmarshalJSON implements the json.Unmarshaller interface for type APIManagementServiceProperties. 1055func (a *APIManagementServiceProperties) UnmarshalJSON(data []byte) error { 1056 var rawMsg map[string]json.RawMessage 1057 if err := json.Unmarshal(data, &rawMsg); err != nil { 1058 return err 1059 } 1060 for key, val := range rawMsg { 1061 var err error 1062 switch key { 1063 case "publisherEmail": 1064 err = unpopulate(val, &a.PublisherEmail) 1065 delete(rawMsg, key) 1066 case "publisherName": 1067 err = unpopulate(val, &a.PublisherName) 1068 delete(rawMsg, key) 1069 } 1070 if err != nil { 1071 return err 1072 } 1073 } 1074 return a.APIManagementServiceBaseProperties.unmarshalInternal(rawMsg) 1075} 1076 1077// APIManagementServiceResource - A single API Management service resource in List or Get response. 1078type APIManagementServiceResource struct { 1079 ApimResource 1080 // REQUIRED; Resource location. 1081 Location *string `json:"location,omitempty"` 1082 1083 // REQUIRED; Properties of the API Management service. 1084 Properties *APIManagementServiceProperties `json:"properties,omitempty"` 1085 1086 // REQUIRED; SKU properties of the API Management service. 1087 SKU *APIManagementServiceSKUProperties `json:"sku,omitempty"` 1088 1089 // Managed service identity of the Api Management service. 1090 Identity *APIManagementServiceIdentity `json:"identity,omitempty"` 1091 1092 // A list of availability zones denoting where the resource needs to come from. 1093 Zones []*string `json:"zones,omitempty"` 1094 1095 // READ-ONLY; ETag of the resource. 1096 Etag *string `json:"etag,omitempty" azure:"ro"` 1097} 1098 1099// MarshalJSON implements the json.Marshaller interface for type APIManagementServiceResource. 1100func (a APIManagementServiceResource) MarshalJSON() ([]byte, error) { 1101 objectMap := a.ApimResource.marshalInternal() 1102 populate(objectMap, "etag", a.Etag) 1103 populate(objectMap, "identity", a.Identity) 1104 populate(objectMap, "location", a.Location) 1105 populate(objectMap, "properties", a.Properties) 1106 populate(objectMap, "sku", a.SKU) 1107 populate(objectMap, "zones", a.Zones) 1108 return json.Marshal(objectMap) 1109} 1110 1111// APIManagementServiceSKUProperties - API Management service resource SKU properties. 1112type APIManagementServiceSKUProperties struct { 1113 // REQUIRED; Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0. 1114 Capacity *int32 `json:"capacity,omitempty"` 1115 1116 // REQUIRED; Name of the Sku. 1117 Name *SKUType `json:"name,omitempty"` 1118} 1119 1120// APIManagementServiceSKUsListAvailableServiceSKUsOptions contains the optional parameters for the APIManagementServiceSKUs.ListAvailableServiceSKUs method. 1121type APIManagementServiceSKUsListAvailableServiceSKUsOptions struct { 1122 // placeholder for future optional parameters 1123} 1124 1125// APIManagementServiceUpdateParameters - Parameter supplied to Update Api Management Service. 1126type APIManagementServiceUpdateParameters struct { 1127 ApimResource 1128 // Managed service identity of the Api Management service. 1129 Identity *APIManagementServiceIdentity `json:"identity,omitempty"` 1130 1131 // Properties of the API Management service. 1132 Properties *APIManagementServiceUpdateProperties `json:"properties,omitempty"` 1133 1134 // SKU properties of the API Management service. 1135 SKU *APIManagementServiceSKUProperties `json:"sku,omitempty"` 1136 1137 // READ-ONLY; ETag of the resource. 1138 Etag *string `json:"etag,omitempty" azure:"ro"` 1139} 1140 1141// MarshalJSON implements the json.Marshaller interface for type APIManagementServiceUpdateParameters. 1142func (a APIManagementServiceUpdateParameters) MarshalJSON() ([]byte, error) { 1143 objectMap := a.ApimResource.marshalInternal() 1144 populate(objectMap, "etag", a.Etag) 1145 populate(objectMap, "identity", a.Identity) 1146 populate(objectMap, "properties", a.Properties) 1147 populate(objectMap, "sku", a.SKU) 1148 return json.Marshal(objectMap) 1149} 1150 1151// APIManagementServiceUpdateProperties - Properties of an API Management service resource description. 1152type APIManagementServiceUpdateProperties struct { 1153 APIManagementServiceBaseProperties 1154 // Publisher email. 1155 PublisherEmail *string `json:"publisherEmail,omitempty"` 1156 1157 // Publisher name. 1158 PublisherName *string `json:"publisherName,omitempty"` 1159} 1160 1161// MarshalJSON implements the json.Marshaller interface for type APIManagementServiceUpdateProperties. 1162func (a APIManagementServiceUpdateProperties) MarshalJSON() ([]byte, error) { 1163 objectMap := a.APIManagementServiceBaseProperties.marshalInternal() 1164 populate(objectMap, "publisherEmail", a.PublisherEmail) 1165 populate(objectMap, "publisherName", a.PublisherName) 1166 return json.Marshal(objectMap) 1167} 1168 1169// UnmarshalJSON implements the json.Unmarshaller interface for type APIManagementServiceUpdateProperties. 1170func (a *APIManagementServiceUpdateProperties) UnmarshalJSON(data []byte) error { 1171 var rawMsg map[string]json.RawMessage 1172 if err := json.Unmarshal(data, &rawMsg); err != nil { 1173 return err 1174 } 1175 for key, val := range rawMsg { 1176 var err error 1177 switch key { 1178 case "publisherEmail": 1179 err = unpopulate(val, &a.PublisherEmail) 1180 delete(rawMsg, key) 1181 case "publisherName": 1182 err = unpopulate(val, &a.PublisherName) 1183 delete(rawMsg, key) 1184 } 1185 if err != nil { 1186 return err 1187 } 1188 } 1189 return a.APIManagementServiceBaseProperties.unmarshalInternal(rawMsg) 1190} 1191 1192// APIOperationCreateOrUpdateOptions contains the optional parameters for the APIOperation.CreateOrUpdate method. 1193type APIOperationCreateOrUpdateOptions struct { 1194 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 1195 IfMatch *string 1196} 1197 1198// APIOperationDeleteOptions contains the optional parameters for the APIOperation.Delete method. 1199type APIOperationDeleteOptions struct { 1200 // placeholder for future optional parameters 1201} 1202 1203// APIOperationGetEntityTagOptions contains the optional parameters for the APIOperation.GetEntityTag method. 1204type APIOperationGetEntityTagOptions struct { 1205 // placeholder for future optional parameters 1206} 1207 1208// APIOperationGetOptions contains the optional parameters for the APIOperation.Get method. 1209type APIOperationGetOptions struct { 1210 // placeholder for future optional parameters 1211} 1212 1213// APIOperationListByAPIOptions contains the optional parameters for the APIOperation.ListByAPI method. 1214type APIOperationListByAPIOptions struct { 1215 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 1216 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 1217 // endswith |</br>| method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| description | filter | ge, le, eq, ne, 1218 // gt, lt | substringof, contains, startswith, endswith |</br>| urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 1219 // |</br> 1220 Filter *string 1221 // Number of records to skip. 1222 Skip *int32 1223 // Include tags in the response. 1224 Tags *string 1225 // Number of records to return. 1226 Top *int32 1227} 1228 1229// APIOperationPolicyCreateOrUpdateOptions contains the optional parameters for the APIOperationPolicy.CreateOrUpdate method. 1230type APIOperationPolicyCreateOrUpdateOptions struct { 1231 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 1232 IfMatch *string 1233} 1234 1235// APIOperationPolicyDeleteOptions contains the optional parameters for the APIOperationPolicy.Delete method. 1236type APIOperationPolicyDeleteOptions struct { 1237 // placeholder for future optional parameters 1238} 1239 1240// APIOperationPolicyGetEntityTagOptions contains the optional parameters for the APIOperationPolicy.GetEntityTag method. 1241type APIOperationPolicyGetEntityTagOptions struct { 1242 // placeholder for future optional parameters 1243} 1244 1245// APIOperationPolicyGetOptions contains the optional parameters for the APIOperationPolicy.Get method. 1246type APIOperationPolicyGetOptions struct { 1247 // Policy Export Format. 1248 Format *PolicyExportFormat 1249} 1250 1251// APIOperationPolicyListByOperationOptions contains the optional parameters for the APIOperationPolicy.ListByOperation method. 1252type APIOperationPolicyListByOperationOptions struct { 1253 // placeholder for future optional parameters 1254} 1255 1256// APIOperationUpdateOptions contains the optional parameters for the APIOperation.Update method. 1257type APIOperationUpdateOptions struct { 1258 // placeholder for future optional parameters 1259} 1260 1261// APIPolicyCreateOrUpdateOptions contains the optional parameters for the APIPolicy.CreateOrUpdate method. 1262type APIPolicyCreateOrUpdateOptions struct { 1263 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 1264 IfMatch *string 1265} 1266 1267// APIPolicyDeleteOptions contains the optional parameters for the APIPolicy.Delete method. 1268type APIPolicyDeleteOptions struct { 1269 // placeholder for future optional parameters 1270} 1271 1272// APIPolicyGetEntityTagOptions contains the optional parameters for the APIPolicy.GetEntityTag method. 1273type APIPolicyGetEntityTagOptions struct { 1274 // placeholder for future optional parameters 1275} 1276 1277// APIPolicyGetOptions contains the optional parameters for the APIPolicy.Get method. 1278type APIPolicyGetOptions struct { 1279 // Policy Export Format. 1280 Format *PolicyExportFormat 1281} 1282 1283// APIPolicyListByAPIOptions contains the optional parameters for the APIPolicy.ListByAPI method. 1284type APIPolicyListByAPIOptions struct { 1285 // placeholder for future optional parameters 1286} 1287 1288// APIProductListByApisOptions contains the optional parameters for the APIProduct.ListByApis method. 1289type APIProductListByApisOptions struct { 1290 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| displayName | filter 1291 // | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 1292 Filter *string 1293 // Number of records to skip. 1294 Skip *int32 1295 // Number of records to return. 1296 Top *int32 1297} 1298 1299// APIReleaseCollection - Paged ApiRelease list representation. 1300type APIReleaseCollection struct { 1301 // Total record count number across all pages. 1302 Count *int64 `json:"count,omitempty"` 1303 1304 // READ-ONLY; Next page link if any. 1305 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 1306 1307 // READ-ONLY; Page values. 1308 Value []*APIReleaseContract `json:"value,omitempty" azure:"ro"` 1309} 1310 1311// MarshalJSON implements the json.Marshaller interface for type APIReleaseCollection. 1312func (a APIReleaseCollection) MarshalJSON() ([]byte, error) { 1313 objectMap := make(map[string]interface{}) 1314 populate(objectMap, "count", a.Count) 1315 populate(objectMap, "nextLink", a.NextLink) 1316 populate(objectMap, "value", a.Value) 1317 return json.Marshal(objectMap) 1318} 1319 1320// APIReleaseContract - ApiRelease details. 1321type APIReleaseContract struct { 1322 Resource 1323 // ApiRelease entity contract properties. 1324 Properties *APIReleaseContractProperties `json:"properties,omitempty"` 1325} 1326 1327// MarshalJSON implements the json.Marshaller interface for type APIReleaseContract. 1328func (a APIReleaseContract) MarshalJSON() ([]byte, error) { 1329 objectMap := a.Resource.marshalInternal() 1330 populate(objectMap, "properties", a.Properties) 1331 return json.Marshal(objectMap) 1332} 1333 1334// APIReleaseContractProperties - API Release details 1335type APIReleaseContractProperties struct { 1336 // Identifier of the API the release belongs to. 1337 APIID *string `json:"apiId,omitempty"` 1338 1339 // Release Notes 1340 Notes *string `json:"notes,omitempty"` 1341 1342 // READ-ONLY; The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 1343 CreatedDateTime *time.Time `json:"createdDateTime,omitempty" azure:"ro"` 1344 1345 // READ-ONLY; The time the API release was updated. 1346 UpdatedDateTime *time.Time `json:"updatedDateTime,omitempty" azure:"ro"` 1347} 1348 1349// MarshalJSON implements the json.Marshaller interface for type APIReleaseContractProperties. 1350func (a APIReleaseContractProperties) MarshalJSON() ([]byte, error) { 1351 objectMap := make(map[string]interface{}) 1352 populate(objectMap, "apiId", a.APIID) 1353 populate(objectMap, "createdDateTime", (*timeRFC3339)(a.CreatedDateTime)) 1354 populate(objectMap, "notes", a.Notes) 1355 populate(objectMap, "updatedDateTime", (*timeRFC3339)(a.UpdatedDateTime)) 1356 return json.Marshal(objectMap) 1357} 1358 1359// UnmarshalJSON implements the json.Unmarshaller interface for type APIReleaseContractProperties. 1360func (a *APIReleaseContractProperties) UnmarshalJSON(data []byte) error { 1361 var rawMsg map[string]json.RawMessage 1362 if err := json.Unmarshal(data, &rawMsg); err != nil { 1363 return err 1364 } 1365 for key, val := range rawMsg { 1366 var err error 1367 switch key { 1368 case "apiId": 1369 err = unpopulate(val, &a.APIID) 1370 delete(rawMsg, key) 1371 case "createdDateTime": 1372 var aux timeRFC3339 1373 err = unpopulate(val, &aux) 1374 a.CreatedDateTime = (*time.Time)(&aux) 1375 delete(rawMsg, key) 1376 case "notes": 1377 err = unpopulate(val, &a.Notes) 1378 delete(rawMsg, key) 1379 case "updatedDateTime": 1380 var aux timeRFC3339 1381 err = unpopulate(val, &aux) 1382 a.UpdatedDateTime = (*time.Time)(&aux) 1383 delete(rawMsg, key) 1384 } 1385 if err != nil { 1386 return err 1387 } 1388 } 1389 return nil 1390} 1391 1392// APIReleaseCreateOrUpdateOptions contains the optional parameters for the APIRelease.CreateOrUpdate method. 1393type APIReleaseCreateOrUpdateOptions struct { 1394 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 1395 IfMatch *string 1396} 1397 1398// APIReleaseDeleteOptions contains the optional parameters for the APIRelease.Delete method. 1399type APIReleaseDeleteOptions struct { 1400 // placeholder for future optional parameters 1401} 1402 1403// APIReleaseGetEntityTagOptions contains the optional parameters for the APIRelease.GetEntityTag method. 1404type APIReleaseGetEntityTagOptions struct { 1405 // placeholder for future optional parameters 1406} 1407 1408// APIReleaseGetOptions contains the optional parameters for the APIRelease.Get method. 1409type APIReleaseGetOptions struct { 1410 // placeholder for future optional parameters 1411} 1412 1413// APIReleaseListByServiceOptions contains the optional parameters for the APIRelease.ListByService method. 1414type APIReleaseListByServiceOptions struct { 1415 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| notes | filter | ge, 1416 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 1417 Filter *string 1418 // Number of records to skip. 1419 Skip *int32 1420 // Number of records to return. 1421 Top *int32 1422} 1423 1424// APIReleaseUpdateOptions contains the optional parameters for the APIRelease.Update method. 1425type APIReleaseUpdateOptions struct { 1426 // placeholder for future optional parameters 1427} 1428 1429// APIRevisionCollection - Paged Api Revision list representation. 1430type APIRevisionCollection struct { 1431 // Total record count number across all pages. 1432 Count *int64 `json:"count,omitempty"` 1433 1434 // READ-ONLY; Next page link if any. 1435 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 1436 1437 // READ-ONLY; Page values. 1438 Value []*APIRevisionContract `json:"value,omitempty" azure:"ro"` 1439} 1440 1441// MarshalJSON implements the json.Marshaller interface for type APIRevisionCollection. 1442func (a APIRevisionCollection) MarshalJSON() ([]byte, error) { 1443 objectMap := make(map[string]interface{}) 1444 populate(objectMap, "count", a.Count) 1445 populate(objectMap, "nextLink", a.NextLink) 1446 populate(objectMap, "value", a.Value) 1447 return json.Marshal(objectMap) 1448} 1449 1450// APIRevisionContract - Summary of revision metadata. 1451type APIRevisionContract struct { 1452 // READ-ONLY; Identifier of the API Revision. 1453 APIID *string `json:"apiId,omitempty" azure:"ro"` 1454 1455 // READ-ONLY; Revision number of API. 1456 APIRevision *string `json:"apiRevision,omitempty" azure:"ro"` 1457 1458 // READ-ONLY; The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 1459 CreatedDateTime *time.Time `json:"createdDateTime,omitempty" azure:"ro"` 1460 1461 // READ-ONLY; Description of the API Revision. 1462 Description *string `json:"description,omitempty" azure:"ro"` 1463 1464 // READ-ONLY; Indicates if API revision is accessible via the gateway. 1465 IsCurrent *bool `json:"isCurrent,omitempty" azure:"ro"` 1466 1467 // READ-ONLY; Indicates if API revision is the current api revision. 1468 IsOnline *bool `json:"isOnline,omitempty" azure:"ro"` 1469 1470 // READ-ONLY; Gateway URL for accessing the non-current API Revision. 1471 PrivateURL *string `json:"privateUrl,omitempty" azure:"ro"` 1472 1473 // READ-ONLY; The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 1474 UpdatedDateTime *time.Time `json:"updatedDateTime,omitempty" azure:"ro"` 1475} 1476 1477// MarshalJSON implements the json.Marshaller interface for type APIRevisionContract. 1478func (a APIRevisionContract) MarshalJSON() ([]byte, error) { 1479 objectMap := make(map[string]interface{}) 1480 populate(objectMap, "apiId", a.APIID) 1481 populate(objectMap, "apiRevision", a.APIRevision) 1482 populate(objectMap, "createdDateTime", (*timeRFC3339)(a.CreatedDateTime)) 1483 populate(objectMap, "description", a.Description) 1484 populate(objectMap, "isCurrent", a.IsCurrent) 1485 populate(objectMap, "isOnline", a.IsOnline) 1486 populate(objectMap, "privateUrl", a.PrivateURL) 1487 populate(objectMap, "updatedDateTime", (*timeRFC3339)(a.UpdatedDateTime)) 1488 return json.Marshal(objectMap) 1489} 1490 1491// UnmarshalJSON implements the json.Unmarshaller interface for type APIRevisionContract. 1492func (a *APIRevisionContract) UnmarshalJSON(data []byte) error { 1493 var rawMsg map[string]json.RawMessage 1494 if err := json.Unmarshal(data, &rawMsg); err != nil { 1495 return err 1496 } 1497 for key, val := range rawMsg { 1498 var err error 1499 switch key { 1500 case "apiId": 1501 err = unpopulate(val, &a.APIID) 1502 delete(rawMsg, key) 1503 case "apiRevision": 1504 err = unpopulate(val, &a.APIRevision) 1505 delete(rawMsg, key) 1506 case "createdDateTime": 1507 var aux timeRFC3339 1508 err = unpopulate(val, &aux) 1509 a.CreatedDateTime = (*time.Time)(&aux) 1510 delete(rawMsg, key) 1511 case "description": 1512 err = unpopulate(val, &a.Description) 1513 delete(rawMsg, key) 1514 case "isCurrent": 1515 err = unpopulate(val, &a.IsCurrent) 1516 delete(rawMsg, key) 1517 case "isOnline": 1518 err = unpopulate(val, &a.IsOnline) 1519 delete(rawMsg, key) 1520 case "privateUrl": 1521 err = unpopulate(val, &a.PrivateURL) 1522 delete(rawMsg, key) 1523 case "updatedDateTime": 1524 var aux timeRFC3339 1525 err = unpopulate(val, &aux) 1526 a.UpdatedDateTime = (*time.Time)(&aux) 1527 delete(rawMsg, key) 1528 } 1529 if err != nil { 1530 return err 1531 } 1532 } 1533 return nil 1534} 1535 1536// APIRevisionInfoContract - Object used to create an API Revision or Version based on an existing API Revision 1537type APIRevisionInfoContract struct { 1538 // Description of new API Revision. 1539 APIRevisionDescription *string `json:"apiRevisionDescription,omitempty"` 1540 1541 // Version identifier for the new API Version. 1542 APIVersionName *string `json:"apiVersionName,omitempty"` 1543 1544 // Version set details 1545 APIVersionSet *APIVersionSetContractDetails `json:"apiVersionSet,omitempty"` 1546 1547 // Resource identifier of API to be used to create the revision from. 1548 SourceAPIID *string `json:"sourceApiId,omitempty"` 1549} 1550 1551// APIRevisionListByServiceOptions contains the optional parameters for the APIRevision.ListByService method. 1552type APIRevisionListByServiceOptions struct { 1553 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| apiRevision | filter 1554 // | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 1555 Filter *string 1556 // Number of records to skip. 1557 Skip *int32 1558 // Number of records to return. 1559 Top *int32 1560} 1561 1562// APISchemaBeginCreateOrUpdateOptions contains the optional parameters for the APISchema.BeginCreateOrUpdate method. 1563type APISchemaBeginCreateOrUpdateOptions struct { 1564 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 1565 IfMatch *string 1566} 1567 1568// APISchemaDeleteOptions contains the optional parameters for the APISchema.Delete method. 1569type APISchemaDeleteOptions struct { 1570 // If true removes all references to the schema before deleting it. 1571 Force *bool 1572} 1573 1574// APISchemaGetEntityTagOptions contains the optional parameters for the APISchema.GetEntityTag method. 1575type APISchemaGetEntityTagOptions struct { 1576 // placeholder for future optional parameters 1577} 1578 1579// APISchemaGetOptions contains the optional parameters for the APISchema.Get method. 1580type APISchemaGetOptions struct { 1581 // placeholder for future optional parameters 1582} 1583 1584// APISchemaListByAPIOptions contains the optional parameters for the APISchema.ListByAPI method. 1585type APISchemaListByAPIOptions struct { 1586 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| contentType | filter 1587 // | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 1588 Filter *string 1589 // Number of records to skip. 1590 Skip *int32 1591 // Number of records to return. 1592 Top *int32 1593} 1594 1595// APITagDescriptionCreateOrUpdateOptions contains the optional parameters for the APITagDescription.CreateOrUpdate method. 1596type APITagDescriptionCreateOrUpdateOptions struct { 1597 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 1598 IfMatch *string 1599} 1600 1601// APITagDescriptionDeleteOptions contains the optional parameters for the APITagDescription.Delete method. 1602type APITagDescriptionDeleteOptions struct { 1603 // placeholder for future optional parameters 1604} 1605 1606// APITagDescriptionGetEntityTagOptions contains the optional parameters for the APITagDescription.GetEntityTag method. 1607type APITagDescriptionGetEntityTagOptions struct { 1608 // placeholder for future optional parameters 1609} 1610 1611// APITagDescriptionGetOptions contains the optional parameters for the APITagDescription.Get method. 1612type APITagDescriptionGetOptions struct { 1613 // placeholder for future optional parameters 1614} 1615 1616// APITagDescriptionListByServiceOptions contains the optional parameters for the APITagDescription.ListByService method. 1617type APITagDescriptionListByServiceOptions struct { 1618 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| displayName | filter 1619 // | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 1620 // endswith |</br> 1621 Filter *string 1622 // Number of records to skip. 1623 Skip *int32 1624 // Number of records to return. 1625 Top *int32 1626} 1627 1628// APITagResourceContractProperties - API contract properties for the Tag Resources. 1629type APITagResourceContractProperties struct { 1630 APIEntityBaseContract 1631 // API identifier in the form /apis/{apiId}. 1632 ID *string `json:"id,omitempty"` 1633 1634 // API name. 1635 Name *string `json:"name,omitempty"` 1636 1637 // Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint 1638 // base URL specified during the service instance 1639 // creation to form a public URL for this API. 1640 Path *string `json:"path,omitempty"` 1641 1642 // Describes on which protocols the operations in this API can be invoked. 1643 Protocols []*Protocol `json:"protocols,omitempty"` 1644 1645 // Absolute URL of the backend service implementing this API. 1646 ServiceURL *string `json:"serviceUrl,omitempty"` 1647} 1648 1649// MarshalJSON implements the json.Marshaller interface for type APITagResourceContractProperties. 1650func (a APITagResourceContractProperties) MarshalJSON() ([]byte, error) { 1651 objectMap := a.APIEntityBaseContract.marshalInternal() 1652 populate(objectMap, "id", a.ID) 1653 populate(objectMap, "name", a.Name) 1654 populate(objectMap, "path", a.Path) 1655 populate(objectMap, "protocols", a.Protocols) 1656 populate(objectMap, "serviceUrl", a.ServiceURL) 1657 return json.Marshal(objectMap) 1658} 1659 1660// APIUpdateContract - API update contract details. 1661type APIUpdateContract struct { 1662 // Properties of the API entity that can be updated. 1663 Properties *APIContractUpdateProperties `json:"properties,omitempty"` 1664} 1665 1666// MarshalJSON implements the json.Marshaller interface for type APIUpdateContract. 1667func (a APIUpdateContract) MarshalJSON() ([]byte, error) { 1668 objectMap := make(map[string]interface{}) 1669 populate(objectMap, "properties", a.Properties) 1670 return json.Marshal(objectMap) 1671} 1672 1673// APIUpdateOptions contains the optional parameters for the API.Update method. 1674type APIUpdateOptions struct { 1675 // placeholder for future optional parameters 1676} 1677 1678// APIVersionConstraint - Control Plane Apis version constraint for the API Management service. 1679type APIVersionConstraint struct { 1680 // Limit control plane API calls to API Management service with version equal to or newer than this value. 1681 MinAPIVersion *string `json:"minApiVersion,omitempty"` 1682} 1683 1684// APIVersionSetCollection - Paged Api Version Set list representation. 1685type APIVersionSetCollection struct { 1686 // Total record count number across all pages. 1687 Count *int64 `json:"count,omitempty"` 1688 1689 // Next page link if any. 1690 NextLink *string `json:"nextLink,omitempty"` 1691 1692 // Page values. 1693 Value []*APIVersionSetContract `json:"value,omitempty"` 1694} 1695 1696// MarshalJSON implements the json.Marshaller interface for type APIVersionSetCollection. 1697func (a APIVersionSetCollection) MarshalJSON() ([]byte, error) { 1698 objectMap := make(map[string]interface{}) 1699 populate(objectMap, "count", a.Count) 1700 populate(objectMap, "nextLink", a.NextLink) 1701 populate(objectMap, "value", a.Value) 1702 return json.Marshal(objectMap) 1703} 1704 1705// APIVersionSetContract - Api Version Set Contract details. 1706type APIVersionSetContract struct { 1707 Resource 1708 // Api VersionSet contract properties. 1709 Properties *APIVersionSetContractProperties `json:"properties,omitempty"` 1710} 1711 1712// MarshalJSON implements the json.Marshaller interface for type APIVersionSetContract. 1713func (a APIVersionSetContract) MarshalJSON() ([]byte, error) { 1714 objectMap := a.Resource.marshalInternal() 1715 populate(objectMap, "properties", a.Properties) 1716 return json.Marshal(objectMap) 1717} 1718 1719// APIVersionSetContractDetails - An API Version Set contains the common configuration for a set of API Versions relating 1720type APIVersionSetContractDetails struct { 1721 // Description of API Version Set. 1722 Description *string `json:"description,omitempty"` 1723 1724 // Identifier for existing API Version Set. Omit this value to create a new Version Set. 1725 ID *string `json:"id,omitempty"` 1726 1727 // The display Name of the API Version Set. 1728 Name *string `json:"name,omitempty"` 1729 1730 // Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header. 1731 VersionHeaderName *string `json:"versionHeaderName,omitempty"` 1732 1733 // Name of query parameter that indicates the API Version if versioningScheme is set to query. 1734 VersionQueryName *string `json:"versionQueryName,omitempty"` 1735 1736 // An value that determines where the API Version identifier will be located in a HTTP request. 1737 VersioningScheme *APIVersionSetContractDetailsVersioningScheme `json:"versioningScheme,omitempty"` 1738} 1739 1740// APIVersionSetContractProperties - Properties of an API Version Set. 1741type APIVersionSetContractProperties struct { 1742 APIVersionSetEntityBase 1743 // REQUIRED; Name of API Version Set 1744 DisplayName *string `json:"displayName,omitempty"` 1745 1746 // REQUIRED; An value that determines where the API Version identifier will be located in a HTTP request. 1747 VersioningScheme *VersioningScheme `json:"versioningScheme,omitempty"` 1748} 1749 1750// APIVersionSetCreateOrUpdateOptions contains the optional parameters for the APIVersionSet.CreateOrUpdate method. 1751type APIVersionSetCreateOrUpdateOptions struct { 1752 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 1753 IfMatch *string 1754} 1755 1756// APIVersionSetDeleteOptions contains the optional parameters for the APIVersionSet.Delete method. 1757type APIVersionSetDeleteOptions struct { 1758 // placeholder for future optional parameters 1759} 1760 1761// APIVersionSetEntityBase - Api Version set base parameters 1762type APIVersionSetEntityBase struct { 1763 // Description of API Version Set. 1764 Description *string `json:"description,omitempty"` 1765 1766 // Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header. 1767 VersionHeaderName *string `json:"versionHeaderName,omitempty"` 1768 1769 // Name of query parameter that indicates the API Version if versioningScheme is set to query. 1770 VersionQueryName *string `json:"versionQueryName,omitempty"` 1771} 1772 1773// APIVersionSetGetEntityTagOptions contains the optional parameters for the APIVersionSet.GetEntityTag method. 1774type APIVersionSetGetEntityTagOptions struct { 1775 // placeholder for future optional parameters 1776} 1777 1778// APIVersionSetGetOptions contains the optional parameters for the APIVersionSet.Get method. 1779type APIVersionSetGetOptions struct { 1780 // placeholder for future optional parameters 1781} 1782 1783// APIVersionSetListByServiceOptions contains the optional parameters for the APIVersionSet.ListByService method. 1784type APIVersionSetListByServiceOptions struct { 1785 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br> 1786 Filter *string 1787 // Number of records to skip. 1788 Skip *int32 1789 // Number of records to return. 1790 Top *int32 1791} 1792 1793// APIVersionSetUpdateOptions contains the optional parameters for the APIVersionSet.Update method. 1794type APIVersionSetUpdateOptions struct { 1795 // placeholder for future optional parameters 1796} 1797 1798// APIVersionSetUpdateParameters - Parameters to update or create an Api Version Set Contract. 1799type APIVersionSetUpdateParameters struct { 1800 // Parameters to update or create an Api Version Set Contract. 1801 Properties *APIVersionSetUpdateParametersProperties `json:"properties,omitempty"` 1802} 1803 1804// MarshalJSON implements the json.Marshaller interface for type APIVersionSetUpdateParameters. 1805func (a APIVersionSetUpdateParameters) MarshalJSON() ([]byte, error) { 1806 objectMap := make(map[string]interface{}) 1807 populate(objectMap, "properties", a.Properties) 1808 return json.Marshal(objectMap) 1809} 1810 1811// APIVersionSetUpdateParametersProperties - Properties used to create or update an API Version Set. 1812type APIVersionSetUpdateParametersProperties struct { 1813 APIVersionSetEntityBase 1814 // Name of API Version Set 1815 DisplayName *string `json:"displayName,omitempty"` 1816 1817 // An value that determines where the API Version identifier will be located in a HTTP request. 1818 VersioningScheme *VersioningScheme `json:"versioningScheme,omitempty"` 1819} 1820 1821// AccessInformationCollection - Paged AccessInformation list representation. 1822type AccessInformationCollection struct { 1823 // Total record count number across all pages. 1824 Count *int64 `json:"count,omitempty"` 1825 1826 // READ-ONLY; Next page link if any. 1827 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 1828 1829 // READ-ONLY; Page values. 1830 Value []*AccessInformationContract `json:"value,omitempty" azure:"ro"` 1831} 1832 1833// MarshalJSON implements the json.Marshaller interface for type AccessInformationCollection. 1834func (a AccessInformationCollection) MarshalJSON() ([]byte, error) { 1835 objectMap := make(map[string]interface{}) 1836 populate(objectMap, "count", a.Count) 1837 populate(objectMap, "nextLink", a.NextLink) 1838 populate(objectMap, "value", a.Value) 1839 return json.Marshal(objectMap) 1840} 1841 1842// AccessInformationContract - Tenant Settings. 1843type AccessInformationContract struct { 1844 Resource 1845 // AccessInformation entity contract properties. 1846 Properties *AccessInformationContractProperties `json:"properties,omitempty"` 1847} 1848 1849// MarshalJSON implements the json.Marshaller interface for type AccessInformationContract. 1850func (a AccessInformationContract) MarshalJSON() ([]byte, error) { 1851 objectMap := a.Resource.marshalInternal() 1852 populate(objectMap, "properties", a.Properties) 1853 return json.Marshal(objectMap) 1854} 1855 1856// AccessInformationContractProperties - Tenant access information contract of the API Management service. 1857type AccessInformationContractProperties struct { 1858 // Determines whether direct access is enabled. 1859 Enabled *bool `json:"enabled,omitempty"` 1860 1861 // Access Information type ('access' or 'gitAccess') 1862 ID *string `json:"id,omitempty"` 1863 1864 // Principal (User) Identifier. 1865 PrincipalID *string `json:"principalId,omitempty"` 1866} 1867 1868// AccessInformationCreateParameterProperties - Tenant access information update parameters of the API Management service 1869type AccessInformationCreateParameterProperties struct { 1870 // Determines whether direct access is enabled. 1871 Enabled *bool `json:"enabled,omitempty"` 1872 1873 // Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 1874 PrimaryKey *string `json:"primaryKey,omitempty"` 1875 1876 // Principal (User) Identifier. 1877 PrincipalID *string `json:"principalId,omitempty"` 1878 1879 // Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 1880 SecondaryKey *string `json:"secondaryKey,omitempty"` 1881} 1882 1883// AccessInformationCreateParameters - Tenant access information update parameters. 1884type AccessInformationCreateParameters struct { 1885 // Tenant access information update parameter properties. 1886 Properties *AccessInformationCreateParameterProperties `json:"properties,omitempty"` 1887} 1888 1889// AccessInformationSecretsContract - Tenant access information contract of the API Management service. 1890type AccessInformationSecretsContract struct { 1891 // Determines whether direct access is enabled. 1892 Enabled *bool `json:"enabled,omitempty"` 1893 1894 // Access Information type ('access' or 'gitAccess') 1895 ID *string `json:"id,omitempty"` 1896 1897 // Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 1898 PrimaryKey *string `json:"primaryKey,omitempty"` 1899 1900 // Principal (User) Identifier. 1901 PrincipalID *string `json:"principalId,omitempty"` 1902 1903 // Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 1904 SecondaryKey *string `json:"secondaryKey,omitempty"` 1905} 1906 1907// AccessInformationUpdateParameterProperties - Tenant access information update parameters of the API Management service 1908type AccessInformationUpdateParameterProperties struct { 1909 // Determines whether direct access is enabled. 1910 Enabled *bool `json:"enabled,omitempty"` 1911} 1912 1913// AccessInformationUpdateParameters - Tenant access information update parameters. 1914type AccessInformationUpdateParameters struct { 1915 // Tenant access information update parameter properties. 1916 Properties *AccessInformationUpdateParameterProperties `json:"properties,omitempty"` 1917} 1918 1919// MarshalJSON implements the json.Marshaller interface for type AccessInformationUpdateParameters. 1920func (a AccessInformationUpdateParameters) MarshalJSON() ([]byte, error) { 1921 objectMap := make(map[string]interface{}) 1922 populate(objectMap, "properties", a.Properties) 1923 return json.Marshal(objectMap) 1924} 1925 1926// AdditionalLocation - Description of an additional API Management resource location. 1927type AdditionalLocation struct { 1928 // REQUIRED; The location name of the additional region among Azure Data center regions. 1929 Location *string `json:"location,omitempty"` 1930 1931 // REQUIRED; SKU properties of the API Management service. 1932 SKU *APIManagementServiceSKUProperties `json:"sku,omitempty"` 1933 1934 // Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location. 1935 DisableGateway *bool `json:"disableGateway,omitempty"` 1936 1937 // Virtual network configuration for the location. 1938 VirtualNetworkConfiguration *VirtualNetworkConfiguration `json:"virtualNetworkConfiguration,omitempty"` 1939 1940 // A list of availability zones denoting where the resource needs to come from. 1941 Zones []*string `json:"zones,omitempty"` 1942 1943 // READ-ONLY; Gateway URL of the API Management service in the Region. 1944 GatewayRegionalURL *string `json:"gatewayRegionalUrl,omitempty" azure:"ro"` 1945 1946 // READ-ONLY; Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional 1947 // location. Available only for Basic, Standard, 1948 // Premium and Isolated SKU. 1949 PrivateIPAddresses []*string `json:"privateIPAddresses,omitempty" azure:"ro"` 1950 1951 // READ-ONLY; Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium 1952 // and Isolated SKU. 1953 PublicIPAddresses []*string `json:"publicIPAddresses,omitempty" azure:"ro"` 1954} 1955 1956// MarshalJSON implements the json.Marshaller interface for type AdditionalLocation. 1957func (a AdditionalLocation) MarshalJSON() ([]byte, error) { 1958 objectMap := make(map[string]interface{}) 1959 populate(objectMap, "disableGateway", a.DisableGateway) 1960 populate(objectMap, "gatewayRegionalUrl", a.GatewayRegionalURL) 1961 populate(objectMap, "location", a.Location) 1962 populate(objectMap, "privateIPAddresses", a.PrivateIPAddresses) 1963 populate(objectMap, "publicIPAddresses", a.PublicIPAddresses) 1964 populate(objectMap, "sku", a.SKU) 1965 populate(objectMap, "virtualNetworkConfiguration", a.VirtualNetworkConfiguration) 1966 populate(objectMap, "zones", a.Zones) 1967 return json.Marshal(objectMap) 1968} 1969 1970// ApimResource - The Resource definition. 1971type ApimResource struct { 1972 // Resource tags. 1973 Tags map[string]*string `json:"tags,omitempty"` 1974 1975 // READ-ONLY; Resource ID. 1976 ID *string `json:"id,omitempty" azure:"ro"` 1977 1978 // READ-ONLY; Resource name. 1979 Name *string `json:"name,omitempty" azure:"ro"` 1980 1981 // READ-ONLY; Resource type for API Management resource is set to Microsoft.ApiManagement. 1982 Type *string `json:"type,omitempty" azure:"ro"` 1983} 1984 1985// MarshalJSON implements the json.Marshaller interface for type ApimResource. 1986func (a ApimResource) MarshalJSON() ([]byte, error) { 1987 objectMap := a.marshalInternal() 1988 return json.Marshal(objectMap) 1989} 1990 1991func (a ApimResource) marshalInternal() map[string]interface{} { 1992 objectMap := make(map[string]interface{}) 1993 populate(objectMap, "id", a.ID) 1994 populate(objectMap, "name", a.Name) 1995 populate(objectMap, "tags", a.Tags) 1996 populate(objectMap, "type", a.Type) 1997 return objectMap 1998} 1999 2000// AssociationContract - Association entity details. 2001type AssociationContract struct { 2002 Resource 2003 // Association entity contract properties. 2004 Properties *AssociationContractProperties `json:"properties,omitempty"` 2005} 2006 2007// MarshalJSON implements the json.Marshaller interface for type AssociationContract. 2008func (a AssociationContract) MarshalJSON() ([]byte, error) { 2009 objectMap := a.Resource.marshalInternal() 2010 populate(objectMap, "properties", a.Properties) 2011 return json.Marshal(objectMap) 2012} 2013 2014// AssociationContractProperties - Association entity contract properties. 2015type AssociationContractProperties struct { 2016 // Provisioning state. 2017 ProvisioningState *string `json:"provisioningState,omitempty"` 2018} 2019 2020// AuthenticationSettingsContract - API Authentication Settings. 2021type AuthenticationSettingsContract struct { 2022 // OAuth2 Authentication settings 2023 OAuth2 *OAuth2AuthenticationSettingsContract `json:"oAuth2,omitempty"` 2024 2025 // OpenID Connect Authentication Settings 2026 Openid *OpenIDAuthenticationSettingsContract `json:"openid,omitempty"` 2027} 2028 2029// AuthorizationServerCollection - Paged OAuth2 Authorization Servers list representation. 2030type AuthorizationServerCollection struct { 2031 // Total record count number across all pages. 2032 Count *int64 `json:"count,omitempty"` 2033 2034 // Next page link if any. 2035 NextLink *string `json:"nextLink,omitempty"` 2036 2037 // Page values. 2038 Value []*AuthorizationServerContract `json:"value,omitempty"` 2039} 2040 2041// MarshalJSON implements the json.Marshaller interface for type AuthorizationServerCollection. 2042func (a AuthorizationServerCollection) MarshalJSON() ([]byte, error) { 2043 objectMap := make(map[string]interface{}) 2044 populate(objectMap, "count", a.Count) 2045 populate(objectMap, "nextLink", a.NextLink) 2046 populate(objectMap, "value", a.Value) 2047 return json.Marshal(objectMap) 2048} 2049 2050// AuthorizationServerContract - External OAuth authorization server settings. 2051type AuthorizationServerContract struct { 2052 Resource 2053 // Properties of the External OAuth authorization server Contract. 2054 Properties *AuthorizationServerContractProperties `json:"properties,omitempty"` 2055} 2056 2057// MarshalJSON implements the json.Marshaller interface for type AuthorizationServerContract. 2058func (a AuthorizationServerContract) MarshalJSON() ([]byte, error) { 2059 objectMap := a.Resource.marshalInternal() 2060 populate(objectMap, "properties", a.Properties) 2061 return json.Marshal(objectMap) 2062} 2063 2064// AuthorizationServerContractBaseProperties - External OAuth authorization server Update settings contract. 2065type AuthorizationServerContractBaseProperties struct { 2066 // HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional. 2067 AuthorizationMethods []*AuthorizationMethod `json:"authorizationMethods,omitempty"` 2068 2069 // Specifies the mechanism by which access token is passed to the API. 2070 BearerTokenSendingMethods []*BearerTokenSendingMethod `json:"bearerTokenSendingMethods,omitempty"` 2071 2072 // Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, 2073 // client credentials and other parameters are passed 2074 // within the request body in the application/x-www-form-urlencoded format. 2075 ClientAuthenticationMethod []*ClientAuthenticationMethod `json:"clientAuthenticationMethod,omitempty"` 2076 2077 // Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing 2078 // space-delimited values. 2079 DefaultScope *string `json:"defaultScope,omitempty"` 2080 2081 // Description of the authorization server. Can contain HTML formatting tags. 2082 Description *string `json:"description,omitempty"` 2083 2084 // Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. 2085 ResourceOwnerPassword *string `json:"resourceOwnerPassword,omitempty"` 2086 2087 // Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. 2088 ResourceOwnerUsername *string `json:"resourceOwnerUsername,omitempty"` 2089 2090 // If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol 2091 // security. 2092 SupportState *bool `json:"supportState,omitempty"` 2093 2094 // Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string 2095 // properties, i.e. {"name" : "name value", "value": 2096 // "a value"}. 2097 TokenBodyParameters []*TokenBodyParameterContract `json:"tokenBodyParameters,omitempty"` 2098 2099 // OAuth token endpoint. Contains absolute URI to entity being referenced. 2100 TokenEndpoint *string `json:"tokenEndpoint,omitempty"` 2101} 2102 2103// MarshalJSON implements the json.Marshaller interface for type AuthorizationServerContractBaseProperties. 2104func (a AuthorizationServerContractBaseProperties) MarshalJSON() ([]byte, error) { 2105 objectMap := a.marshalInternal() 2106 return json.Marshal(objectMap) 2107} 2108 2109func (a AuthorizationServerContractBaseProperties) marshalInternal() map[string]interface{} { 2110 objectMap := make(map[string]interface{}) 2111 populate(objectMap, "authorizationMethods", a.AuthorizationMethods) 2112 populate(objectMap, "bearerTokenSendingMethods", a.BearerTokenSendingMethods) 2113 populate(objectMap, "clientAuthenticationMethod", a.ClientAuthenticationMethod) 2114 populate(objectMap, "defaultScope", a.DefaultScope) 2115 populate(objectMap, "description", a.Description) 2116 populate(objectMap, "resourceOwnerPassword", a.ResourceOwnerPassword) 2117 populate(objectMap, "resourceOwnerUsername", a.ResourceOwnerUsername) 2118 populate(objectMap, "supportState", a.SupportState) 2119 populate(objectMap, "tokenBodyParameters", a.TokenBodyParameters) 2120 populate(objectMap, "tokenEndpoint", a.TokenEndpoint) 2121 return objectMap 2122} 2123 2124// AuthorizationServerContractProperties - External OAuth authorization server settings Properties. 2125type AuthorizationServerContractProperties struct { 2126 AuthorizationServerContractBaseProperties 2127 // REQUIRED; OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2. 2128 AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` 2129 2130 // REQUIRED; Client or app id registered with this authorization server. 2131 ClientID *string `json:"clientId,omitempty"` 2132 2133 // REQUIRED; Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being 2134 // referenced. 2135 ClientRegistrationEndpoint *string `json:"clientRegistrationEndpoint,omitempty"` 2136 2137 // REQUIRED; User-friendly authorization server name. 2138 DisplayName *string `json:"displayName,omitempty"` 2139 2140 // REQUIRED; Form of an authorization grant, which the client uses to request the access token. 2141 GrantTypes []*GrantType `json:"grantTypes,omitempty"` 2142 2143 // Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request 2144 // to get the value. 2145 ClientSecret *string `json:"clientSecret,omitempty"` 2146} 2147 2148// MarshalJSON implements the json.Marshaller interface for type AuthorizationServerContractProperties. 2149func (a AuthorizationServerContractProperties) MarshalJSON() ([]byte, error) { 2150 objectMap := a.AuthorizationServerContractBaseProperties.marshalInternal() 2151 populate(objectMap, "authorizationEndpoint", a.AuthorizationEndpoint) 2152 populate(objectMap, "clientId", a.ClientID) 2153 populate(objectMap, "clientRegistrationEndpoint", a.ClientRegistrationEndpoint) 2154 populate(objectMap, "clientSecret", a.ClientSecret) 2155 populate(objectMap, "displayName", a.DisplayName) 2156 populate(objectMap, "grantTypes", a.GrantTypes) 2157 return json.Marshal(objectMap) 2158} 2159 2160// AuthorizationServerCreateOrUpdateOptions contains the optional parameters for the AuthorizationServer.CreateOrUpdate method. 2161type AuthorizationServerCreateOrUpdateOptions struct { 2162 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 2163 IfMatch *string 2164} 2165 2166// AuthorizationServerDeleteOptions contains the optional parameters for the AuthorizationServer.Delete method. 2167type AuthorizationServerDeleteOptions struct { 2168 // placeholder for future optional parameters 2169} 2170 2171// AuthorizationServerGetEntityTagOptions contains the optional parameters for the AuthorizationServer.GetEntityTag method. 2172type AuthorizationServerGetEntityTagOptions struct { 2173 // placeholder for future optional parameters 2174} 2175 2176// AuthorizationServerGetOptions contains the optional parameters for the AuthorizationServer.Get method. 2177type AuthorizationServerGetOptions struct { 2178 // placeholder for future optional parameters 2179} 2180 2181// AuthorizationServerListByServiceOptions contains the optional parameters for the AuthorizationServer.ListByService method. 2182type AuthorizationServerListByServiceOptions struct { 2183 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 2184 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 2185 // endswith |</br> 2186 Filter *string 2187 // Number of records to skip. 2188 Skip *int32 2189 // Number of records to return. 2190 Top *int32 2191} 2192 2193// AuthorizationServerListSecretsOptions contains the optional parameters for the AuthorizationServer.ListSecrets method. 2194type AuthorizationServerListSecretsOptions struct { 2195 // placeholder for future optional parameters 2196} 2197 2198// AuthorizationServerSecretsContract - OAuth Server Secrets Contract. 2199type AuthorizationServerSecretsContract struct { 2200 // oAuth Authorization Server Secrets. 2201 ClientSecret *string `json:"clientSecret,omitempty"` 2202 2203 // Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. 2204 ResourceOwnerPassword *string `json:"resourceOwnerPassword,omitempty"` 2205 2206 // Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. 2207 ResourceOwnerUsername *string `json:"resourceOwnerUsername,omitempty"` 2208} 2209 2210// AuthorizationServerUpdateContract - External OAuth authorization server settings. 2211type AuthorizationServerUpdateContract struct { 2212 Resource 2213 // Properties of the External OAuth authorization server update Contract. 2214 Properties *AuthorizationServerUpdateContractProperties `json:"properties,omitempty"` 2215} 2216 2217// MarshalJSON implements the json.Marshaller interface for type AuthorizationServerUpdateContract. 2218func (a AuthorizationServerUpdateContract) MarshalJSON() ([]byte, error) { 2219 objectMap := a.Resource.marshalInternal() 2220 populate(objectMap, "properties", a.Properties) 2221 return json.Marshal(objectMap) 2222} 2223 2224// AuthorizationServerUpdateContractProperties - External OAuth authorization server Update settings contract. 2225type AuthorizationServerUpdateContractProperties struct { 2226 AuthorizationServerContractBaseProperties 2227 // OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2. 2228 AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` 2229 2230 // Client or app id registered with this authorization server. 2231 ClientID *string `json:"clientId,omitempty"` 2232 2233 // Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced. 2234 ClientRegistrationEndpoint *string `json:"clientRegistrationEndpoint,omitempty"` 2235 2236 // Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request 2237 // to get the value. 2238 ClientSecret *string `json:"clientSecret,omitempty"` 2239 2240 // User-friendly authorization server name. 2241 DisplayName *string `json:"displayName,omitempty"` 2242 2243 // Form of an authorization grant, which the client uses to request the access token. 2244 GrantTypes []*GrantType `json:"grantTypes,omitempty"` 2245} 2246 2247// MarshalJSON implements the json.Marshaller interface for type AuthorizationServerUpdateContractProperties. 2248func (a AuthorizationServerUpdateContractProperties) MarshalJSON() ([]byte, error) { 2249 objectMap := a.AuthorizationServerContractBaseProperties.marshalInternal() 2250 populate(objectMap, "authorizationEndpoint", a.AuthorizationEndpoint) 2251 populate(objectMap, "clientId", a.ClientID) 2252 populate(objectMap, "clientRegistrationEndpoint", a.ClientRegistrationEndpoint) 2253 populate(objectMap, "clientSecret", a.ClientSecret) 2254 populate(objectMap, "displayName", a.DisplayName) 2255 populate(objectMap, "grantTypes", a.GrantTypes) 2256 return json.Marshal(objectMap) 2257} 2258 2259// AuthorizationServerUpdateOptions contains the optional parameters for the AuthorizationServer.Update method. 2260type AuthorizationServerUpdateOptions struct { 2261 // placeholder for future optional parameters 2262} 2263 2264// BackendAuthorizationHeaderCredentials - Authorization header information. 2265type BackendAuthorizationHeaderCredentials struct { 2266 // REQUIRED; Authentication Parameter value. 2267 Parameter *string `json:"parameter,omitempty"` 2268 2269 // REQUIRED; Authentication Scheme name. 2270 Scheme *string `json:"scheme,omitempty"` 2271} 2272 2273// BackendBaseParameters - Backend entity base Parameter set. 2274type BackendBaseParameters struct { 2275 // Backend Credentials Contract Properties 2276 Credentials *BackendCredentialsContract `json:"credentials,omitempty"` 2277 2278 // Backend Description. 2279 Description *string `json:"description,omitempty"` 2280 2281 // Backend Properties contract 2282 Properties *BackendProperties `json:"properties,omitempty"` 2283 2284 // Backend Proxy Contract Properties 2285 Proxy *BackendProxyContract `json:"proxy,omitempty"` 2286 2287 // Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps. 2288 ResourceID *string `json:"resourceId,omitempty"` 2289 2290 // Backend TLS Properties 2291 TLS *BackendTLSProperties `json:"tls,omitempty"` 2292 2293 // Backend Title. 2294 Title *string `json:"title,omitempty"` 2295} 2296 2297// BackendCollection - Paged Backend list representation. 2298type BackendCollection struct { 2299 // Total record count number across all pages. 2300 Count *int64 `json:"count,omitempty"` 2301 2302 // Next page link if any. 2303 NextLink *string `json:"nextLink,omitempty"` 2304 2305 // Backend values. 2306 Value []*BackendContract `json:"value,omitempty"` 2307} 2308 2309// MarshalJSON implements the json.Marshaller interface for type BackendCollection. 2310func (b BackendCollection) MarshalJSON() ([]byte, error) { 2311 objectMap := make(map[string]interface{}) 2312 populate(objectMap, "count", b.Count) 2313 populate(objectMap, "nextLink", b.NextLink) 2314 populate(objectMap, "value", b.Value) 2315 return json.Marshal(objectMap) 2316} 2317 2318// BackendContract - Backend details. 2319type BackendContract struct { 2320 Resource 2321 // Backend entity contract properties. 2322 Properties *BackendContractProperties `json:"properties,omitempty"` 2323} 2324 2325// MarshalJSON implements the json.Marshaller interface for type BackendContract. 2326func (b BackendContract) MarshalJSON() ([]byte, error) { 2327 objectMap := b.Resource.marshalInternal() 2328 populate(objectMap, "properties", b.Properties) 2329 return json.Marshal(objectMap) 2330} 2331 2332// BackendContractProperties - Parameters supplied to the Create Backend operation. 2333type BackendContractProperties struct { 2334 BackendBaseParameters 2335 // REQUIRED; Backend communication protocol. 2336 Protocol *BackendProtocol `json:"protocol,omitempty"` 2337 2338 // REQUIRED; Runtime Url of the Backend. 2339 URL *string `json:"url,omitempty"` 2340} 2341 2342// BackendCreateOrUpdateOptions contains the optional parameters for the Backend.CreateOrUpdate method. 2343type BackendCreateOrUpdateOptions struct { 2344 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 2345 IfMatch *string 2346} 2347 2348// BackendCredentialsContract - Details of the Credentials used to connect to Backend. 2349type BackendCredentialsContract struct { 2350 // Authorization header authentication 2351 Authorization *BackendAuthorizationHeaderCredentials `json:"authorization,omitempty"` 2352 2353 // List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. 2354 Certificate []*string `json:"certificate,omitempty"` 2355 2356 // List of Client Certificate Ids. 2357 CertificateIDs []*string `json:"certificateIds,omitempty"` 2358 2359 // Header Parameter description. 2360 Header map[string][]*string `json:"header,omitempty"` 2361 2362 // Query Parameter description. 2363 Query map[string][]*string `json:"query,omitempty"` 2364} 2365 2366// MarshalJSON implements the json.Marshaller interface for type BackendCredentialsContract. 2367func (b BackendCredentialsContract) MarshalJSON() ([]byte, error) { 2368 objectMap := make(map[string]interface{}) 2369 populate(objectMap, "authorization", b.Authorization) 2370 populate(objectMap, "certificate", b.Certificate) 2371 populate(objectMap, "certificateIds", b.CertificateIDs) 2372 populate(objectMap, "header", b.Header) 2373 populate(objectMap, "query", b.Query) 2374 return json.Marshal(objectMap) 2375} 2376 2377// BackendDeleteOptions contains the optional parameters for the Backend.Delete method. 2378type BackendDeleteOptions struct { 2379 // placeholder for future optional parameters 2380} 2381 2382// BackendGetEntityTagOptions contains the optional parameters for the Backend.GetEntityTag method. 2383type BackendGetEntityTagOptions struct { 2384 // placeholder for future optional parameters 2385} 2386 2387// BackendGetOptions contains the optional parameters for the Backend.Get method. 2388type BackendGetOptions struct { 2389 // placeholder for future optional parameters 2390} 2391 2392// BackendListByServiceOptions contains the optional parameters for the Backend.ListByService method. 2393type BackendListByServiceOptions struct { 2394 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 2395 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 2396 // endswith |</br>| url | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 2397 Filter *string 2398 // Number of records to skip. 2399 Skip *int32 2400 // Number of records to return. 2401 Top *int32 2402} 2403 2404// BackendProperties - Properties specific to the Backend Type. 2405type BackendProperties struct { 2406 // Backend Service Fabric Cluster Properties 2407 ServiceFabricCluster *BackendServiceFabricClusterProperties `json:"serviceFabricCluster,omitempty"` 2408} 2409 2410// BackendProxyContract - Details of the Backend WebProxy Server to use in the Request to Backend. 2411type BackendProxyContract struct { 2412 // REQUIRED; WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings. 2413 URL *string `json:"url,omitempty"` 2414 2415 // Password to connect to the WebProxy Server 2416 Password *string `json:"password,omitempty"` 2417 2418 // Username to connect to the WebProxy server 2419 Username *string `json:"username,omitempty"` 2420} 2421 2422// BackendReconnectContract - Reconnect request parameters. 2423type BackendReconnectContract struct { 2424 Resource 2425 // Reconnect request properties. 2426 Properties *BackendReconnectProperties `json:"properties,omitempty"` 2427} 2428 2429// MarshalJSON implements the json.Marshaller interface for type BackendReconnectContract. 2430func (b BackendReconnectContract) MarshalJSON() ([]byte, error) { 2431 objectMap := b.Resource.marshalInternal() 2432 populate(objectMap, "properties", b.Properties) 2433 return json.Marshal(objectMap) 2434} 2435 2436// BackendReconnectOptions contains the optional parameters for the Backend.Reconnect method. 2437type BackendReconnectOptions struct { 2438 // Reconnect request parameters. 2439 Parameters *BackendReconnectContract 2440} 2441 2442// BackendReconnectProperties - Properties to control reconnect requests. 2443type BackendReconnectProperties struct { 2444 // Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconnect is PT2M. 2445 After *string `json:"after,omitempty"` 2446} 2447 2448// BackendServiceFabricClusterProperties - Properties of the Service Fabric Type Backend. 2449type BackendServiceFabricClusterProperties struct { 2450 // REQUIRED; The cluster management endpoint. 2451 ManagementEndpoints []*string `json:"managementEndpoints,omitempty"` 2452 2453 // The client certificate id for the management endpoint. 2454 ClientCertificateID *string `json:"clientCertificateId,omitempty"` 2455 2456 // The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided 2457 ClientCertificatethumbprint *string `json:"clientCertificatethumbprint,omitempty"` 2458 2459 // Maximum number of retries while attempting resolve the partition. 2460 MaxPartitionResolutionRetries *int32 `json:"maxPartitionResolutionRetries,omitempty"` 2461 2462 // Thumbprints of certificates cluster management service uses for tls communication 2463 ServerCertificateThumbprints []*string `json:"serverCertificateThumbprints,omitempty"` 2464 2465 // Server X509 Certificate Names Collection 2466 ServerX509Names []*X509CertificateName `json:"serverX509Names,omitempty"` 2467} 2468 2469// MarshalJSON implements the json.Marshaller interface for type BackendServiceFabricClusterProperties. 2470func (b BackendServiceFabricClusterProperties) MarshalJSON() ([]byte, error) { 2471 objectMap := make(map[string]interface{}) 2472 populate(objectMap, "clientCertificateId", b.ClientCertificateID) 2473 populate(objectMap, "clientCertificatethumbprint", b.ClientCertificatethumbprint) 2474 populate(objectMap, "managementEndpoints", b.ManagementEndpoints) 2475 populate(objectMap, "maxPartitionResolutionRetries", b.MaxPartitionResolutionRetries) 2476 populate(objectMap, "serverCertificateThumbprints", b.ServerCertificateThumbprints) 2477 populate(objectMap, "serverX509Names", b.ServerX509Names) 2478 return json.Marshal(objectMap) 2479} 2480 2481// BackendTLSProperties - Properties controlling TLS Certificate Validation. 2482type BackendTLSProperties struct { 2483 // Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host. 2484 ValidateCertificateChain *bool `json:"validateCertificateChain,omitempty"` 2485 2486 // Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host. 2487 ValidateCertificateName *bool `json:"validateCertificateName,omitempty"` 2488} 2489 2490// BackendUpdateOptions contains the optional parameters for the Backend.Update method. 2491type BackendUpdateOptions struct { 2492 // placeholder for future optional parameters 2493} 2494 2495// BackendUpdateParameterProperties - Parameters supplied to the Update Backend operation. 2496type BackendUpdateParameterProperties struct { 2497 BackendBaseParameters 2498 // Backend communication protocol. 2499 Protocol *BackendProtocol `json:"protocol,omitempty"` 2500 2501 // Runtime Url of the Backend. 2502 URL *string `json:"url,omitempty"` 2503} 2504 2505// BackendUpdateParameters - Backend update parameters. 2506type BackendUpdateParameters struct { 2507 // Backend entity update contract properties. 2508 Properties *BackendUpdateParameterProperties `json:"properties,omitempty"` 2509} 2510 2511// MarshalJSON implements the json.Marshaller interface for type BackendUpdateParameters. 2512func (b BackendUpdateParameters) MarshalJSON() ([]byte, error) { 2513 objectMap := make(map[string]interface{}) 2514 populate(objectMap, "properties", b.Properties) 2515 return json.Marshal(objectMap) 2516} 2517 2518// BodyDiagnosticSettings - Body logging settings. 2519type BodyDiagnosticSettings struct { 2520 // Number of request body bytes to log. 2521 Bytes *int32 `json:"bytes,omitempty"` 2522} 2523 2524// CacheCollection - Paged Caches list representation. 2525type CacheCollection struct { 2526 // Total record count number across all pages. 2527 Count *int64 `json:"count,omitempty"` 2528 2529 // Next page link if any. 2530 NextLink *string `json:"nextLink,omitempty"` 2531 2532 // Page values. 2533 Value []*CacheContract `json:"value,omitempty"` 2534} 2535 2536// MarshalJSON implements the json.Marshaller interface for type CacheCollection. 2537func (c CacheCollection) MarshalJSON() ([]byte, error) { 2538 objectMap := make(map[string]interface{}) 2539 populate(objectMap, "count", c.Count) 2540 populate(objectMap, "nextLink", c.NextLink) 2541 populate(objectMap, "value", c.Value) 2542 return json.Marshal(objectMap) 2543} 2544 2545// CacheContract - Cache details. 2546type CacheContract struct { 2547 Resource 2548 // Cache properties details. 2549 Properties *CacheContractProperties `json:"properties,omitempty"` 2550} 2551 2552// MarshalJSON implements the json.Marshaller interface for type CacheContract. 2553func (c CacheContract) MarshalJSON() ([]byte, error) { 2554 objectMap := c.Resource.marshalInternal() 2555 populate(objectMap, "properties", c.Properties) 2556 return json.Marshal(objectMap) 2557} 2558 2559// CacheContractProperties - Properties of the Cache contract. 2560type CacheContractProperties struct { 2561 // REQUIRED; Runtime connection string to cache 2562 ConnectionString *string `json:"connectionString,omitempty"` 2563 2564 // REQUIRED; Location identifier to use cache from (should be either 'default' or valid Azure region identifier) 2565 UseFromLocation *string `json:"useFromLocation,omitempty"` 2566 2567 // Cache description 2568 Description *string `json:"description,omitempty"` 2569 2570 // Original uri of entity in external system cache points to 2571 ResourceID *string `json:"resourceId,omitempty"` 2572} 2573 2574// CacheCreateOrUpdateOptions contains the optional parameters for the Cache.CreateOrUpdate method. 2575type CacheCreateOrUpdateOptions struct { 2576 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 2577 IfMatch *string 2578} 2579 2580// CacheDeleteOptions contains the optional parameters for the Cache.Delete method. 2581type CacheDeleteOptions struct { 2582 // placeholder for future optional parameters 2583} 2584 2585// CacheGetEntityTagOptions contains the optional parameters for the Cache.GetEntityTag method. 2586type CacheGetEntityTagOptions struct { 2587 // placeholder for future optional parameters 2588} 2589 2590// CacheGetOptions contains the optional parameters for the Cache.Get method. 2591type CacheGetOptions struct { 2592 // placeholder for future optional parameters 2593} 2594 2595// CacheListByServiceOptions contains the optional parameters for the Cache.ListByService method. 2596type CacheListByServiceOptions struct { 2597 // Number of records to skip. 2598 Skip *int32 2599 // Number of records to return. 2600 Top *int32 2601} 2602 2603// CacheUpdateOptions contains the optional parameters for the Cache.Update method. 2604type CacheUpdateOptions struct { 2605 // placeholder for future optional parameters 2606} 2607 2608// CacheUpdateParameters - Cache update details. 2609type CacheUpdateParameters struct { 2610 // Cache update properties details. 2611 Properties *CacheUpdateProperties `json:"properties,omitempty"` 2612} 2613 2614// MarshalJSON implements the json.Marshaller interface for type CacheUpdateParameters. 2615func (c CacheUpdateParameters) MarshalJSON() ([]byte, error) { 2616 objectMap := make(map[string]interface{}) 2617 populate(objectMap, "properties", c.Properties) 2618 return json.Marshal(objectMap) 2619} 2620 2621// CacheUpdateProperties - Parameters supplied to the Update Cache operation. 2622type CacheUpdateProperties struct { 2623 // Runtime connection string to cache 2624 ConnectionString *string `json:"connectionString,omitempty"` 2625 2626 // Cache description 2627 Description *string `json:"description,omitempty"` 2628 2629 // Original uri of entity in external system cache points to 2630 ResourceID *string `json:"resourceId,omitempty"` 2631 2632 // Location identifier to use cache from (should be either 'default' or valid Azure region identifier) 2633 UseFromLocation *string `json:"useFromLocation,omitempty"` 2634} 2635 2636// CertificateCollection - Paged Certificates list representation. 2637type CertificateCollection struct { 2638 // Total record count number across all pages. 2639 Count *int64 `json:"count,omitempty"` 2640 2641 // Next page link if any. 2642 NextLink *string `json:"nextLink,omitempty"` 2643 2644 // Page values. 2645 Value []*CertificateContract `json:"value,omitempty"` 2646} 2647 2648// MarshalJSON implements the json.Marshaller interface for type CertificateCollection. 2649func (c CertificateCollection) MarshalJSON() ([]byte, error) { 2650 objectMap := make(map[string]interface{}) 2651 populate(objectMap, "count", c.Count) 2652 populate(objectMap, "nextLink", c.NextLink) 2653 populate(objectMap, "value", c.Value) 2654 return json.Marshal(objectMap) 2655} 2656 2657// CertificateConfiguration - Certificate configuration which consist of non-trusted intermediates and root certificates. 2658type CertificateConfiguration struct { 2659 // REQUIRED; The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations. 2660 StoreName *CertificateConfigurationStoreName `json:"storeName,omitempty"` 2661 2662 // Certificate information. 2663 Certificate *CertificateInformation `json:"certificate,omitempty"` 2664 2665 // Certificate Password. 2666 CertificatePassword *string `json:"certificatePassword,omitempty"` 2667 2668 // Base64 Encoded certificate. 2669 EncodedCertificate *string `json:"encodedCertificate,omitempty"` 2670} 2671 2672// CertificateContract - Certificate details. 2673type CertificateContract struct { 2674 Resource 2675 // Certificate properties details. 2676 Properties *CertificateContractProperties `json:"properties,omitempty"` 2677} 2678 2679// MarshalJSON implements the json.Marshaller interface for type CertificateContract. 2680func (c CertificateContract) MarshalJSON() ([]byte, error) { 2681 objectMap := c.Resource.marshalInternal() 2682 populate(objectMap, "properties", c.Properties) 2683 return json.Marshal(objectMap) 2684} 2685 2686// CertificateContractProperties - Properties of the Certificate contract. 2687type CertificateContractProperties struct { 2688 // REQUIRED; Expiration date of the certificate. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 2689 ExpirationDate *time.Time `json:"expirationDate,omitempty"` 2690 2691 // REQUIRED; Subject attribute of the certificate. 2692 Subject *string `json:"subject,omitempty"` 2693 2694 // REQUIRED; Thumbprint of the certificate. 2695 Thumbprint *string `json:"thumbprint,omitempty"` 2696 2697 // KeyVault location details of the certificate. 2698 KeyVault *KeyVaultContractProperties `json:"keyVault,omitempty"` 2699} 2700 2701// MarshalJSON implements the json.Marshaller interface for type CertificateContractProperties. 2702func (c CertificateContractProperties) MarshalJSON() ([]byte, error) { 2703 objectMap := make(map[string]interface{}) 2704 populate(objectMap, "expirationDate", (*timeRFC3339)(c.ExpirationDate)) 2705 populate(objectMap, "keyVault", c.KeyVault) 2706 populate(objectMap, "subject", c.Subject) 2707 populate(objectMap, "thumbprint", c.Thumbprint) 2708 return json.Marshal(objectMap) 2709} 2710 2711// UnmarshalJSON implements the json.Unmarshaller interface for type CertificateContractProperties. 2712func (c *CertificateContractProperties) UnmarshalJSON(data []byte) error { 2713 var rawMsg map[string]json.RawMessage 2714 if err := json.Unmarshal(data, &rawMsg); err != nil { 2715 return err 2716 } 2717 for key, val := range rawMsg { 2718 var err error 2719 switch key { 2720 case "expirationDate": 2721 var aux timeRFC3339 2722 err = unpopulate(val, &aux) 2723 c.ExpirationDate = (*time.Time)(&aux) 2724 delete(rawMsg, key) 2725 case "keyVault": 2726 err = unpopulate(val, &c.KeyVault) 2727 delete(rawMsg, key) 2728 case "subject": 2729 err = unpopulate(val, &c.Subject) 2730 delete(rawMsg, key) 2731 case "thumbprint": 2732 err = unpopulate(val, &c.Thumbprint) 2733 delete(rawMsg, key) 2734 } 2735 if err != nil { 2736 return err 2737 } 2738 } 2739 return nil 2740} 2741 2742// CertificateCreateOrUpdateOptions contains the optional parameters for the Certificate.CreateOrUpdate method. 2743type CertificateCreateOrUpdateOptions struct { 2744 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 2745 IfMatch *string 2746} 2747 2748// CertificateCreateOrUpdateParameters - Certificate create or update details. 2749type CertificateCreateOrUpdateParameters struct { 2750 // Certificate create or update properties details. 2751 Properties *CertificateCreateOrUpdateProperties `json:"properties,omitempty"` 2752} 2753 2754// CertificateCreateOrUpdateProperties - Parameters supplied to the CreateOrUpdate certificate operation. 2755type CertificateCreateOrUpdateProperties struct { 2756 // Base 64 encoded certificate using the application/x-pkcs12 representation. 2757 Data *string `json:"data,omitempty"` 2758 2759 // KeyVault location details of the certificate. 2760 KeyVault *KeyVaultContractCreateProperties `json:"keyVault,omitempty"` 2761 2762 // Password for the Certificate 2763 Password *string `json:"password,omitempty"` 2764} 2765 2766// CertificateDeleteOptions contains the optional parameters for the Certificate.Delete method. 2767type CertificateDeleteOptions struct { 2768 // placeholder for future optional parameters 2769} 2770 2771// CertificateGetEntityTagOptions contains the optional parameters for the Certificate.GetEntityTag method. 2772type CertificateGetEntityTagOptions struct { 2773 // placeholder for future optional parameters 2774} 2775 2776// CertificateGetOptions contains the optional parameters for the Certificate.Get method. 2777type CertificateGetOptions struct { 2778 // placeholder for future optional parameters 2779} 2780 2781// CertificateInformation - SSL certificate information. 2782type CertificateInformation struct { 2783 // REQUIRED; Expiration date of the certificate. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 2784 Expiry *time.Time `json:"expiry,omitempty"` 2785 2786 // REQUIRED; Subject of the certificate. 2787 Subject *string `json:"subject,omitempty"` 2788 2789 // REQUIRED; Thumbprint of the certificate. 2790 Thumbprint *string `json:"thumbprint,omitempty"` 2791} 2792 2793// MarshalJSON implements the json.Marshaller interface for type CertificateInformation. 2794func (c CertificateInformation) MarshalJSON() ([]byte, error) { 2795 objectMap := make(map[string]interface{}) 2796 populate(objectMap, "expiry", (*timeRFC3339)(c.Expiry)) 2797 populate(objectMap, "subject", c.Subject) 2798 populate(objectMap, "thumbprint", c.Thumbprint) 2799 return json.Marshal(objectMap) 2800} 2801 2802// UnmarshalJSON implements the json.Unmarshaller interface for type CertificateInformation. 2803func (c *CertificateInformation) UnmarshalJSON(data []byte) error { 2804 var rawMsg map[string]json.RawMessage 2805 if err := json.Unmarshal(data, &rawMsg); err != nil { 2806 return err 2807 } 2808 for key, val := range rawMsg { 2809 var err error 2810 switch key { 2811 case "expiry": 2812 var aux timeRFC3339 2813 err = unpopulate(val, &aux) 2814 c.Expiry = (*time.Time)(&aux) 2815 delete(rawMsg, key) 2816 case "subject": 2817 err = unpopulate(val, &c.Subject) 2818 delete(rawMsg, key) 2819 case "thumbprint": 2820 err = unpopulate(val, &c.Thumbprint) 2821 delete(rawMsg, key) 2822 } 2823 if err != nil { 2824 return err 2825 } 2826 } 2827 return nil 2828} 2829 2830// CertificateListByServiceOptions contains the optional parameters for the Certificate.ListByService method. 2831type CertificateListByServiceOptions struct { 2832 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 2833 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 2834 // endswith |</br>| thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| expirationDate | filter | ge, le, 2835 // eq, ne, gt, lt | |</br> 2836 Filter *string 2837 // When set to true, the response contains only certificates entities which failed refresh. 2838 IsKeyVaultRefreshFailed *bool 2839 // Number of records to skip. 2840 Skip *int32 2841 // Number of records to return. 2842 Top *int32 2843} 2844 2845// CertificateRefreshSecretOptions contains the optional parameters for the Certificate.RefreshSecret method. 2846type CertificateRefreshSecretOptions struct { 2847 // placeholder for future optional parameters 2848} 2849 2850// ClientSecretContract - Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. 2851type ClientSecretContract struct { 2852 // Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. 2853 ClientSecret *string `json:"clientSecret,omitempty"` 2854} 2855 2856// ConnectivityStatusContract - Details about connectivity to a resource. 2857type ConnectivityStatusContract struct { 2858 // REQUIRED; Whether this is optional. 2859 IsOptional *bool `json:"isOptional,omitempty"` 2860 2861 // REQUIRED; The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: 2862 // yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 2863 // standard. 2864 LastStatusChange *time.Time `json:"lastStatusChange,omitempty"` 2865 2866 // REQUIRED; The date when the resource connectivity status was last updated. This status should be updated every 15 minutes. If this status has not been 2867 // updated, then it means that the service has lost network 2868 // connectivity to the resource, from inside the Virtual Network.The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 2869 // 8601 standard. 2870 LastUpdated *time.Time `json:"lastUpdated,omitempty"` 2871 2872 // REQUIRED; The hostname of the resource which the service depends on. This can be the database, storage or any other azure resource on which the service 2873 // depends upon. 2874 Name *string `json:"name,omitempty"` 2875 2876 // REQUIRED; Resource Type. 2877 ResourceType *string `json:"resourceType,omitempty"` 2878 2879 // REQUIRED; Resource Connectivity Status Type identifier. 2880 Status *ConnectivityStatusType `json:"status,omitempty"` 2881 2882 // Error details of the connectivity to the resource. 2883 Error *string `json:"error,omitempty"` 2884} 2885 2886// MarshalJSON implements the json.Marshaller interface for type ConnectivityStatusContract. 2887func (c ConnectivityStatusContract) MarshalJSON() ([]byte, error) { 2888 objectMap := make(map[string]interface{}) 2889 populate(objectMap, "error", c.Error) 2890 populate(objectMap, "isOptional", c.IsOptional) 2891 populate(objectMap, "lastStatusChange", (*timeRFC3339)(c.LastStatusChange)) 2892 populate(objectMap, "lastUpdated", (*timeRFC3339)(c.LastUpdated)) 2893 populate(objectMap, "name", c.Name) 2894 populate(objectMap, "resourceType", c.ResourceType) 2895 populate(objectMap, "status", c.Status) 2896 return json.Marshal(objectMap) 2897} 2898 2899// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityStatusContract. 2900func (c *ConnectivityStatusContract) UnmarshalJSON(data []byte) error { 2901 var rawMsg map[string]json.RawMessage 2902 if err := json.Unmarshal(data, &rawMsg); err != nil { 2903 return err 2904 } 2905 for key, val := range rawMsg { 2906 var err error 2907 switch key { 2908 case "error": 2909 err = unpopulate(val, &c.Error) 2910 delete(rawMsg, key) 2911 case "isOptional": 2912 err = unpopulate(val, &c.IsOptional) 2913 delete(rawMsg, key) 2914 case "lastStatusChange": 2915 var aux timeRFC3339 2916 err = unpopulate(val, &aux) 2917 c.LastStatusChange = (*time.Time)(&aux) 2918 delete(rawMsg, key) 2919 case "lastUpdated": 2920 var aux timeRFC3339 2921 err = unpopulate(val, &aux) 2922 c.LastUpdated = (*time.Time)(&aux) 2923 delete(rawMsg, key) 2924 case "name": 2925 err = unpopulate(val, &c.Name) 2926 delete(rawMsg, key) 2927 case "resourceType": 2928 err = unpopulate(val, &c.ResourceType) 2929 delete(rawMsg, key) 2930 case "status": 2931 err = unpopulate(val, &c.Status) 2932 delete(rawMsg, key) 2933 } 2934 if err != nil { 2935 return err 2936 } 2937 } 2938 return nil 2939} 2940 2941// ContentItemCollection - Paged list of content items. 2942type ContentItemCollection struct { 2943 // READ-ONLY; Next page link, if any. 2944 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 2945 2946 // READ-ONLY; Collection of content items. 2947 Value []*ContentItemContract `json:"value,omitempty" azure:"ro"` 2948} 2949 2950// MarshalJSON implements the json.Marshaller interface for type ContentItemCollection. 2951func (c ContentItemCollection) MarshalJSON() ([]byte, error) { 2952 objectMap := make(map[string]interface{}) 2953 populate(objectMap, "nextLink", c.NextLink) 2954 populate(objectMap, "value", c.Value) 2955 return json.Marshal(objectMap) 2956} 2957 2958// ContentItemContract - Content type contract details. 2959type ContentItemContract struct { 2960 Resource 2961 // Properties of the content item. 2962 Properties map[string]interface{} `json:"properties,omitempty"` 2963} 2964 2965// MarshalJSON implements the json.Marshaller interface for type ContentItemContract. 2966func (c ContentItemContract) MarshalJSON() ([]byte, error) { 2967 objectMap := c.Resource.marshalInternal() 2968 populate(objectMap, "properties", c.Properties) 2969 return json.Marshal(objectMap) 2970} 2971 2972// ContentItemCreateOrUpdateOptions contains the optional parameters for the ContentItem.CreateOrUpdate method. 2973type ContentItemCreateOrUpdateOptions struct { 2974 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 2975 IfMatch *string 2976} 2977 2978// ContentItemDeleteOptions contains the optional parameters for the ContentItem.Delete method. 2979type ContentItemDeleteOptions struct { 2980 // placeholder for future optional parameters 2981} 2982 2983// ContentItemGetEntityTagOptions contains the optional parameters for the ContentItem.GetEntityTag method. 2984type ContentItemGetEntityTagOptions struct { 2985 // placeholder for future optional parameters 2986} 2987 2988// ContentItemGetOptions contains the optional parameters for the ContentItem.Get method. 2989type ContentItemGetOptions struct { 2990 // placeholder for future optional parameters 2991} 2992 2993// ContentItemListByServiceOptions contains the optional parameters for the ContentItem.ListByService method. 2994type ContentItemListByServiceOptions struct { 2995 // placeholder for future optional parameters 2996} 2997 2998// ContentTypeCollection - Paged list of content types. 2999type ContentTypeCollection struct { 3000 // READ-ONLY; Next page link, if any. 3001 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 3002 3003 // READ-ONLY; Collection of content types. 3004 Value []*ContentTypeContract `json:"value,omitempty" azure:"ro"` 3005} 3006 3007// MarshalJSON implements the json.Marshaller interface for type ContentTypeCollection. 3008func (c ContentTypeCollection) MarshalJSON() ([]byte, error) { 3009 objectMap := make(map[string]interface{}) 3010 populate(objectMap, "nextLink", c.NextLink) 3011 populate(objectMap, "value", c.Value) 3012 return json.Marshal(objectMap) 3013} 3014 3015// ContentTypeContract - Content type contract details. 3016type ContentTypeContract struct { 3017 Resource 3018 // Properties of the content type. 3019 Properties *ContentTypeContractProperties `json:"properties,omitempty"` 3020} 3021 3022// MarshalJSON implements the json.Marshaller interface for type ContentTypeContract. 3023func (c ContentTypeContract) MarshalJSON() ([]byte, error) { 3024 objectMap := c.Resource.marshalInternal() 3025 populate(objectMap, "properties", c.Properties) 3026 return json.Marshal(objectMap) 3027} 3028 3029type ContentTypeContractProperties struct { 3030 // Content type description. 3031 Description *string `json:"description,omitempty"` 3032 3033 // Content type identifier 3034 ID *string `json:"id,omitempty"` 3035 3036 // Content type name. Must be 1 to 250 characters long. 3037 Name *string `json:"name,omitempty"` 3038 3039 // Content type schema. 3040 Schema map[string]interface{} `json:"schema,omitempty"` 3041 3042 // Content type version. 3043 Version *string `json:"version,omitempty"` 3044} 3045 3046// ContentTypeCreateOrUpdateOptions contains the optional parameters for the ContentType.CreateOrUpdate method. 3047type ContentTypeCreateOrUpdateOptions struct { 3048 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3049 IfMatch *string 3050} 3051 3052// ContentTypeDeleteOptions contains the optional parameters for the ContentType.Delete method. 3053type ContentTypeDeleteOptions struct { 3054 // placeholder for future optional parameters 3055} 3056 3057// ContentTypeGetOptions contains the optional parameters for the ContentType.Get method. 3058type ContentTypeGetOptions struct { 3059 // placeholder for future optional parameters 3060} 3061 3062// ContentTypeListByServiceOptions contains the optional parameters for the ContentType.ListByService method. 3063type ContentTypeListByServiceOptions struct { 3064 // placeholder for future optional parameters 3065} 3066 3067type DataMasking struct { 3068 // Masking settings for headers 3069 Headers []*DataMaskingEntity `json:"headers,omitempty"` 3070 3071 // Masking settings for Url query parameters 3072 QueryParams []*DataMaskingEntity `json:"queryParams,omitempty"` 3073} 3074 3075// MarshalJSON implements the json.Marshaller interface for type DataMasking. 3076func (d DataMasking) MarshalJSON() ([]byte, error) { 3077 objectMap := make(map[string]interface{}) 3078 populate(objectMap, "headers", d.Headers) 3079 populate(objectMap, "queryParams", d.QueryParams) 3080 return json.Marshal(objectMap) 3081} 3082 3083type DataMaskingEntity struct { 3084 // Data masking mode. 3085 Mode *DataMaskingMode `json:"mode,omitempty"` 3086 3087 // The name of an entity to mask (e.g. a name of a header or a query parameter). 3088 Value *string `json:"value,omitempty"` 3089} 3090 3091// DelegationSettingsCreateOrUpdateOptions contains the optional parameters for the DelegationSettings.CreateOrUpdate method. 3092type DelegationSettingsCreateOrUpdateOptions struct { 3093 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3094 IfMatch *string 3095} 3096 3097// DelegationSettingsGetEntityTagOptions contains the optional parameters for the DelegationSettings.GetEntityTag method. 3098type DelegationSettingsGetEntityTagOptions struct { 3099 // placeholder for future optional parameters 3100} 3101 3102// DelegationSettingsGetOptions contains the optional parameters for the DelegationSettings.Get method. 3103type DelegationSettingsGetOptions struct { 3104 // placeholder for future optional parameters 3105} 3106 3107// DelegationSettingsListSecretsOptions contains the optional parameters for the DelegationSettings.ListSecrets method. 3108type DelegationSettingsListSecretsOptions struct { 3109 // placeholder for future optional parameters 3110} 3111 3112// DelegationSettingsUpdateOptions contains the optional parameters for the DelegationSettings.Update method. 3113type DelegationSettingsUpdateOptions struct { 3114 // placeholder for future optional parameters 3115} 3116 3117// DeletedServiceContract - Deleted Api Management Service information. 3118type DeletedServiceContract struct { 3119 Resource 3120 // Deleted Api Management Service details. 3121 Properties *DeletedServiceContractProperties `json:"properties,omitempty"` 3122 3123 // READ-ONLY; Api Management Service Master Location. 3124 Location *string `json:"location,omitempty" azure:"ro"` 3125} 3126 3127// MarshalJSON implements the json.Marshaller interface for type DeletedServiceContract. 3128func (d DeletedServiceContract) MarshalJSON() ([]byte, error) { 3129 objectMap := d.Resource.marshalInternal() 3130 populate(objectMap, "location", d.Location) 3131 populate(objectMap, "properties", d.Properties) 3132 return json.Marshal(objectMap) 3133} 3134 3135type DeletedServiceContractProperties struct { 3136 // UTC Timestamp when the service was soft-deleted. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 3137 DeletionDate *time.Time `json:"deletionDate,omitempty"` 3138 3139 // UTC Date and Time when the service will be automatically purged. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the 3140 // ISO 8601 standard. 3141 ScheduledPurgeDate *time.Time `json:"scheduledPurgeDate,omitempty"` 3142 3143 // Fully-qualified API Management Service Resource ID 3144 ServiceID *string `json:"serviceId,omitempty"` 3145} 3146 3147// MarshalJSON implements the json.Marshaller interface for type DeletedServiceContractProperties. 3148func (d DeletedServiceContractProperties) MarshalJSON() ([]byte, error) { 3149 objectMap := make(map[string]interface{}) 3150 populate(objectMap, "deletionDate", (*timeRFC3339)(d.DeletionDate)) 3151 populate(objectMap, "scheduledPurgeDate", (*timeRFC3339)(d.ScheduledPurgeDate)) 3152 populate(objectMap, "serviceId", d.ServiceID) 3153 return json.Marshal(objectMap) 3154} 3155 3156// UnmarshalJSON implements the json.Unmarshaller interface for type DeletedServiceContractProperties. 3157func (d *DeletedServiceContractProperties) UnmarshalJSON(data []byte) error { 3158 var rawMsg map[string]json.RawMessage 3159 if err := json.Unmarshal(data, &rawMsg); err != nil { 3160 return err 3161 } 3162 for key, val := range rawMsg { 3163 var err error 3164 switch key { 3165 case "deletionDate": 3166 var aux timeRFC3339 3167 err = unpopulate(val, &aux) 3168 d.DeletionDate = (*time.Time)(&aux) 3169 delete(rawMsg, key) 3170 case "scheduledPurgeDate": 3171 var aux timeRFC3339 3172 err = unpopulate(val, &aux) 3173 d.ScheduledPurgeDate = (*time.Time)(&aux) 3174 delete(rawMsg, key) 3175 case "serviceId": 3176 err = unpopulate(val, &d.ServiceID) 3177 delete(rawMsg, key) 3178 } 3179 if err != nil { 3180 return err 3181 } 3182 } 3183 return nil 3184} 3185 3186// DeletedServicesBeginPurgeOptions contains the optional parameters for the DeletedServices.BeginPurge method. 3187type DeletedServicesBeginPurgeOptions struct { 3188 // placeholder for future optional parameters 3189} 3190 3191// DeletedServicesCollection - Paged deleted Api Management Services List Representation. 3192type DeletedServicesCollection struct { 3193 // READ-ONLY; Next page link if any. 3194 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 3195 3196 // READ-ONLY; Page values. 3197 Value []*DeletedServiceContract `json:"value,omitempty" azure:"ro"` 3198} 3199 3200// MarshalJSON implements the json.Marshaller interface for type DeletedServicesCollection. 3201func (d DeletedServicesCollection) MarshalJSON() ([]byte, error) { 3202 objectMap := make(map[string]interface{}) 3203 populate(objectMap, "nextLink", d.NextLink) 3204 populate(objectMap, "value", d.Value) 3205 return json.Marshal(objectMap) 3206} 3207 3208// DeletedServicesGetByNameOptions contains the optional parameters for the DeletedServices.GetByName method. 3209type DeletedServicesGetByNameOptions struct { 3210 // placeholder for future optional parameters 3211} 3212 3213// DeletedServicesListBySubscriptionOptions contains the optional parameters for the DeletedServices.ListBySubscription method. 3214type DeletedServicesListBySubscriptionOptions struct { 3215 // placeholder for future optional parameters 3216} 3217 3218// DeployConfigurationParameterProperties - Parameters supplied to the Deploy Configuration operation. 3219type DeployConfigurationParameterProperties struct { 3220 // REQUIRED; The name of the Git branch from which the configuration is to be deployed to the configuration database. 3221 Branch *string `json:"branch,omitempty"` 3222 3223 // The value enforcing deleting subscriptions to products that are deleted in this update. 3224 Force *bool `json:"force,omitempty"` 3225} 3226 3227// DeployConfigurationParameters - Deploy Tenant Configuration Contract. 3228type DeployConfigurationParameters struct { 3229 // Deploy Configuration Parameter contract properties. 3230 Properties *DeployConfigurationParameterProperties `json:"properties,omitempty"` 3231} 3232 3233// DiagnosticCollection - Paged Diagnostic list representation. 3234type DiagnosticCollection struct { 3235 // Total record count number across all pages. 3236 Count *int64 `json:"count,omitempty"` 3237 3238 // Next page link if any. 3239 NextLink *string `json:"nextLink,omitempty"` 3240 3241 // Page values. 3242 Value []*DiagnosticContract `json:"value,omitempty"` 3243} 3244 3245// MarshalJSON implements the json.Marshaller interface for type DiagnosticCollection. 3246func (d DiagnosticCollection) MarshalJSON() ([]byte, error) { 3247 objectMap := make(map[string]interface{}) 3248 populate(objectMap, "count", d.Count) 3249 populate(objectMap, "nextLink", d.NextLink) 3250 populate(objectMap, "value", d.Value) 3251 return json.Marshal(objectMap) 3252} 3253 3254// DiagnosticContract - Diagnostic details. 3255type DiagnosticContract struct { 3256 Resource 3257 // Diagnostic entity contract properties. 3258 Properties *DiagnosticContractProperties `json:"properties,omitempty"` 3259} 3260 3261// MarshalJSON implements the json.Marshaller interface for type DiagnosticContract. 3262func (d DiagnosticContract) MarshalJSON() ([]byte, error) { 3263 objectMap := d.Resource.marshalInternal() 3264 populate(objectMap, "properties", d.Properties) 3265 return json.Marshal(objectMap) 3266} 3267 3268// DiagnosticContractProperties - Diagnostic Entity Properties 3269type DiagnosticContractProperties struct { 3270 // REQUIRED; Resource Id of a target logger. 3271 LoggerID *string `json:"loggerId,omitempty"` 3272 3273 // Specifies for what type of messages sampling settings should not apply. 3274 AlwaysLog *AlwaysLog `json:"alwaysLog,omitempty"` 3275 3276 // Diagnostic settings for incoming/outgoing HTTP messages to the Backend 3277 Backend *PipelineDiagnosticSettings `json:"backend,omitempty"` 3278 3279 // Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. 3280 Frontend *PipelineDiagnosticSettings `json:"frontend,omitempty"` 3281 3282 // Sets correlation protocol to use for Application Insights diagnostics. 3283 HTTPCorrelationProtocol *HTTPCorrelationProtocol `json:"httpCorrelationProtocol,omitempty"` 3284 3285 // Log the ClientIP. Default is false. 3286 LogClientIP *bool `json:"logClientIp,omitempty"` 3287 3288 // The format of the Operation Name for Application Insights telemetries. Default is Name. 3289 OperationNameFormat *OperationNameFormat `json:"operationNameFormat,omitempty"` 3290 3291 // Sampling settings for Diagnostic. 3292 Sampling *SamplingSettings `json:"sampling,omitempty"` 3293 3294 // The verbosity level applied to traces emitted by trace policies. 3295 Verbosity *Verbosity `json:"verbosity,omitempty"` 3296} 3297 3298// DiagnosticCreateOrUpdateOptions contains the optional parameters for the Diagnostic.CreateOrUpdate method. 3299type DiagnosticCreateOrUpdateOptions struct { 3300 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3301 IfMatch *string 3302} 3303 3304// DiagnosticDeleteOptions contains the optional parameters for the Diagnostic.Delete method. 3305type DiagnosticDeleteOptions struct { 3306 // placeholder for future optional parameters 3307} 3308 3309// DiagnosticGetEntityTagOptions contains the optional parameters for the Diagnostic.GetEntityTag method. 3310type DiagnosticGetEntityTagOptions struct { 3311 // placeholder for future optional parameters 3312} 3313 3314// DiagnosticGetOptions contains the optional parameters for the Diagnostic.Get method. 3315type DiagnosticGetOptions struct { 3316 // placeholder for future optional parameters 3317} 3318 3319// DiagnosticListByServiceOptions contains the optional parameters for the Diagnostic.ListByService method. 3320type DiagnosticListByServiceOptions struct { 3321 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 3322 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 3323 Filter *string 3324 // Number of records to skip. 3325 Skip *int32 3326 // Number of records to return. 3327 Top *int32 3328} 3329 3330// DiagnosticUpdateOptions contains the optional parameters for the Diagnostic.Update method. 3331type DiagnosticUpdateOptions struct { 3332 // placeholder for future optional parameters 3333} 3334 3335// EmailTemplateCollection - Paged email template list representation. 3336type EmailTemplateCollection struct { 3337 // Total record count number across all pages. 3338 Count *int64 `json:"count,omitempty"` 3339 3340 // Next page link if any. 3341 NextLink *string `json:"nextLink,omitempty"` 3342 3343 // Page values. 3344 Value []*EmailTemplateContract `json:"value,omitempty"` 3345} 3346 3347// MarshalJSON implements the json.Marshaller interface for type EmailTemplateCollection. 3348func (e EmailTemplateCollection) MarshalJSON() ([]byte, error) { 3349 objectMap := make(map[string]interface{}) 3350 populate(objectMap, "count", e.Count) 3351 populate(objectMap, "nextLink", e.NextLink) 3352 populate(objectMap, "value", e.Value) 3353 return json.Marshal(objectMap) 3354} 3355 3356// EmailTemplateContract - Email Template details. 3357type EmailTemplateContract struct { 3358 Resource 3359 // Email Template entity contract properties. 3360 Properties *EmailTemplateContractProperties `json:"properties,omitempty"` 3361} 3362 3363// MarshalJSON implements the json.Marshaller interface for type EmailTemplateContract. 3364func (e EmailTemplateContract) MarshalJSON() ([]byte, error) { 3365 objectMap := e.Resource.marshalInternal() 3366 populate(objectMap, "properties", e.Properties) 3367 return json.Marshal(objectMap) 3368} 3369 3370// EmailTemplateContractProperties - Email Template Contract properties. 3371type EmailTemplateContractProperties struct { 3372 // REQUIRED; Email Template Body. This should be a valid XDocument 3373 Body *string `json:"body,omitempty"` 3374 3375 // REQUIRED; Subject of the Template. 3376 Subject *string `json:"subject,omitempty"` 3377 3378 // Description of the Email Template. 3379 Description *string `json:"description,omitempty"` 3380 3381 // Email Template Parameter values. 3382 Parameters []*EmailTemplateParametersContractProperties `json:"parameters,omitempty"` 3383 3384 // Title of the Template. 3385 Title *string `json:"title,omitempty"` 3386 3387 // READ-ONLY; Whether the template is the default template provided by Api Management or has been edited. 3388 IsDefault *bool `json:"isDefault,omitempty" azure:"ro"` 3389} 3390 3391// MarshalJSON implements the json.Marshaller interface for type EmailTemplateContractProperties. 3392func (e EmailTemplateContractProperties) MarshalJSON() ([]byte, error) { 3393 objectMap := make(map[string]interface{}) 3394 populate(objectMap, "body", e.Body) 3395 populate(objectMap, "description", e.Description) 3396 populate(objectMap, "isDefault", e.IsDefault) 3397 populate(objectMap, "parameters", e.Parameters) 3398 populate(objectMap, "subject", e.Subject) 3399 populate(objectMap, "title", e.Title) 3400 return json.Marshal(objectMap) 3401} 3402 3403// EmailTemplateCreateOrUpdateOptions contains the optional parameters for the EmailTemplate.CreateOrUpdate method. 3404type EmailTemplateCreateOrUpdateOptions struct { 3405 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3406 IfMatch *string 3407} 3408 3409// EmailTemplateDeleteOptions contains the optional parameters for the EmailTemplate.Delete method. 3410type EmailTemplateDeleteOptions struct { 3411 // placeholder for future optional parameters 3412} 3413 3414// EmailTemplateGetEntityTagOptions contains the optional parameters for the EmailTemplate.GetEntityTag method. 3415type EmailTemplateGetEntityTagOptions struct { 3416 // placeholder for future optional parameters 3417} 3418 3419// EmailTemplateGetOptions contains the optional parameters for the EmailTemplate.Get method. 3420type EmailTemplateGetOptions struct { 3421 // placeholder for future optional parameters 3422} 3423 3424// EmailTemplateListByServiceOptions contains the optional parameters for the EmailTemplate.ListByService method. 3425type EmailTemplateListByServiceOptions struct { 3426 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 3427 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 3428 Filter *string 3429 // Number of records to skip. 3430 Skip *int32 3431 // Number of records to return. 3432 Top *int32 3433} 3434 3435// EmailTemplateParametersContractProperties - Email Template Parameter contract. 3436type EmailTemplateParametersContractProperties struct { 3437 // Template parameter description. 3438 Description *string `json:"description,omitempty"` 3439 3440 // Template parameter name. 3441 Name *string `json:"name,omitempty"` 3442 3443 // Template parameter title. 3444 Title *string `json:"title,omitempty"` 3445} 3446 3447// EmailTemplateUpdateOptions contains the optional parameters for the EmailTemplate.Update method. 3448type EmailTemplateUpdateOptions struct { 3449 // placeholder for future optional parameters 3450} 3451 3452// EmailTemplateUpdateParameterProperties - Email Template Update Contract properties. 3453type EmailTemplateUpdateParameterProperties struct { 3454 // Email Template Body. This should be a valid XDocument 3455 Body *string `json:"body,omitempty"` 3456 3457 // Description of the Email Template. 3458 Description *string `json:"description,omitempty"` 3459 3460 // Email Template Parameter values. 3461 Parameters []*EmailTemplateParametersContractProperties `json:"parameters,omitempty"` 3462 3463 // Subject of the Template. 3464 Subject *string `json:"subject,omitempty"` 3465 3466 // Title of the Template. 3467 Title *string `json:"title,omitempty"` 3468} 3469 3470// MarshalJSON implements the json.Marshaller interface for type EmailTemplateUpdateParameterProperties. 3471func (e EmailTemplateUpdateParameterProperties) MarshalJSON() ([]byte, error) { 3472 objectMap := make(map[string]interface{}) 3473 populate(objectMap, "body", e.Body) 3474 populate(objectMap, "description", e.Description) 3475 populate(objectMap, "parameters", e.Parameters) 3476 populate(objectMap, "subject", e.Subject) 3477 populate(objectMap, "title", e.Title) 3478 return json.Marshal(objectMap) 3479} 3480 3481// EmailTemplateUpdateParameters - Email Template update Parameters. 3482type EmailTemplateUpdateParameters struct { 3483 // Email Template Update contract properties. 3484 Properties *EmailTemplateUpdateParameterProperties `json:"properties,omitempty"` 3485} 3486 3487// MarshalJSON implements the json.Marshaller interface for type EmailTemplateUpdateParameters. 3488func (e EmailTemplateUpdateParameters) MarshalJSON() ([]byte, error) { 3489 objectMap := make(map[string]interface{}) 3490 populate(objectMap, "properties", e.Properties) 3491 return json.Marshal(objectMap) 3492} 3493 3494// ErrorFieldContract - Error Field contract. 3495type ErrorFieldContract struct { 3496 // Property level error code. 3497 Code *string `json:"code,omitempty"` 3498 3499 // Human-readable representation of property-level error. 3500 Message *string `json:"message,omitempty"` 3501 3502 // Property name. 3503 Target *string `json:"target,omitempty"` 3504} 3505 3506// ErrorResponse - Error Response. 3507// Implements the error and azcore.HTTPResponse interfaces. 3508type ErrorResponse struct { 3509 raw string 3510 // Properties of the Error Response. 3511 InnerError *ErrorResponseBody `json:"error,omitempty"` 3512} 3513 3514// Error implements the error interface for type ErrorResponse. 3515// The contents of the error text are not contractual and subject to change. 3516func (e ErrorResponse) Error() string { 3517 return e.raw 3518} 3519 3520// ErrorResponseBody - Error Body contract. 3521type ErrorResponseBody struct { 3522 // Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response. 3523 Code *string `json:"code,omitempty"` 3524 3525 // The list of invalid fields send in request, in case of validation error. 3526 Details []*ErrorFieldContract `json:"details,omitempty"` 3527 3528 // Human-readable representation of the error. 3529 Message *string `json:"message,omitempty"` 3530} 3531 3532// MarshalJSON implements the json.Marshaller interface for type ErrorResponseBody. 3533func (e ErrorResponseBody) MarshalJSON() ([]byte, error) { 3534 objectMap := make(map[string]interface{}) 3535 populate(objectMap, "code", e.Code) 3536 populate(objectMap, "details", e.Details) 3537 populate(objectMap, "message", e.Message) 3538 return json.Marshal(objectMap) 3539} 3540 3541// GatewayAPICreateOrUpdateOptions contains the optional parameters for the GatewayAPI.CreateOrUpdate method. 3542type GatewayAPICreateOrUpdateOptions struct { 3543 Parameters *AssociationContract 3544} 3545 3546// GatewayAPIDeleteOptions contains the optional parameters for the GatewayAPI.Delete method. 3547type GatewayAPIDeleteOptions struct { 3548 // placeholder for future optional parameters 3549} 3550 3551// GatewayAPIGetEntityTagOptions contains the optional parameters for the GatewayAPI.GetEntityTag method. 3552type GatewayAPIGetEntityTagOptions struct { 3553 // placeholder for future optional parameters 3554} 3555 3556// GatewayAPIListByServiceOptions contains the optional parameters for the GatewayAPI.ListByService method. 3557type GatewayAPIListByServiceOptions struct { 3558 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 3559 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 3560 Filter *string 3561 // Number of records to skip. 3562 Skip *int32 3563 // Number of records to return. 3564 Top *int32 3565} 3566 3567// GatewayCertificateAuthorityCollection - Paged Gateway certificate authority list representation. 3568type GatewayCertificateAuthorityCollection struct { 3569 // READ-ONLY; Next page link if any. 3570 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 3571 3572 // READ-ONLY; Page values. 3573 Value []*GatewayCertificateAuthorityContract `json:"value,omitempty" azure:"ro"` 3574} 3575 3576// MarshalJSON implements the json.Marshaller interface for type GatewayCertificateAuthorityCollection. 3577func (g GatewayCertificateAuthorityCollection) MarshalJSON() ([]byte, error) { 3578 objectMap := make(map[string]interface{}) 3579 populate(objectMap, "nextLink", g.NextLink) 3580 populate(objectMap, "value", g.Value) 3581 return json.Marshal(objectMap) 3582} 3583 3584// GatewayCertificateAuthorityContract - Gateway certificate authority details. 3585type GatewayCertificateAuthorityContract struct { 3586 Resource 3587 // Gateway certificate authority details. 3588 Properties *GatewayCertificateAuthorityContractProperties `json:"properties,omitempty"` 3589} 3590 3591// MarshalJSON implements the json.Marshaller interface for type GatewayCertificateAuthorityContract. 3592func (g GatewayCertificateAuthorityContract) MarshalJSON() ([]byte, error) { 3593 objectMap := g.Resource.marshalInternal() 3594 populate(objectMap, "properties", g.Properties) 3595 return json.Marshal(objectMap) 3596} 3597 3598// GatewayCertificateAuthorityContractProperties - Gateway certificate authority details. 3599type GatewayCertificateAuthorityContractProperties struct { 3600 // Determines whether certificate authority is trusted. 3601 IsTrusted *bool `json:"isTrusted,omitempty"` 3602} 3603 3604// GatewayCertificateAuthorityCreateOrUpdateOptions contains the optional parameters for the GatewayCertificateAuthority.CreateOrUpdate method. 3605type GatewayCertificateAuthorityCreateOrUpdateOptions struct { 3606 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3607 IfMatch *string 3608} 3609 3610// GatewayCertificateAuthorityDeleteOptions contains the optional parameters for the GatewayCertificateAuthority.Delete method. 3611type GatewayCertificateAuthorityDeleteOptions struct { 3612 // placeholder for future optional parameters 3613} 3614 3615// GatewayCertificateAuthorityGetEntityTagOptions contains the optional parameters for the GatewayCertificateAuthority.GetEntityTag method. 3616type GatewayCertificateAuthorityGetEntityTagOptions struct { 3617 // placeholder for future optional parameters 3618} 3619 3620// GatewayCertificateAuthorityGetOptions contains the optional parameters for the GatewayCertificateAuthority.Get method. 3621type GatewayCertificateAuthorityGetOptions struct { 3622 // placeholder for future optional parameters 3623} 3624 3625// GatewayCertificateAuthorityListByServiceOptions contains the optional parameters for the GatewayCertificateAuthority.ListByService method. 3626type GatewayCertificateAuthorityListByServiceOptions struct { 3627 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | eq, 3628 // ne | |</br> 3629 Filter *string 3630 // Number of records to skip. 3631 Skip *int32 3632 // Number of records to return. 3633 Top *int32 3634} 3635 3636// GatewayCollection - Paged Gateway list representation. 3637type GatewayCollection struct { 3638 // Total record count number across all pages. 3639 Count *int64 `json:"count,omitempty"` 3640 3641 // READ-ONLY; Next page link if any. 3642 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 3643 3644 // READ-ONLY; Page values. 3645 Value []*GatewayContract `json:"value,omitempty" azure:"ro"` 3646} 3647 3648// MarshalJSON implements the json.Marshaller interface for type GatewayCollection. 3649func (g GatewayCollection) MarshalJSON() ([]byte, error) { 3650 objectMap := make(map[string]interface{}) 3651 populate(objectMap, "count", g.Count) 3652 populate(objectMap, "nextLink", g.NextLink) 3653 populate(objectMap, "value", g.Value) 3654 return json.Marshal(objectMap) 3655} 3656 3657// GatewayContract - Gateway details. 3658type GatewayContract struct { 3659 Resource 3660 // Gateway details. 3661 Properties *GatewayContractProperties `json:"properties,omitempty"` 3662} 3663 3664// MarshalJSON implements the json.Marshaller interface for type GatewayContract. 3665func (g GatewayContract) MarshalJSON() ([]byte, error) { 3666 objectMap := g.Resource.marshalInternal() 3667 populate(objectMap, "properties", g.Properties) 3668 return json.Marshal(objectMap) 3669} 3670 3671// GatewayContractProperties - Properties of the Gateway contract. 3672type GatewayContractProperties struct { 3673 // Gateway description 3674 Description *string `json:"description,omitempty"` 3675 3676 // Gateway location. 3677 LocationData *ResourceLocationDataContract `json:"locationData,omitempty"` 3678} 3679 3680// GatewayCreateOrUpdateOptions contains the optional parameters for the Gateway.CreateOrUpdate method. 3681type GatewayCreateOrUpdateOptions struct { 3682 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3683 IfMatch *string 3684} 3685 3686// GatewayDeleteOptions contains the optional parameters for the Gateway.Delete method. 3687type GatewayDeleteOptions struct { 3688 // placeholder for future optional parameters 3689} 3690 3691// GatewayGenerateTokenOptions contains the optional parameters for the Gateway.GenerateToken method. 3692type GatewayGenerateTokenOptions struct { 3693 // placeholder for future optional parameters 3694} 3695 3696// GatewayGetEntityTagOptions contains the optional parameters for the Gateway.GetEntityTag method. 3697type GatewayGetEntityTagOptions struct { 3698 // placeholder for future optional parameters 3699} 3700 3701// GatewayGetOptions contains the optional parameters for the Gateway.Get method. 3702type GatewayGetOptions struct { 3703 // placeholder for future optional parameters 3704} 3705 3706// GatewayHostnameConfigurationCollection - Paged Gateway hostname configuration list representation. 3707type GatewayHostnameConfigurationCollection struct { 3708 // READ-ONLY; Next page link if any. 3709 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 3710 3711 // READ-ONLY; Page values. 3712 Value []*GatewayHostnameConfigurationContract `json:"value,omitempty" azure:"ro"` 3713} 3714 3715// MarshalJSON implements the json.Marshaller interface for type GatewayHostnameConfigurationCollection. 3716func (g GatewayHostnameConfigurationCollection) MarshalJSON() ([]byte, error) { 3717 objectMap := make(map[string]interface{}) 3718 populate(objectMap, "nextLink", g.NextLink) 3719 populate(objectMap, "value", g.Value) 3720 return json.Marshal(objectMap) 3721} 3722 3723// GatewayHostnameConfigurationContract - Gateway hostname configuration details. 3724type GatewayHostnameConfigurationContract struct { 3725 Resource 3726 // Gateway hostname configuration details. 3727 Properties *GatewayHostnameConfigurationContractProperties `json:"properties,omitempty"` 3728} 3729 3730// MarshalJSON implements the json.Marshaller interface for type GatewayHostnameConfigurationContract. 3731func (g GatewayHostnameConfigurationContract) MarshalJSON() ([]byte, error) { 3732 objectMap := g.Resource.marshalInternal() 3733 populate(objectMap, "properties", g.Properties) 3734 return json.Marshal(objectMap) 3735} 3736 3737// GatewayHostnameConfigurationContractProperties - Gateway hostname configuration details. 3738type GatewayHostnameConfigurationContractProperties struct { 3739 // Identifier of Certificate entity that will be used for TLS connection establishment 3740 CertificateID *string `json:"certificateId,omitempty"` 3741 3742 // Specifies if HTTP/2.0 is supported 3743 HTTP2Enabled *bool `json:"http2Enabled,omitempty"` 3744 3745 // Hostname value. Supports valid domain name, partial or full wildcard 3746 Hostname *string `json:"hostname,omitempty"` 3747 3748 // Determines whether gateway requests client certificate 3749 NegotiateClientCertificate *bool `json:"negotiateClientCertificate,omitempty"` 3750 3751 // Specifies if TLS 1.0 is supported 3752 Tls10Enabled *bool `json:"tls10Enabled,omitempty"` 3753 3754 // Specifies if TLS 1.1 is supported 3755 Tls11Enabled *bool `json:"tls11Enabled,omitempty"` 3756} 3757 3758// GatewayHostnameConfigurationCreateOrUpdateOptions contains the optional parameters for the GatewayHostnameConfiguration.CreateOrUpdate method. 3759type GatewayHostnameConfigurationCreateOrUpdateOptions struct { 3760 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3761 IfMatch *string 3762} 3763 3764// GatewayHostnameConfigurationDeleteOptions contains the optional parameters for the GatewayHostnameConfiguration.Delete method. 3765type GatewayHostnameConfigurationDeleteOptions struct { 3766 // placeholder for future optional parameters 3767} 3768 3769// GatewayHostnameConfigurationGetEntityTagOptions contains the optional parameters for the GatewayHostnameConfiguration.GetEntityTag method. 3770type GatewayHostnameConfigurationGetEntityTagOptions struct { 3771 // placeholder for future optional parameters 3772} 3773 3774// GatewayHostnameConfigurationGetOptions contains the optional parameters for the GatewayHostnameConfiguration.Get method. 3775type GatewayHostnameConfigurationGetOptions struct { 3776 // placeholder for future optional parameters 3777} 3778 3779// GatewayHostnameConfigurationListByServiceOptions contains the optional parameters for the GatewayHostnameConfiguration.ListByService method. 3780type GatewayHostnameConfigurationListByServiceOptions struct { 3781 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 3782 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| hostname | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 3783 // endswith |</br> 3784 Filter *string 3785 // Number of records to skip. 3786 Skip *int32 3787 // Number of records to return. 3788 Top *int32 3789} 3790 3791// GatewayKeyRegenerationRequestContract - Gateway key regeneration request contract properties. 3792type GatewayKeyRegenerationRequestContract struct { 3793 // REQUIRED; The Key being regenerated. 3794 KeyType *KeyType `json:"keyType,omitempty"` 3795} 3796 3797// GatewayKeysContract - Gateway authentication keys. 3798type GatewayKeysContract struct { 3799 // Primary gateway key. 3800 Primary *string `json:"primary,omitempty"` 3801 3802 // Secondary gateway key. 3803 Secondary *string `json:"secondary,omitempty"` 3804} 3805 3806// GatewayListByServiceOptions contains the optional parameters for the Gateway.ListByService method. 3807type GatewayListByServiceOptions struct { 3808 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 3809 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| region | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 3810 // endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 3811 Filter *string 3812 // Number of records to skip. 3813 Skip *int32 3814 // Number of records to return. 3815 Top *int32 3816} 3817 3818// GatewayListKeysOptions contains the optional parameters for the Gateway.ListKeys method. 3819type GatewayListKeysOptions struct { 3820 // placeholder for future optional parameters 3821} 3822 3823// GatewayRegenerateKeyOptions contains the optional parameters for the Gateway.RegenerateKey method. 3824type GatewayRegenerateKeyOptions struct { 3825 // placeholder for future optional parameters 3826} 3827 3828// GatewayTokenContract - Gateway access token. 3829type GatewayTokenContract struct { 3830 // Shared Access Authentication token value for the Gateway. 3831 Value *string `json:"value,omitempty"` 3832} 3833 3834// GatewayTokenRequestContract - Gateway token request contract properties. 3835type GatewayTokenRequestContract struct { 3836 // REQUIRED; The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ 3837 // as specified by the ISO 8601 standard. 3838 Expiry *time.Time `json:"expiry,omitempty"` 3839 3840 // REQUIRED; The Key to be used to generate gateway token. 3841 KeyType *KeyType `json:"keyType,omitempty"` 3842} 3843 3844// MarshalJSON implements the json.Marshaller interface for type GatewayTokenRequestContract. 3845func (g GatewayTokenRequestContract) MarshalJSON() ([]byte, error) { 3846 objectMap := make(map[string]interface{}) 3847 populate(objectMap, "expiry", (*timeRFC3339)(g.Expiry)) 3848 populate(objectMap, "keyType", g.KeyType) 3849 return json.Marshal(objectMap) 3850} 3851 3852// UnmarshalJSON implements the json.Unmarshaller interface for type GatewayTokenRequestContract. 3853func (g *GatewayTokenRequestContract) UnmarshalJSON(data []byte) error { 3854 var rawMsg map[string]json.RawMessage 3855 if err := json.Unmarshal(data, &rawMsg); err != nil { 3856 return err 3857 } 3858 for key, val := range rawMsg { 3859 var err error 3860 switch key { 3861 case "expiry": 3862 var aux timeRFC3339 3863 err = unpopulate(val, &aux) 3864 g.Expiry = (*time.Time)(&aux) 3865 delete(rawMsg, key) 3866 case "keyType": 3867 err = unpopulate(val, &g.KeyType) 3868 delete(rawMsg, key) 3869 } 3870 if err != nil { 3871 return err 3872 } 3873 } 3874 return nil 3875} 3876 3877// GatewayUpdateOptions contains the optional parameters for the Gateway.Update method. 3878type GatewayUpdateOptions struct { 3879 // placeholder for future optional parameters 3880} 3881 3882// GenerateSsoURLResult - Generate SSO Url operations response details. 3883type GenerateSsoURLResult struct { 3884 // Redirect Url containing the SSO URL value. 3885 Value *string `json:"value,omitempty"` 3886} 3887 3888// GroupCollection - Paged Group list representation. 3889type GroupCollection struct { 3890 // Total record count number across all pages. 3891 Count *int64 `json:"count,omitempty"` 3892 3893 // Next page link if any. 3894 NextLink *string `json:"nextLink,omitempty"` 3895 3896 // Page values. 3897 Value []*GroupContract `json:"value,omitempty"` 3898} 3899 3900// MarshalJSON implements the json.Marshaller interface for type GroupCollection. 3901func (g GroupCollection) MarshalJSON() ([]byte, error) { 3902 objectMap := make(map[string]interface{}) 3903 populate(objectMap, "count", g.Count) 3904 populate(objectMap, "nextLink", g.NextLink) 3905 populate(objectMap, "value", g.Value) 3906 return json.Marshal(objectMap) 3907} 3908 3909// GroupContract - Contract details. 3910type GroupContract struct { 3911 Resource 3912 // Group entity contract properties. 3913 Properties *GroupContractProperties `json:"properties,omitempty"` 3914} 3915 3916// MarshalJSON implements the json.Marshaller interface for type GroupContract. 3917func (g GroupContract) MarshalJSON() ([]byte, error) { 3918 objectMap := g.Resource.marshalInternal() 3919 populate(objectMap, "properties", g.Properties) 3920 return json.Marshal(objectMap) 3921} 3922 3923// GroupContractProperties - Group contract Properties. 3924type GroupContractProperties struct { 3925 // REQUIRED; Group name. 3926 DisplayName *string `json:"displayName,omitempty"` 3927 3928 // Group description. Can contain HTML formatting tags. 3929 Description *string `json:"description,omitempty"` 3930 3931 // For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://<tenant>.onmicrosoft.com/groups/<group 3932 // object id>; otherwise 3933 // the value is null. 3934 ExternalID *string `json:"externalId,omitempty"` 3935 3936 // Group type. 3937 Type *GroupType `json:"type,omitempty"` 3938 3939 // READ-ONLY; true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false. 3940 BuiltIn *bool `json:"builtIn,omitempty" azure:"ro"` 3941} 3942 3943// GroupCreateOrUpdateOptions contains the optional parameters for the Group.CreateOrUpdate method. 3944type GroupCreateOrUpdateOptions struct { 3945 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 3946 IfMatch *string 3947} 3948 3949// GroupCreateParameters - Parameters supplied to the Create Group operation. 3950type GroupCreateParameters struct { 3951 // Properties supplied to Create Group operation. 3952 Properties *GroupCreateParametersProperties `json:"properties,omitempty"` 3953} 3954 3955// GroupCreateParametersProperties - Parameters supplied to the Create Group operation. 3956type GroupCreateParametersProperties struct { 3957 // REQUIRED; Group name. 3958 DisplayName *string `json:"displayName,omitempty"` 3959 3960 // Group description. 3961 Description *string `json:"description,omitempty"` 3962 3963 // Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://<tenant>.onmicrosoft.com/groups/<group 3964 // object 3965 // id>; otherwise the value is null. 3966 ExternalID *string `json:"externalId,omitempty"` 3967 3968 // Group type. 3969 Type *GroupType `json:"type,omitempty"` 3970} 3971 3972// GroupDeleteOptions contains the optional parameters for the Group.Delete method. 3973type GroupDeleteOptions struct { 3974 // placeholder for future optional parameters 3975} 3976 3977// GroupGetEntityTagOptions contains the optional parameters for the Group.GetEntityTag method. 3978type GroupGetEntityTagOptions struct { 3979 // placeholder for future optional parameters 3980} 3981 3982// GroupGetOptions contains the optional parameters for the Group.Get method. 3983type GroupGetOptions struct { 3984 // placeholder for future optional parameters 3985} 3986 3987// GroupListByServiceOptions contains the optional parameters for the Group.ListByService method. 3988type GroupListByServiceOptions struct { 3989 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 3990 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 3991 // endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| externalId | filter | eq | |</br> 3992 Filter *string 3993 // Number of records to skip. 3994 Skip *int32 3995 // Number of records to return. 3996 Top *int32 3997} 3998 3999// GroupUpdateOptions contains the optional parameters for the Group.Update method. 4000type GroupUpdateOptions struct { 4001 // placeholder for future optional parameters 4002} 4003 4004// GroupUpdateParameters - Parameters supplied to the Update Group operation. 4005type GroupUpdateParameters struct { 4006 // Group entity update contract properties. 4007 Properties *GroupUpdateParametersProperties `json:"properties,omitempty"` 4008} 4009 4010// MarshalJSON implements the json.Marshaller interface for type GroupUpdateParameters. 4011func (g GroupUpdateParameters) MarshalJSON() ([]byte, error) { 4012 objectMap := make(map[string]interface{}) 4013 populate(objectMap, "properties", g.Properties) 4014 return json.Marshal(objectMap) 4015} 4016 4017// GroupUpdateParametersProperties - Parameters supplied to the Update Group operation. 4018type GroupUpdateParametersProperties struct { 4019 // Group description. 4020 Description *string `json:"description,omitempty"` 4021 4022 // Group name. 4023 DisplayName *string `json:"displayName,omitempty"` 4024 4025 // Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://<tenant>.onmicrosoft.com/groups/<group 4026 // object 4027 // id>; otherwise the value is null. 4028 ExternalID *string `json:"externalId,omitempty"` 4029 4030 // Group type. 4031 Type *GroupType `json:"type,omitempty"` 4032} 4033 4034// GroupUserCheckEntityExistsOptions contains the optional parameters for the GroupUser.CheckEntityExists method. 4035type GroupUserCheckEntityExistsOptions struct { 4036 // placeholder for future optional parameters 4037} 4038 4039// GroupUserCreateOptions contains the optional parameters for the GroupUser.Create method. 4040type GroupUserCreateOptions struct { 4041 // placeholder for future optional parameters 4042} 4043 4044// GroupUserDeleteOptions contains the optional parameters for the GroupUser.Delete method. 4045type GroupUserDeleteOptions struct { 4046 // placeholder for future optional parameters 4047} 4048 4049// GroupUserListOptions contains the optional parameters for the GroupUser.List method. 4050type GroupUserListOptions struct { 4051 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 4052 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 4053 // endswith |</br>| lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| email | filter | ge, le, eq, ne, gt, 4054 // lt | substringof, contains, startswith, endswith |</br>| registrationDate | filter | ge, le, eq, ne, gt, lt | |</br>| note | filter | ge, le, eq, ne, 4055 // gt, lt | substringof, contains, startswith, endswith |</br> 4056 Filter *string 4057 // Number of records to skip. 4058 Skip *int32 4059 // Number of records to return. 4060 Top *int32 4061} 4062 4063// HTTPMessageDiagnostic - Http message diagnostic settings. 4064type HTTPMessageDiagnostic struct { 4065 // Body logging settings. 4066 Body *BodyDiagnosticSettings `json:"body,omitempty"` 4067 4068 // Data masking settings. 4069 DataMasking *DataMasking `json:"dataMasking,omitempty"` 4070 4071 // Array of HTTP Headers to log. 4072 Headers []*string `json:"headers,omitempty"` 4073} 4074 4075// MarshalJSON implements the json.Marshaller interface for type HTTPMessageDiagnostic. 4076func (h HTTPMessageDiagnostic) MarshalJSON() ([]byte, error) { 4077 objectMap := make(map[string]interface{}) 4078 populate(objectMap, "body", h.Body) 4079 populate(objectMap, "dataMasking", h.DataMasking) 4080 populate(objectMap, "headers", h.Headers) 4081 return json.Marshal(objectMap) 4082} 4083 4084// HostnameConfiguration - Custom hostname configuration. 4085type HostnameConfiguration struct { 4086 // REQUIRED; Hostname to configure on the Api Management service. 4087 HostName *string `json:"hostName,omitempty"` 4088 4089 // REQUIRED; Hostname type. 4090 Type *HostnameType `json:"type,omitempty"` 4091 4092 // Certificate information. 4093 Certificate *CertificateInformation `json:"certificate,omitempty"` 4094 4095 // Certificate Password. 4096 CertificatePassword *string `json:"certificatePassword,omitempty"` 4097 4098 // Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this 4099 // will be the certificate that will be challenged. 4100 // The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied 4101 // to Proxy Hostname Type. 4102 DefaultSSLBinding *bool `json:"defaultSslBinding,omitempty"` 4103 4104 // Base64 Encoded certificate. 4105 EncodedCertificate *string `json:"encodedCertificate,omitempty"` 4106 4107 // System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to the keyVault containing the SSL certificate. 4108 IdentityClientID *string `json:"identityClientId,omitempty"` 4109 4110 // Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. 4111 // This requires Api Management service to be 4112 // configured with aka.ms/apimmsi. The secret should be of type application/x-pkcs12 4113 KeyVaultID *string `json:"keyVaultId,omitempty"` 4114 4115 // Specify true to always negotiate client certificate on the hostname. Default Value is false. 4116 NegotiateClientCertificate *bool `json:"negotiateClientCertificate,omitempty"` 4117} 4118 4119// IdentityProviderBaseParameters - Identity Provider Base Parameter Properties. 4120type IdentityProviderBaseParameters struct { 4121 // List of Allowed Tenants when configuring Azure Active Directory login. 4122 AllowedTenants []*string `json:"allowedTenants,omitempty"` 4123 4124 // OpenID Connect discovery endpoint hostname for AAD or AAD B2C. 4125 Authority *string `json:"authority,omitempty"` 4126 4127 // Password Reset Policy Name. Only applies to AAD B2C Identity Provider. 4128 PasswordResetPolicyName *string `json:"passwordResetPolicyName,omitempty"` 4129 4130 // Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. 4131 ProfileEditingPolicyName *string `json:"profileEditingPolicyName,omitempty"` 4132 4133 // Signin Policy Name. Only applies to AAD B2C Identity Provider. 4134 SigninPolicyName *string `json:"signinPolicyName,omitempty"` 4135 4136 // The TenantId to use instead of Common when logging into Active Directory 4137 SigninTenant *string `json:"signinTenant,omitempty"` 4138 4139 // Signup Policy Name. Only applies to AAD B2C Identity Provider. 4140 SignupPolicyName *string `json:"signupPolicyName,omitempty"` 4141 4142 // Identity Provider Type identifier. 4143 Type *IdentityProviderType `json:"type,omitempty"` 4144} 4145 4146// MarshalJSON implements the json.Marshaller interface for type IdentityProviderBaseParameters. 4147func (i IdentityProviderBaseParameters) MarshalJSON() ([]byte, error) { 4148 objectMap := i.marshalInternal() 4149 return json.Marshal(objectMap) 4150} 4151 4152func (i IdentityProviderBaseParameters) marshalInternal() map[string]interface{} { 4153 objectMap := make(map[string]interface{}) 4154 populate(objectMap, "allowedTenants", i.AllowedTenants) 4155 populate(objectMap, "authority", i.Authority) 4156 populate(objectMap, "passwordResetPolicyName", i.PasswordResetPolicyName) 4157 populate(objectMap, "profileEditingPolicyName", i.ProfileEditingPolicyName) 4158 populate(objectMap, "signinPolicyName", i.SigninPolicyName) 4159 populate(objectMap, "signinTenant", i.SigninTenant) 4160 populate(objectMap, "signupPolicyName", i.SignupPolicyName) 4161 populate(objectMap, "type", i.Type) 4162 return objectMap 4163} 4164 4165// IdentityProviderContract - Identity Provider details. 4166type IdentityProviderContract struct { 4167 Resource 4168 // Identity Provider contract properties. 4169 Properties *IdentityProviderContractProperties `json:"properties,omitempty"` 4170} 4171 4172// MarshalJSON implements the json.Marshaller interface for type IdentityProviderContract. 4173func (i IdentityProviderContract) MarshalJSON() ([]byte, error) { 4174 objectMap := i.Resource.marshalInternal() 4175 populate(objectMap, "properties", i.Properties) 4176 return json.Marshal(objectMap) 4177} 4178 4179// IdentityProviderContractProperties - The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be 4180// used to enable access to the API Management service developer portal for all users. 4181type IdentityProviderContractProperties struct { 4182 IdentityProviderBaseParameters 4183 // REQUIRED; Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft. 4184 ClientID *string `json:"clientId,omitempty"` 4185 4186 // Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, 4187 // API Key for Google login, Public Key for 4188 // Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 4189 ClientSecret *string `json:"clientSecret,omitempty"` 4190} 4191 4192// MarshalJSON implements the json.Marshaller interface for type IdentityProviderContractProperties. 4193func (i IdentityProviderContractProperties) MarshalJSON() ([]byte, error) { 4194 objectMap := i.IdentityProviderBaseParameters.marshalInternal() 4195 populate(objectMap, "clientId", i.ClientID) 4196 populate(objectMap, "clientSecret", i.ClientSecret) 4197 return json.Marshal(objectMap) 4198} 4199 4200// IdentityProviderCreateContract - Identity Provider details. 4201type IdentityProviderCreateContract struct { 4202 Resource 4203 // Identity Provider contract properties. 4204 Properties *IdentityProviderCreateContractProperties `json:"properties,omitempty"` 4205} 4206 4207// MarshalJSON implements the json.Marshaller interface for type IdentityProviderCreateContract. 4208func (i IdentityProviderCreateContract) MarshalJSON() ([]byte, error) { 4209 objectMap := i.Resource.marshalInternal() 4210 populate(objectMap, "properties", i.Properties) 4211 return json.Marshal(objectMap) 4212} 4213 4214// IdentityProviderCreateContractProperties - The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which 4215// can be used to enable access to the API Management service developer portal for all users. 4216type IdentityProviderCreateContractProperties struct { 4217 IdentityProviderBaseParameters 4218 // REQUIRED; Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft. 4219 ClientID *string `json:"clientId,omitempty"` 4220 4221 // REQUIRED; Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook 4222 // login, API Key for Google login, Public Key for 4223 // Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 4224 ClientSecret *string `json:"clientSecret,omitempty"` 4225} 4226 4227// MarshalJSON implements the json.Marshaller interface for type IdentityProviderCreateContractProperties. 4228func (i IdentityProviderCreateContractProperties) MarshalJSON() ([]byte, error) { 4229 objectMap := i.IdentityProviderBaseParameters.marshalInternal() 4230 populate(objectMap, "clientId", i.ClientID) 4231 populate(objectMap, "clientSecret", i.ClientSecret) 4232 return json.Marshal(objectMap) 4233} 4234 4235// IdentityProviderCreateOrUpdateOptions contains the optional parameters for the IdentityProvider.CreateOrUpdate method. 4236type IdentityProviderCreateOrUpdateOptions struct { 4237 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 4238 IfMatch *string 4239} 4240 4241// IdentityProviderDeleteOptions contains the optional parameters for the IdentityProvider.Delete method. 4242type IdentityProviderDeleteOptions struct { 4243 // placeholder for future optional parameters 4244} 4245 4246// IdentityProviderGetEntityTagOptions contains the optional parameters for the IdentityProvider.GetEntityTag method. 4247type IdentityProviderGetEntityTagOptions struct { 4248 // placeholder for future optional parameters 4249} 4250 4251// IdentityProviderGetOptions contains the optional parameters for the IdentityProvider.Get method. 4252type IdentityProviderGetOptions struct { 4253 // placeholder for future optional parameters 4254} 4255 4256// IdentityProviderList - List of all the Identity Providers configured on the service instance. 4257type IdentityProviderList struct { 4258 // Total record count number across all pages. 4259 Count *int64 `json:"count,omitempty"` 4260 4261 // Next page link if any. 4262 NextLink *string `json:"nextLink,omitempty"` 4263 4264 // Identity Provider configuration values. 4265 Value []*IdentityProviderContract `json:"value,omitempty"` 4266} 4267 4268// MarshalJSON implements the json.Marshaller interface for type IdentityProviderList. 4269func (i IdentityProviderList) MarshalJSON() ([]byte, error) { 4270 objectMap := make(map[string]interface{}) 4271 populate(objectMap, "count", i.Count) 4272 populate(objectMap, "nextLink", i.NextLink) 4273 populate(objectMap, "value", i.Value) 4274 return json.Marshal(objectMap) 4275} 4276 4277// IdentityProviderListByServiceOptions contains the optional parameters for the IdentityProvider.ListByService method. 4278type IdentityProviderListByServiceOptions struct { 4279 // placeholder for future optional parameters 4280} 4281 4282// IdentityProviderListSecretsOptions contains the optional parameters for the IdentityProvider.ListSecrets method. 4283type IdentityProviderListSecretsOptions struct { 4284 // placeholder for future optional parameters 4285} 4286 4287// IdentityProviderUpdateOptions contains the optional parameters for the IdentityProvider.Update method. 4288type IdentityProviderUpdateOptions struct { 4289 // placeholder for future optional parameters 4290} 4291 4292// IdentityProviderUpdateParameters - Parameters supplied to update Identity Provider 4293type IdentityProviderUpdateParameters struct { 4294 // Identity Provider update properties. 4295 Properties *IdentityProviderUpdateProperties `json:"properties,omitempty"` 4296} 4297 4298// MarshalJSON implements the json.Marshaller interface for type IdentityProviderUpdateParameters. 4299func (i IdentityProviderUpdateParameters) MarshalJSON() ([]byte, error) { 4300 objectMap := make(map[string]interface{}) 4301 populate(objectMap, "properties", i.Properties) 4302 return json.Marshal(objectMap) 4303} 4304 4305// IdentityProviderUpdateProperties - Parameters supplied to the Update Identity Provider operation. 4306type IdentityProviderUpdateProperties struct { 4307 IdentityProviderBaseParameters 4308 // Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft. 4309 ClientID *string `json:"clientId,omitempty"` 4310 4311 // Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, 4312 // API Key for Google login, Public Key for 4313 // Microsoft. 4314 ClientSecret *string `json:"clientSecret,omitempty"` 4315} 4316 4317// MarshalJSON implements the json.Marshaller interface for type IdentityProviderUpdateProperties. 4318func (i IdentityProviderUpdateProperties) MarshalJSON() ([]byte, error) { 4319 objectMap := i.IdentityProviderBaseParameters.marshalInternal() 4320 populate(objectMap, "clientId", i.ClientID) 4321 populate(objectMap, "clientSecret", i.ClientSecret) 4322 return json.Marshal(objectMap) 4323} 4324 4325// IssueAttachmentCollection - Paged Issue Attachment list representation. 4326type IssueAttachmentCollection struct { 4327 // Total record count number across all pages. 4328 Count *int64 `json:"count,omitempty"` 4329 4330 // READ-ONLY; Next page link if any. 4331 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4332 4333 // READ-ONLY; Issue Attachment values. 4334 Value []*IssueAttachmentContract `json:"value,omitempty" azure:"ro"` 4335} 4336 4337// MarshalJSON implements the json.Marshaller interface for type IssueAttachmentCollection. 4338func (i IssueAttachmentCollection) MarshalJSON() ([]byte, error) { 4339 objectMap := make(map[string]interface{}) 4340 populate(objectMap, "count", i.Count) 4341 populate(objectMap, "nextLink", i.NextLink) 4342 populate(objectMap, "value", i.Value) 4343 return json.Marshal(objectMap) 4344} 4345 4346// IssueAttachmentContract - Issue Attachment Contract details. 4347type IssueAttachmentContract struct { 4348 Resource 4349 // Properties of the Issue Attachment. 4350 Properties *IssueAttachmentContractProperties `json:"properties,omitempty"` 4351} 4352 4353// MarshalJSON implements the json.Marshaller interface for type IssueAttachmentContract. 4354func (i IssueAttachmentContract) MarshalJSON() ([]byte, error) { 4355 objectMap := i.Resource.marshalInternal() 4356 populate(objectMap, "properties", i.Properties) 4357 return json.Marshal(objectMap) 4358} 4359 4360// IssueAttachmentContractProperties - Issue Attachment contract Properties. 4361type IssueAttachmentContractProperties struct { 4362 // REQUIRED; An HTTP link or Base64-encoded binary data. 4363 Content *string `json:"content,omitempty"` 4364 4365 // REQUIRED; Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property. 4366 ContentFormat *string `json:"contentFormat,omitempty"` 4367 4368 // REQUIRED; Filename by which the binary data will be saved. 4369 Title *string `json:"title,omitempty"` 4370} 4371 4372// IssueCollection - Paged Issue list representation. 4373type IssueCollection struct { 4374 // Total record count number across all pages. 4375 Count *int64 `json:"count,omitempty"` 4376 4377 // READ-ONLY; Next page link if any. 4378 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4379 4380 // READ-ONLY; Issue values. 4381 Value []*IssueContract `json:"value,omitempty" azure:"ro"` 4382} 4383 4384// MarshalJSON implements the json.Marshaller interface for type IssueCollection. 4385func (i IssueCollection) MarshalJSON() ([]byte, error) { 4386 objectMap := make(map[string]interface{}) 4387 populate(objectMap, "count", i.Count) 4388 populate(objectMap, "nextLink", i.NextLink) 4389 populate(objectMap, "value", i.Value) 4390 return json.Marshal(objectMap) 4391} 4392 4393// IssueCommentCollection - Paged Issue Comment list representation. 4394type IssueCommentCollection struct { 4395 // Total record count number across all pages. 4396 Count *int64 `json:"count,omitempty"` 4397 4398 // READ-ONLY; Next page link if any. 4399 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4400 4401 // READ-ONLY; Issue Comment values. 4402 Value []*IssueCommentContract `json:"value,omitempty" azure:"ro"` 4403} 4404 4405// MarshalJSON implements the json.Marshaller interface for type IssueCommentCollection. 4406func (i IssueCommentCollection) MarshalJSON() ([]byte, error) { 4407 objectMap := make(map[string]interface{}) 4408 populate(objectMap, "count", i.Count) 4409 populate(objectMap, "nextLink", i.NextLink) 4410 populate(objectMap, "value", i.Value) 4411 return json.Marshal(objectMap) 4412} 4413 4414// IssueCommentContract - Issue Comment Contract details. 4415type IssueCommentContract struct { 4416 Resource 4417 // Properties of the Issue Comment. 4418 Properties *IssueCommentContractProperties `json:"properties,omitempty"` 4419} 4420 4421// MarshalJSON implements the json.Marshaller interface for type IssueCommentContract. 4422func (i IssueCommentContract) MarshalJSON() ([]byte, error) { 4423 objectMap := i.Resource.marshalInternal() 4424 populate(objectMap, "properties", i.Properties) 4425 return json.Marshal(objectMap) 4426} 4427 4428// IssueCommentContractProperties - Issue Comment contract Properties. 4429type IssueCommentContractProperties struct { 4430 // REQUIRED; Comment text. 4431 Text *string `json:"text,omitempty"` 4432 4433 // REQUIRED; A resource identifier for the user who left the comment. 4434 UserID *string `json:"userId,omitempty"` 4435 4436 // Date and time when the comment was created. 4437 CreatedDate *time.Time `json:"createdDate,omitempty"` 4438} 4439 4440// MarshalJSON implements the json.Marshaller interface for type IssueCommentContractProperties. 4441func (i IssueCommentContractProperties) MarshalJSON() ([]byte, error) { 4442 objectMap := make(map[string]interface{}) 4443 populate(objectMap, "createdDate", (*timeRFC3339)(i.CreatedDate)) 4444 populate(objectMap, "text", i.Text) 4445 populate(objectMap, "userId", i.UserID) 4446 return json.Marshal(objectMap) 4447} 4448 4449// UnmarshalJSON implements the json.Unmarshaller interface for type IssueCommentContractProperties. 4450func (i *IssueCommentContractProperties) UnmarshalJSON(data []byte) error { 4451 var rawMsg map[string]json.RawMessage 4452 if err := json.Unmarshal(data, &rawMsg); err != nil { 4453 return err 4454 } 4455 for key, val := range rawMsg { 4456 var err error 4457 switch key { 4458 case "createdDate": 4459 var aux timeRFC3339 4460 err = unpopulate(val, &aux) 4461 i.CreatedDate = (*time.Time)(&aux) 4462 delete(rawMsg, key) 4463 case "text": 4464 err = unpopulate(val, &i.Text) 4465 delete(rawMsg, key) 4466 case "userId": 4467 err = unpopulate(val, &i.UserID) 4468 delete(rawMsg, key) 4469 } 4470 if err != nil { 4471 return err 4472 } 4473 } 4474 return nil 4475} 4476 4477// IssueContract - Issue Contract details. 4478type IssueContract struct { 4479 Resource 4480 // Properties of the Issue. 4481 Properties *IssueContractProperties `json:"properties,omitempty"` 4482} 4483 4484// MarshalJSON implements the json.Marshaller interface for type IssueContract. 4485func (i IssueContract) MarshalJSON() ([]byte, error) { 4486 objectMap := i.Resource.marshalInternal() 4487 populate(objectMap, "properties", i.Properties) 4488 return json.Marshal(objectMap) 4489} 4490 4491// IssueContractBaseProperties - Issue contract Base Properties. 4492type IssueContractBaseProperties struct { 4493 // A resource identifier for the API the issue was created for. 4494 APIID *string `json:"apiId,omitempty"` 4495 4496 // Date and time when the issue was created. 4497 CreatedDate *time.Time `json:"createdDate,omitempty"` 4498 4499 // Status of the issue. 4500 State *State `json:"state,omitempty"` 4501} 4502 4503// MarshalJSON implements the json.Marshaller interface for type IssueContractBaseProperties. 4504func (i IssueContractBaseProperties) MarshalJSON() ([]byte, error) { 4505 objectMap := i.marshalInternal() 4506 return json.Marshal(objectMap) 4507} 4508 4509// UnmarshalJSON implements the json.Unmarshaller interface for type IssueContractBaseProperties. 4510func (i *IssueContractBaseProperties) UnmarshalJSON(data []byte) error { 4511 var rawMsg map[string]json.RawMessage 4512 if err := json.Unmarshal(data, &rawMsg); err != nil { 4513 return err 4514 } 4515 return i.unmarshalInternal(rawMsg) 4516} 4517 4518func (i IssueContractBaseProperties) marshalInternal() map[string]interface{} { 4519 objectMap := make(map[string]interface{}) 4520 populate(objectMap, "apiId", i.APIID) 4521 populate(objectMap, "createdDate", (*timeRFC3339)(i.CreatedDate)) 4522 populate(objectMap, "state", i.State) 4523 return objectMap 4524} 4525 4526func (i *IssueContractBaseProperties) unmarshalInternal(rawMsg map[string]json.RawMessage) error { 4527 for key, val := range rawMsg { 4528 var err error 4529 switch key { 4530 case "apiId": 4531 err = unpopulate(val, &i.APIID) 4532 delete(rawMsg, key) 4533 case "createdDate": 4534 var aux timeRFC3339 4535 err = unpopulate(val, &aux) 4536 i.CreatedDate = (*time.Time)(&aux) 4537 delete(rawMsg, key) 4538 case "state": 4539 err = unpopulate(val, &i.State) 4540 delete(rawMsg, key) 4541 } 4542 if err != nil { 4543 return err 4544 } 4545 } 4546 return nil 4547} 4548 4549// IssueContractProperties - Issue contract Properties. 4550type IssueContractProperties struct { 4551 IssueContractBaseProperties 4552 // REQUIRED; Text describing the issue. 4553 Description *string `json:"description,omitempty"` 4554 4555 // REQUIRED; The issue title. 4556 Title *string `json:"title,omitempty"` 4557 4558 // REQUIRED; A resource identifier for the user created the issue. 4559 UserID *string `json:"userId,omitempty"` 4560} 4561 4562// MarshalJSON implements the json.Marshaller interface for type IssueContractProperties. 4563func (i IssueContractProperties) MarshalJSON() ([]byte, error) { 4564 objectMap := i.IssueContractBaseProperties.marshalInternal() 4565 populate(objectMap, "description", i.Description) 4566 populate(objectMap, "title", i.Title) 4567 populate(objectMap, "userId", i.UserID) 4568 return json.Marshal(objectMap) 4569} 4570 4571// UnmarshalJSON implements the json.Unmarshaller interface for type IssueContractProperties. 4572func (i *IssueContractProperties) UnmarshalJSON(data []byte) error { 4573 var rawMsg map[string]json.RawMessage 4574 if err := json.Unmarshal(data, &rawMsg); err != nil { 4575 return err 4576 } 4577 for key, val := range rawMsg { 4578 var err error 4579 switch key { 4580 case "description": 4581 err = unpopulate(val, &i.Description) 4582 delete(rawMsg, key) 4583 case "title": 4584 err = unpopulate(val, &i.Title) 4585 delete(rawMsg, key) 4586 case "userId": 4587 err = unpopulate(val, &i.UserID) 4588 delete(rawMsg, key) 4589 } 4590 if err != nil { 4591 return err 4592 } 4593 } 4594 return i.IssueContractBaseProperties.unmarshalInternal(rawMsg) 4595} 4596 4597// IssueGetOptions contains the optional parameters for the Issue.Get method. 4598type IssueGetOptions struct { 4599 // placeholder for future optional parameters 4600} 4601 4602// IssueListByServiceOptions contains the optional parameters for the Issue.ListByService method. 4603type IssueListByServiceOptions struct { 4604 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 4605 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| apiId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 4606 // endswith |</br>| title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| description | filter | ge, le, eq, ne, 4607 // gt, lt | substringof, contains, startswith, endswith |</br>| authorName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 4608 // |</br>| state | filter | eq | |</br> 4609 Filter *string 4610 // Number of records to skip. 4611 Skip *int32 4612 // Number of records to return. 4613 Top *int32 4614} 4615 4616// IssueUpdateContract - Issue update Parameters. 4617type IssueUpdateContract struct { 4618 // Issue entity Update contract properties. 4619 Properties *IssueUpdateContractProperties `json:"properties,omitempty"` 4620} 4621 4622// MarshalJSON implements the json.Marshaller interface for type IssueUpdateContract. 4623func (i IssueUpdateContract) MarshalJSON() ([]byte, error) { 4624 objectMap := make(map[string]interface{}) 4625 populate(objectMap, "properties", i.Properties) 4626 return json.Marshal(objectMap) 4627} 4628 4629// IssueUpdateContractProperties - Issue contract Update Properties. 4630type IssueUpdateContractProperties struct { 4631 IssueContractBaseProperties 4632 // Text describing the issue. 4633 Description *string `json:"description,omitempty"` 4634 4635 // The issue title. 4636 Title *string `json:"title,omitempty"` 4637 4638 // A resource identifier for the user created the issue. 4639 UserID *string `json:"userId,omitempty"` 4640} 4641 4642// MarshalJSON implements the json.Marshaller interface for type IssueUpdateContractProperties. 4643func (i IssueUpdateContractProperties) MarshalJSON() ([]byte, error) { 4644 objectMap := i.IssueContractBaseProperties.marshalInternal() 4645 populate(objectMap, "description", i.Description) 4646 populate(objectMap, "title", i.Title) 4647 populate(objectMap, "userId", i.UserID) 4648 return json.Marshal(objectMap) 4649} 4650 4651// UnmarshalJSON implements the json.Unmarshaller interface for type IssueUpdateContractProperties. 4652func (i *IssueUpdateContractProperties) UnmarshalJSON(data []byte) error { 4653 var rawMsg map[string]json.RawMessage 4654 if err := json.Unmarshal(data, &rawMsg); err != nil { 4655 return err 4656 } 4657 for key, val := range rawMsg { 4658 var err error 4659 switch key { 4660 case "description": 4661 err = unpopulate(val, &i.Description) 4662 delete(rawMsg, key) 4663 case "title": 4664 err = unpopulate(val, &i.Title) 4665 delete(rawMsg, key) 4666 case "userId": 4667 err = unpopulate(val, &i.UserID) 4668 delete(rawMsg, key) 4669 } 4670 if err != nil { 4671 return err 4672 } 4673 } 4674 return i.IssueContractBaseProperties.unmarshalInternal(rawMsg) 4675} 4676 4677// KeyVaultContractCreateProperties - Create keyVault contract details. 4678type KeyVaultContractCreateProperties struct { 4679 // SystemAssignedIdentity or UserAssignedIdentity Client Id which will be used to access key vault secret. 4680 IdentityClientID *string `json:"identityClientId,omitempty"` 4681 4682 // Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires Api Management service to be configured 4683 // with aka.ms/apimmsi 4684 SecretIdentifier *string `json:"secretIdentifier,omitempty"` 4685} 4686 4687// KeyVaultContractProperties - KeyVault contract details. 4688type KeyVaultContractProperties struct { 4689 KeyVaultContractCreateProperties 4690 // Last time sync and refresh status of secret from key vault. 4691 LastStatus *KeyVaultLastAccessStatusContractProperties `json:"lastStatus,omitempty"` 4692} 4693 4694// KeyVaultLastAccessStatusContractProperties - Issue contract Update Properties. 4695type KeyVaultLastAccessStatusContractProperties struct { 4696 // Last status code for sync and refresh of secret from key vault. 4697 Code *string `json:"code,omitempty"` 4698 4699 // Details of the error else empty. 4700 Message *string `json:"message,omitempty"` 4701 4702 // Last time secret was accessed. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 4703 TimeStampUTC *time.Time `json:"timeStampUtc,omitempty"` 4704} 4705 4706// MarshalJSON implements the json.Marshaller interface for type KeyVaultLastAccessStatusContractProperties. 4707func (k KeyVaultLastAccessStatusContractProperties) MarshalJSON() ([]byte, error) { 4708 objectMap := make(map[string]interface{}) 4709 populate(objectMap, "code", k.Code) 4710 populate(objectMap, "message", k.Message) 4711 populate(objectMap, "timeStampUtc", (*timeRFC3339)(k.TimeStampUTC)) 4712 return json.Marshal(objectMap) 4713} 4714 4715// UnmarshalJSON implements the json.Unmarshaller interface for type KeyVaultLastAccessStatusContractProperties. 4716func (k *KeyVaultLastAccessStatusContractProperties) UnmarshalJSON(data []byte) error { 4717 var rawMsg map[string]json.RawMessage 4718 if err := json.Unmarshal(data, &rawMsg); err != nil { 4719 return err 4720 } 4721 for key, val := range rawMsg { 4722 var err error 4723 switch key { 4724 case "code": 4725 err = unpopulate(val, &k.Code) 4726 delete(rawMsg, key) 4727 case "message": 4728 err = unpopulate(val, &k.Message) 4729 delete(rawMsg, key) 4730 case "timeStampUtc": 4731 var aux timeRFC3339 4732 err = unpopulate(val, &aux) 4733 k.TimeStampUTC = (*time.Time)(&aux) 4734 delete(rawMsg, key) 4735 } 4736 if err != nil { 4737 return err 4738 } 4739 } 4740 return nil 4741} 4742 4743// LoggerCollection - Paged Logger list representation. 4744type LoggerCollection struct { 4745 // Total record count number across all pages. 4746 Count *int64 `json:"count,omitempty"` 4747 4748 // Next page link if any. 4749 NextLink *string `json:"nextLink,omitempty"` 4750 4751 // Logger values. 4752 Value []*LoggerContract `json:"value,omitempty"` 4753} 4754 4755// MarshalJSON implements the json.Marshaller interface for type LoggerCollection. 4756func (l LoggerCollection) MarshalJSON() ([]byte, error) { 4757 objectMap := make(map[string]interface{}) 4758 populate(objectMap, "count", l.Count) 4759 populate(objectMap, "nextLink", l.NextLink) 4760 populate(objectMap, "value", l.Value) 4761 return json.Marshal(objectMap) 4762} 4763 4764// LoggerContract - Logger details. 4765type LoggerContract struct { 4766 Resource 4767 // Logger entity contract properties. 4768 Properties *LoggerContractProperties `json:"properties,omitempty"` 4769} 4770 4771// MarshalJSON implements the json.Marshaller interface for type LoggerContract. 4772func (l LoggerContract) MarshalJSON() ([]byte, error) { 4773 objectMap := l.Resource.marshalInternal() 4774 populate(objectMap, "properties", l.Properties) 4775 return json.Marshal(objectMap) 4776} 4777 4778// LoggerContractProperties - The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the 4779// Logger entity supports logging API Management events to Azure Event Hubs. 4780type LoggerContractProperties struct { 4781 // REQUIRED; Logger type. 4782 LoggerType *LoggerType `json:"loggerType,omitempty"` 4783 4784 // The name and SendRule connection string of the event hub for azureEventHub logger. Instrumentation key for applicationInsights logger. 4785 Credentials map[string]*string `json:"credentials,omitempty"` 4786 4787 // Logger description. 4788 Description *string `json:"description,omitempty"` 4789 4790 // Whether records are buffered in the logger before publishing. Default is assumed to be true. 4791 IsBuffered *bool `json:"isBuffered,omitempty"` 4792 4793 // Azure Resource Id of a log target (either Azure Event Hub resource or Azure Application Insights resource). 4794 ResourceID *string `json:"resourceId,omitempty"` 4795} 4796 4797// MarshalJSON implements the json.Marshaller interface for type LoggerContractProperties. 4798func (l LoggerContractProperties) MarshalJSON() ([]byte, error) { 4799 objectMap := make(map[string]interface{}) 4800 populate(objectMap, "credentials", l.Credentials) 4801 populate(objectMap, "description", l.Description) 4802 populate(objectMap, "isBuffered", l.IsBuffered) 4803 populate(objectMap, "loggerType", l.LoggerType) 4804 populate(objectMap, "resourceId", l.ResourceID) 4805 return json.Marshal(objectMap) 4806} 4807 4808// LoggerCreateOrUpdateOptions contains the optional parameters for the Logger.CreateOrUpdate method. 4809type LoggerCreateOrUpdateOptions struct { 4810 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 4811 IfMatch *string 4812} 4813 4814// LoggerDeleteOptions contains the optional parameters for the Logger.Delete method. 4815type LoggerDeleteOptions struct { 4816 // placeholder for future optional parameters 4817} 4818 4819// LoggerGetEntityTagOptions contains the optional parameters for the Logger.GetEntityTag method. 4820type LoggerGetEntityTagOptions struct { 4821 // placeholder for future optional parameters 4822} 4823 4824// LoggerGetOptions contains the optional parameters for the Logger.Get method. 4825type LoggerGetOptions struct { 4826 // placeholder for future optional parameters 4827} 4828 4829// LoggerListByServiceOptions contains the optional parameters for the Logger.ListByService method. 4830type LoggerListByServiceOptions struct { 4831 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 4832 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 4833 // endswith |</br>| loggerType | filter | eq | |</br>| resourceId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 4834 Filter *string 4835 // Number of records to skip. 4836 Skip *int32 4837 // Number of records to return. 4838 Top *int32 4839} 4840 4841// LoggerUpdateContract - Logger update contract. 4842type LoggerUpdateContract struct { 4843 // Logger entity update contract properties. 4844 Properties *LoggerUpdateParameters `json:"properties,omitempty"` 4845} 4846 4847// MarshalJSON implements the json.Marshaller interface for type LoggerUpdateContract. 4848func (l LoggerUpdateContract) MarshalJSON() ([]byte, error) { 4849 objectMap := make(map[string]interface{}) 4850 populate(objectMap, "properties", l.Properties) 4851 return json.Marshal(objectMap) 4852} 4853 4854// LoggerUpdateOptions contains the optional parameters for the Logger.Update method. 4855type LoggerUpdateOptions struct { 4856 // placeholder for future optional parameters 4857} 4858 4859// LoggerUpdateParameters - Parameters supplied to the Update Logger operation. 4860type LoggerUpdateParameters struct { 4861 // Logger credentials. 4862 Credentials map[string]*string `json:"credentials,omitempty"` 4863 4864 // Logger description. 4865 Description *string `json:"description,omitempty"` 4866 4867 // Whether records are buffered in the logger before publishing. Default is assumed to be true. 4868 IsBuffered *bool `json:"isBuffered,omitempty"` 4869 4870 // Logger type. 4871 LoggerType *LoggerType `json:"loggerType,omitempty"` 4872} 4873 4874// MarshalJSON implements the json.Marshaller interface for type LoggerUpdateParameters. 4875func (l LoggerUpdateParameters) MarshalJSON() ([]byte, error) { 4876 objectMap := make(map[string]interface{}) 4877 populate(objectMap, "credentials", l.Credentials) 4878 populate(objectMap, "description", l.Description) 4879 populate(objectMap, "isBuffered", l.IsBuffered) 4880 populate(objectMap, "loggerType", l.LoggerType) 4881 return json.Marshal(objectMap) 4882} 4883 4884// NamedValueBeginCreateOrUpdateOptions contains the optional parameters for the NamedValue.BeginCreateOrUpdate method. 4885type NamedValueBeginCreateOrUpdateOptions struct { 4886 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 4887 IfMatch *string 4888} 4889 4890// NamedValueBeginRefreshSecretOptions contains the optional parameters for the NamedValue.BeginRefreshSecret method. 4891type NamedValueBeginRefreshSecretOptions struct { 4892 // placeholder for future optional parameters 4893} 4894 4895// NamedValueBeginUpdateOptions contains the optional parameters for the NamedValue.BeginUpdate method. 4896type NamedValueBeginUpdateOptions struct { 4897 // placeholder for future optional parameters 4898} 4899 4900// NamedValueCollection - Paged NamedValue list representation. 4901type NamedValueCollection struct { 4902 // Total record count number across all pages. 4903 Count *int64 `json:"count,omitempty"` 4904 4905 // Next page link if any. 4906 NextLink *string `json:"nextLink,omitempty"` 4907 4908 // Page values. 4909 Value []*NamedValueContract `json:"value,omitempty"` 4910} 4911 4912// MarshalJSON implements the json.Marshaller interface for type NamedValueCollection. 4913func (n NamedValueCollection) MarshalJSON() ([]byte, error) { 4914 objectMap := make(map[string]interface{}) 4915 populate(objectMap, "count", n.Count) 4916 populate(objectMap, "nextLink", n.NextLink) 4917 populate(objectMap, "value", n.Value) 4918 return json.Marshal(objectMap) 4919} 4920 4921// NamedValueContract - NamedValue details. 4922type NamedValueContract struct { 4923 Resource 4924 // NamedValue entity contract properties. 4925 Properties *NamedValueContractProperties `json:"properties,omitempty"` 4926} 4927 4928// MarshalJSON implements the json.Marshaller interface for type NamedValueContract. 4929func (n NamedValueContract) MarshalJSON() ([]byte, error) { 4930 objectMap := n.Resource.marshalInternal() 4931 populate(objectMap, "properties", n.Properties) 4932 return json.Marshal(objectMap) 4933} 4934 4935// NamedValueContractProperties - NamedValue Contract properties. 4936type NamedValueContractProperties struct { 4937 NamedValueEntityBaseParameters 4938 // REQUIRED; Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters. 4939 DisplayName *string `json:"displayName,omitempty"` 4940 4941 // KeyVault location details of the namedValue. 4942 KeyVault *KeyVaultContractProperties `json:"keyVault,omitempty"` 4943 4944 // Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' 4945 // operations! Use '/listSecrets' POST request to get 4946 // the value. 4947 Value *string `json:"value,omitempty"` 4948} 4949 4950// MarshalJSON implements the json.Marshaller interface for type NamedValueContractProperties. 4951func (n NamedValueContractProperties) MarshalJSON() ([]byte, error) { 4952 objectMap := n.NamedValueEntityBaseParameters.marshalInternal() 4953 populate(objectMap, "displayName", n.DisplayName) 4954 populate(objectMap, "keyVault", n.KeyVault) 4955 populate(objectMap, "value", n.Value) 4956 return json.Marshal(objectMap) 4957} 4958 4959// NamedValueCreateContract - NamedValue details. 4960type NamedValueCreateContract struct { 4961 Resource 4962 // NamedValue entity contract properties for PUT operation. 4963 Properties *NamedValueCreateContractProperties `json:"properties,omitempty"` 4964} 4965 4966// MarshalJSON implements the json.Marshaller interface for type NamedValueCreateContract. 4967func (n NamedValueCreateContract) MarshalJSON() ([]byte, error) { 4968 objectMap := n.Resource.marshalInternal() 4969 populate(objectMap, "properties", n.Properties) 4970 return json.Marshal(objectMap) 4971} 4972 4973// NamedValueCreateContractProperties - NamedValue Contract properties. 4974type NamedValueCreateContractProperties struct { 4975 NamedValueEntityBaseParameters 4976 // REQUIRED; Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters. 4977 DisplayName *string `json:"displayName,omitempty"` 4978 4979 // KeyVault location details of the namedValue. 4980 KeyVault *KeyVaultContractCreateProperties `json:"keyVault,omitempty"` 4981 4982 // Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' 4983 // operations! Use '/listSecrets' POST request to get 4984 // the value. 4985 Value *string `json:"value,omitempty"` 4986} 4987 4988// MarshalJSON implements the json.Marshaller interface for type NamedValueCreateContractProperties. 4989func (n NamedValueCreateContractProperties) MarshalJSON() ([]byte, error) { 4990 objectMap := n.NamedValueEntityBaseParameters.marshalInternal() 4991 populate(objectMap, "displayName", n.DisplayName) 4992 populate(objectMap, "keyVault", n.KeyVault) 4993 populate(objectMap, "value", n.Value) 4994 return json.Marshal(objectMap) 4995} 4996 4997// NamedValueDeleteOptions contains the optional parameters for the NamedValue.Delete method. 4998type NamedValueDeleteOptions struct { 4999 // placeholder for future optional parameters 5000} 5001 5002// NamedValueEntityBaseParameters - NamedValue Entity Base Parameters set. 5003type NamedValueEntityBaseParameters struct { 5004 // Determines whether the value is a secret and should be encrypted or not. Default value is false. 5005 Secret *bool `json:"secret,omitempty"` 5006 5007 // Optional tags that when provided can be used to filter the NamedValue list. 5008 Tags []*string `json:"tags,omitempty"` 5009} 5010 5011// MarshalJSON implements the json.Marshaller interface for type NamedValueEntityBaseParameters. 5012func (n NamedValueEntityBaseParameters) MarshalJSON() ([]byte, error) { 5013 objectMap := n.marshalInternal() 5014 return json.Marshal(objectMap) 5015} 5016 5017func (n NamedValueEntityBaseParameters) marshalInternal() map[string]interface{} { 5018 objectMap := make(map[string]interface{}) 5019 populate(objectMap, "secret", n.Secret) 5020 populate(objectMap, "tags", n.Tags) 5021 return objectMap 5022} 5023 5024// NamedValueGetEntityTagOptions contains the optional parameters for the NamedValue.GetEntityTag method. 5025type NamedValueGetEntityTagOptions struct { 5026 // placeholder for future optional parameters 5027} 5028 5029// NamedValueGetOptions contains the optional parameters for the NamedValue.Get method. 5030type NamedValueGetOptions struct { 5031 // placeholder for future optional parameters 5032} 5033 5034// NamedValueListByServiceOptions contains the optional parameters for the NamedValue.ListByService method. 5035type NamedValueListByServiceOptions struct { 5036 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| tags | filter | ge, 5037 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, 5038 // startswith, endswith |</br> 5039 Filter *string 5040 // When set to true, the response contains only named value entities which failed refresh. 5041 IsKeyVaultRefreshFailed *bool 5042 // Number of records to skip. 5043 Skip *int32 5044 // Number of records to return. 5045 Top *int32 5046} 5047 5048// NamedValueListValueOptions contains the optional parameters for the NamedValue.ListValue method. 5049type NamedValueListValueOptions struct { 5050 // placeholder for future optional parameters 5051} 5052 5053// NamedValueSecretContract - Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. 5054type NamedValueSecretContract struct { 5055 // This is secret value of the NamedValue entity. 5056 Value *string `json:"value,omitempty"` 5057} 5058 5059// NamedValueUpdateParameterProperties - NamedValue Contract properties. 5060type NamedValueUpdateParameterProperties struct { 5061 NamedValueEntityBaseParameters 5062 // Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters. 5063 DisplayName *string `json:"displayName,omitempty"` 5064 5065 // KeyVault location details of the namedValue. 5066 KeyVault *KeyVaultContractCreateProperties `json:"keyVault,omitempty"` 5067 5068 // Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. 5069 Value *string `json:"value,omitempty"` 5070} 5071 5072// MarshalJSON implements the json.Marshaller interface for type NamedValueUpdateParameterProperties. 5073func (n NamedValueUpdateParameterProperties) MarshalJSON() ([]byte, error) { 5074 objectMap := n.NamedValueEntityBaseParameters.marshalInternal() 5075 populate(objectMap, "displayName", n.DisplayName) 5076 populate(objectMap, "keyVault", n.KeyVault) 5077 populate(objectMap, "value", n.Value) 5078 return json.Marshal(objectMap) 5079} 5080 5081// NamedValueUpdateParameters - NamedValue update Parameters. 5082type NamedValueUpdateParameters struct { 5083 // NamedValue entity Update contract properties. 5084 Properties *NamedValueUpdateParameterProperties `json:"properties,omitempty"` 5085} 5086 5087// MarshalJSON implements the json.Marshaller interface for type NamedValueUpdateParameters. 5088func (n NamedValueUpdateParameters) MarshalJSON() ([]byte, error) { 5089 objectMap := make(map[string]interface{}) 5090 populate(objectMap, "properties", n.Properties) 5091 return json.Marshal(objectMap) 5092} 5093 5094// NetworkStatusContract - Network Status details. 5095type NetworkStatusContract struct { 5096 // REQUIRED; Gets the list of Connectivity Status to the Resources on which the service depends upon. 5097 ConnectivityStatus []*ConnectivityStatusContract `json:"connectivityStatus,omitempty"` 5098 5099 // REQUIRED; Gets the list of DNS servers IPV4 addresses. 5100 DNSServers []*string `json:"dnsServers,omitempty"` 5101} 5102 5103// MarshalJSON implements the json.Marshaller interface for type NetworkStatusContract. 5104func (n NetworkStatusContract) MarshalJSON() ([]byte, error) { 5105 objectMap := make(map[string]interface{}) 5106 populate(objectMap, "connectivityStatus", n.ConnectivityStatus) 5107 populate(objectMap, "dnsServers", n.DNSServers) 5108 return json.Marshal(objectMap) 5109} 5110 5111// NetworkStatusContractByLocation - Network Status in the Location 5112type NetworkStatusContractByLocation struct { 5113 // Location of service 5114 Location *string `json:"location,omitempty"` 5115 5116 // Network status in Location 5117 NetworkStatus *NetworkStatusContract `json:"networkStatus,omitempty"` 5118} 5119 5120// NetworkStatusListByLocationOptions contains the optional parameters for the NetworkStatus.ListByLocation method. 5121type NetworkStatusListByLocationOptions struct { 5122 // placeholder for future optional parameters 5123} 5124 5125// NetworkStatusListByServiceOptions contains the optional parameters for the NetworkStatus.ListByService method. 5126type NetworkStatusListByServiceOptions struct { 5127 // placeholder for future optional parameters 5128} 5129 5130// NotificationCollection - Paged Notification list representation. 5131type NotificationCollection struct { 5132 // Total record count number across all pages. 5133 Count *int64 `json:"count,omitempty"` 5134 5135 // Next page link if any. 5136 NextLink *string `json:"nextLink,omitempty"` 5137 5138 // Page values. 5139 Value []*NotificationContract `json:"value,omitempty"` 5140} 5141 5142// MarshalJSON implements the json.Marshaller interface for type NotificationCollection. 5143func (n NotificationCollection) MarshalJSON() ([]byte, error) { 5144 objectMap := make(map[string]interface{}) 5145 populate(objectMap, "count", n.Count) 5146 populate(objectMap, "nextLink", n.NextLink) 5147 populate(objectMap, "value", n.Value) 5148 return json.Marshal(objectMap) 5149} 5150 5151// NotificationContract - Notification details. 5152type NotificationContract struct { 5153 Resource 5154 // Notification entity contract properties. 5155 Properties *NotificationContractProperties `json:"properties,omitempty"` 5156} 5157 5158// MarshalJSON implements the json.Marshaller interface for type NotificationContract. 5159func (n NotificationContract) MarshalJSON() ([]byte, error) { 5160 objectMap := n.Resource.marshalInternal() 5161 populate(objectMap, "properties", n.Properties) 5162 return json.Marshal(objectMap) 5163} 5164 5165// NotificationContractProperties - Notification Contract properties. 5166type NotificationContractProperties struct { 5167 // REQUIRED; Title of the Notification. 5168 Title *string `json:"title,omitempty"` 5169 5170 // Description of the Notification. 5171 Description *string `json:"description,omitempty"` 5172 5173 // Recipient Parameter values. 5174 Recipients *RecipientsContractProperties `json:"recipients,omitempty"` 5175} 5176 5177// NotificationCreateOrUpdateOptions contains the optional parameters for the Notification.CreateOrUpdate method. 5178type NotificationCreateOrUpdateOptions struct { 5179 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 5180 IfMatch *string 5181} 5182 5183// NotificationGetOptions contains the optional parameters for the Notification.Get method. 5184type NotificationGetOptions struct { 5185 // placeholder for future optional parameters 5186} 5187 5188// NotificationListByServiceOptions contains the optional parameters for the Notification.ListByService method. 5189type NotificationListByServiceOptions struct { 5190 // Number of records to skip. 5191 Skip *int32 5192 // Number of records to return. 5193 Top *int32 5194} 5195 5196// NotificationRecipientEmailCheckEntityExistsOptions contains the optional parameters for the NotificationRecipientEmail.CheckEntityExists method. 5197type NotificationRecipientEmailCheckEntityExistsOptions struct { 5198 // placeholder for future optional parameters 5199} 5200 5201// NotificationRecipientEmailCreateOrUpdateOptions contains the optional parameters for the NotificationRecipientEmail.CreateOrUpdate method. 5202type NotificationRecipientEmailCreateOrUpdateOptions struct { 5203 // placeholder for future optional parameters 5204} 5205 5206// NotificationRecipientEmailDeleteOptions contains the optional parameters for the NotificationRecipientEmail.Delete method. 5207type NotificationRecipientEmailDeleteOptions struct { 5208 // placeholder for future optional parameters 5209} 5210 5211// NotificationRecipientEmailListByNotificationOptions contains the optional parameters for the NotificationRecipientEmail.ListByNotification method. 5212type NotificationRecipientEmailListByNotificationOptions struct { 5213 // placeholder for future optional parameters 5214} 5215 5216// NotificationRecipientUserCheckEntityExistsOptions contains the optional parameters for the NotificationRecipientUser.CheckEntityExists method. 5217type NotificationRecipientUserCheckEntityExistsOptions struct { 5218 // placeholder for future optional parameters 5219} 5220 5221// NotificationRecipientUserCreateOrUpdateOptions contains the optional parameters for the NotificationRecipientUser.CreateOrUpdate method. 5222type NotificationRecipientUserCreateOrUpdateOptions struct { 5223 // placeholder for future optional parameters 5224} 5225 5226// NotificationRecipientUserDeleteOptions contains the optional parameters for the NotificationRecipientUser.Delete method. 5227type NotificationRecipientUserDeleteOptions struct { 5228 // placeholder for future optional parameters 5229} 5230 5231// NotificationRecipientUserListByNotificationOptions contains the optional parameters for the NotificationRecipientUser.ListByNotification method. 5232type NotificationRecipientUserListByNotificationOptions struct { 5233 // placeholder for future optional parameters 5234} 5235 5236// OAuth2AuthenticationSettingsContract - API OAuth2 Authentication settings details. 5237type OAuth2AuthenticationSettingsContract struct { 5238 // OAuth authorization server identifier. 5239 AuthorizationServerID *string `json:"authorizationServerId,omitempty"` 5240 5241 // operations scope. 5242 Scope *string `json:"scope,omitempty"` 5243} 5244 5245// OpenIDAuthenticationSettingsContract - API OAuth2 Authentication settings details. 5246type OpenIDAuthenticationSettingsContract struct { 5247 // How to send token to the server. 5248 BearerTokenSendingMethods []*BearerTokenSendingMethods `json:"bearerTokenSendingMethods,omitempty"` 5249 5250 // OAuth authorization server identifier. 5251 OpenidProviderID *string `json:"openidProviderId,omitempty"` 5252} 5253 5254// MarshalJSON implements the json.Marshaller interface for type OpenIDAuthenticationSettingsContract. 5255func (o OpenIDAuthenticationSettingsContract) MarshalJSON() ([]byte, error) { 5256 objectMap := make(map[string]interface{}) 5257 populate(objectMap, "bearerTokenSendingMethods", o.BearerTokenSendingMethods) 5258 populate(objectMap, "openidProviderId", o.OpenidProviderID) 5259 return json.Marshal(objectMap) 5260} 5261 5262// OpenIDConnectProviderCollection - Paged OpenIdProviders list representation. 5263type OpenIDConnectProviderCollection struct { 5264 // Total record count number across all pages. 5265 Count *int64 `json:"count,omitempty"` 5266 5267 // Next page link if any. 5268 NextLink *string `json:"nextLink,omitempty"` 5269 5270 // Page values. 5271 Value []*OpenidConnectProviderContract `json:"value,omitempty"` 5272} 5273 5274// MarshalJSON implements the json.Marshaller interface for type OpenIDConnectProviderCollection. 5275func (o OpenIDConnectProviderCollection) MarshalJSON() ([]byte, error) { 5276 objectMap := make(map[string]interface{}) 5277 populate(objectMap, "count", o.Count) 5278 populate(objectMap, "nextLink", o.NextLink) 5279 populate(objectMap, "value", o.Value) 5280 return json.Marshal(objectMap) 5281} 5282 5283// OpenIDConnectProviderCreateOrUpdateOptions contains the optional parameters for the OpenIDConnectProvider.CreateOrUpdate method. 5284type OpenIDConnectProviderCreateOrUpdateOptions struct { 5285 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 5286 IfMatch *string 5287} 5288 5289// OpenIDConnectProviderDeleteOptions contains the optional parameters for the OpenIDConnectProvider.Delete method. 5290type OpenIDConnectProviderDeleteOptions struct { 5291 // placeholder for future optional parameters 5292} 5293 5294// OpenIDConnectProviderGetEntityTagOptions contains the optional parameters for the OpenIDConnectProvider.GetEntityTag method. 5295type OpenIDConnectProviderGetEntityTagOptions struct { 5296 // placeholder for future optional parameters 5297} 5298 5299// OpenIDConnectProviderGetOptions contains the optional parameters for the OpenIDConnectProvider.Get method. 5300type OpenIDConnectProviderGetOptions struct { 5301 // placeholder for future optional parameters 5302} 5303 5304// OpenIDConnectProviderListByServiceOptions contains the optional parameters for the OpenIDConnectProvider.ListByService method. 5305type OpenIDConnectProviderListByServiceOptions struct { 5306 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 5307 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 5308 // endswith |</br> 5309 Filter *string 5310 // Number of records to skip. 5311 Skip *int32 5312 // Number of records to return. 5313 Top *int32 5314} 5315 5316// OpenIDConnectProviderListSecretsOptions contains the optional parameters for the OpenIDConnectProvider.ListSecrets method. 5317type OpenIDConnectProviderListSecretsOptions struct { 5318 // placeholder for future optional parameters 5319} 5320 5321// OpenIDConnectProviderUpdateOptions contains the optional parameters for the OpenIDConnectProvider.Update method. 5322type OpenIDConnectProviderUpdateOptions struct { 5323 // placeholder for future optional parameters 5324} 5325 5326// OpenidConnectProviderContract - OpenId Connect Provider details. 5327type OpenidConnectProviderContract struct { 5328 Resource 5329 // OpenId Connect Provider contract properties. 5330 Properties *OpenidConnectProviderContractProperties `json:"properties,omitempty"` 5331} 5332 5333// MarshalJSON implements the json.Marshaller interface for type OpenidConnectProviderContract. 5334func (o OpenidConnectProviderContract) MarshalJSON() ([]byte, error) { 5335 objectMap := o.Resource.marshalInternal() 5336 populate(objectMap, "properties", o.Properties) 5337 return json.Marshal(objectMap) 5338} 5339 5340// OpenidConnectProviderContractProperties - OpenID Connect Providers Contract. 5341type OpenidConnectProviderContractProperties struct { 5342 // REQUIRED; Client ID of developer console which is the client application. 5343 ClientID *string `json:"clientId,omitempty"` 5344 5345 // REQUIRED; User-friendly OpenID Connect Provider name. 5346 DisplayName *string `json:"displayName,omitempty"` 5347 5348 // REQUIRED; Metadata endpoint URI. 5349 MetadataEndpoint *string `json:"metadataEndpoint,omitempty"` 5350 5351 // Client Secret of developer console which is the client application. 5352 ClientSecret *string `json:"clientSecret,omitempty"` 5353 5354 // User-friendly description of OpenID Connect Provider. 5355 Description *string `json:"description,omitempty"` 5356} 5357 5358// OpenidConnectProviderUpdateContract - Parameters supplied to the Update OpenID Connect Provider operation. 5359type OpenidConnectProviderUpdateContract struct { 5360 // OpenId Connect Provider Update contract properties. 5361 Properties *OpenidConnectProviderUpdateContractProperties `json:"properties,omitempty"` 5362} 5363 5364// MarshalJSON implements the json.Marshaller interface for type OpenidConnectProviderUpdateContract. 5365func (o OpenidConnectProviderUpdateContract) MarshalJSON() ([]byte, error) { 5366 objectMap := make(map[string]interface{}) 5367 populate(objectMap, "properties", o.Properties) 5368 return json.Marshal(objectMap) 5369} 5370 5371// OpenidConnectProviderUpdateContractProperties - Parameters supplied to the Update OpenID Connect Provider operation. 5372type OpenidConnectProviderUpdateContractProperties struct { 5373 // Client ID of developer console which is the client application. 5374 ClientID *string `json:"clientId,omitempty"` 5375 5376 // Client Secret of developer console which is the client application. 5377 ClientSecret *string `json:"clientSecret,omitempty"` 5378 5379 // User-friendly description of OpenID Connect Provider. 5380 Description *string `json:"description,omitempty"` 5381 5382 // User-friendly OpenID Connect Provider name. 5383 DisplayName *string `json:"displayName,omitempty"` 5384 5385 // Metadata endpoint URI. 5386 MetadataEndpoint *string `json:"metadataEndpoint,omitempty"` 5387} 5388 5389// Operation - REST API operation 5390type Operation struct { 5391 // The object that describes the operation. 5392 Display *OperationDisplay `json:"display,omitempty"` 5393 5394 // Operation name: {provider}/{resource}/{operation} 5395 Name *string `json:"name,omitempty"` 5396 5397 // The operation origin. 5398 Origin *string `json:"origin,omitempty"` 5399 5400 // The operation properties. 5401 Properties map[string]interface{} `json:"properties,omitempty"` 5402} 5403 5404// OperationCollection - Paged Operation list representation. 5405type OperationCollection struct { 5406 // Total record count number across all pages. 5407 Count *int64 `json:"count,omitempty"` 5408 5409 // READ-ONLY; Next page link if any. 5410 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 5411 5412 // READ-ONLY; Page values. 5413 Value []*OperationContract `json:"value,omitempty" azure:"ro"` 5414} 5415 5416// MarshalJSON implements the json.Marshaller interface for type OperationCollection. 5417func (o OperationCollection) MarshalJSON() ([]byte, error) { 5418 objectMap := make(map[string]interface{}) 5419 populate(objectMap, "count", o.Count) 5420 populate(objectMap, "nextLink", o.NextLink) 5421 populate(objectMap, "value", o.Value) 5422 return json.Marshal(objectMap) 5423} 5424 5425// OperationContract - Api Operation details. 5426type OperationContract struct { 5427 Resource 5428 // Properties of the Operation Contract. 5429 Properties *OperationContractProperties `json:"properties,omitempty"` 5430} 5431 5432// MarshalJSON implements the json.Marshaller interface for type OperationContract. 5433func (o OperationContract) MarshalJSON() ([]byte, error) { 5434 objectMap := o.Resource.marshalInternal() 5435 populate(objectMap, "properties", o.Properties) 5436 return json.Marshal(objectMap) 5437} 5438 5439// OperationContractProperties - Operation Contract Properties 5440type OperationContractProperties struct { 5441 OperationEntityBaseContract 5442 // REQUIRED; Operation Name. 5443 DisplayName *string `json:"displayName,omitempty"` 5444 5445 // REQUIRED; A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. 5446 Method *string `json:"method,omitempty"` 5447 5448 // REQUIRED; Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date} 5449 URLTemplate *string `json:"urlTemplate,omitempty"` 5450} 5451 5452// MarshalJSON implements the json.Marshaller interface for type OperationContractProperties. 5453func (o OperationContractProperties) MarshalJSON() ([]byte, error) { 5454 objectMap := o.OperationEntityBaseContract.marshalInternal() 5455 populate(objectMap, "displayName", o.DisplayName) 5456 populate(objectMap, "method", o.Method) 5457 populate(objectMap, "urlTemplate", o.URLTemplate) 5458 return json.Marshal(objectMap) 5459} 5460 5461// OperationDisplay - The object that describes the operation. 5462type OperationDisplay struct { 5463 // Friendly name of the operation 5464 Description *string `json:"description,omitempty"` 5465 5466 // Operation type: read, write, delete, listKeys/action, etc. 5467 Operation *string `json:"operation,omitempty"` 5468 5469 // Friendly name of the resource provider 5470 Provider *string `json:"provider,omitempty"` 5471 5472 // Resource type on which the operation is performed. 5473 Resource *string `json:"resource,omitempty"` 5474} 5475 5476// OperationEntityBaseContract - Api Operation Entity Base Contract details. 5477type OperationEntityBaseContract struct { 5478 // Description of the operation. May include HTML formatting tags. 5479 Description *string `json:"description,omitempty"` 5480 5481 // Operation Policies 5482 Policies *string `json:"policies,omitempty"` 5483 5484 // An entity containing request details. 5485 Request *RequestContract `json:"request,omitempty"` 5486 5487 // Array of Operation responses. 5488 Responses []*ResponseContract `json:"responses,omitempty"` 5489 5490 // Collection of URL template parameters. 5491 TemplateParameters []*ParameterContract `json:"templateParameters,omitempty"` 5492} 5493 5494// MarshalJSON implements the json.Marshaller interface for type OperationEntityBaseContract. 5495func (o OperationEntityBaseContract) MarshalJSON() ([]byte, error) { 5496 objectMap := o.marshalInternal() 5497 return json.Marshal(objectMap) 5498} 5499 5500func (o OperationEntityBaseContract) marshalInternal() map[string]interface{} { 5501 objectMap := make(map[string]interface{}) 5502 populate(objectMap, "description", o.Description) 5503 populate(objectMap, "policies", o.Policies) 5504 populate(objectMap, "request", o.Request) 5505 populate(objectMap, "responses", o.Responses) 5506 populate(objectMap, "templateParameters", o.TemplateParameters) 5507 return objectMap 5508} 5509 5510// OperationListByTagsOptions contains the optional parameters for the Operation.ListByTags method. 5511type OperationListByTagsOptions struct { 5512 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 5513 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 5514 // endswith |</br>| apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| description | filter | ge, le, eq, ne, 5515 // gt, lt | substringof, contains, startswith, endswith |</br>| method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| 5516 // urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 5517 Filter *string 5518 // Include not tagged Operations. 5519 IncludeNotTaggedOperations *bool 5520 // Number of records to skip. 5521 Skip *int32 5522 // Number of records to return. 5523 Top *int32 5524} 5525 5526// OperationListResult - Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results. 5527type OperationListResult struct { 5528 // URL to get the next set of operation list results if there are any. 5529 NextLink *string `json:"nextLink,omitempty"` 5530 5531 // List of operations supported by the resource provider. 5532 Value []*Operation `json:"value,omitempty"` 5533} 5534 5535// MarshalJSON implements the json.Marshaller interface for type OperationListResult. 5536func (o OperationListResult) MarshalJSON() ([]byte, error) { 5537 objectMap := make(map[string]interface{}) 5538 populate(objectMap, "nextLink", o.NextLink) 5539 populate(objectMap, "value", o.Value) 5540 return json.Marshal(objectMap) 5541} 5542 5543// OperationResultContract - Long Running Git Operation Results. 5544type OperationResultContract struct { 5545 Resource 5546 // Properties of the Operation Contract. 5547 Properties *OperationResultContractProperties `json:"properties,omitempty"` 5548} 5549 5550// MarshalJSON implements the json.Marshaller interface for type OperationResultContract. 5551func (o OperationResultContract) MarshalJSON() ([]byte, error) { 5552 objectMap := o.Resource.marshalInternal() 5553 populate(objectMap, "properties", o.Properties) 5554 return json.Marshal(objectMap) 5555} 5556 5557// OperationResultContractProperties - Operation Result. 5558type OperationResultContractProperties struct { 5559 // Error Body Contract 5560 Error *ErrorResponseBody `json:"error,omitempty"` 5561 5562 // Operation result identifier. 5563 ID *string `json:"id,omitempty"` 5564 5565 // Optional result info. 5566 ResultInfo *string `json:"resultInfo,omitempty"` 5567 5568 // Start time of an async operation. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 5569 Started *time.Time `json:"started,omitempty"` 5570 5571 // Status of an async operation. 5572 Status *AsyncOperationStatus `json:"status,omitempty"` 5573 5574 // Last update time of an async operation. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 5575 Updated *time.Time `json:"updated,omitempty"` 5576 5577 // READ-ONLY; This property if only provided as part of the TenantConfigurationValidate operation. It contains the log the entities which will be updated/created/deleted 5578 // as part of the TenantConfigurationDeploy 5579 // operation. 5580 ActionLog []*OperationResultLogItemContract `json:"actionLog,omitempty" azure:"ro"` 5581} 5582 5583// MarshalJSON implements the json.Marshaller interface for type OperationResultContractProperties. 5584func (o OperationResultContractProperties) MarshalJSON() ([]byte, error) { 5585 objectMap := make(map[string]interface{}) 5586 populate(objectMap, "actionLog", o.ActionLog) 5587 populate(objectMap, "error", o.Error) 5588 populate(objectMap, "id", o.ID) 5589 populate(objectMap, "resultInfo", o.ResultInfo) 5590 populate(objectMap, "started", (*timeRFC3339)(o.Started)) 5591 populate(objectMap, "status", o.Status) 5592 populate(objectMap, "updated", (*timeRFC3339)(o.Updated)) 5593 return json.Marshal(objectMap) 5594} 5595 5596// UnmarshalJSON implements the json.Unmarshaller interface for type OperationResultContractProperties. 5597func (o *OperationResultContractProperties) UnmarshalJSON(data []byte) error { 5598 var rawMsg map[string]json.RawMessage 5599 if err := json.Unmarshal(data, &rawMsg); err != nil { 5600 return err 5601 } 5602 for key, val := range rawMsg { 5603 var err error 5604 switch key { 5605 case "actionLog": 5606 err = unpopulate(val, &o.ActionLog) 5607 delete(rawMsg, key) 5608 case "error": 5609 err = unpopulate(val, &o.Error) 5610 delete(rawMsg, key) 5611 case "id": 5612 err = unpopulate(val, &o.ID) 5613 delete(rawMsg, key) 5614 case "resultInfo": 5615 err = unpopulate(val, &o.ResultInfo) 5616 delete(rawMsg, key) 5617 case "started": 5618 var aux timeRFC3339 5619 err = unpopulate(val, &aux) 5620 o.Started = (*time.Time)(&aux) 5621 delete(rawMsg, key) 5622 case "status": 5623 err = unpopulate(val, &o.Status) 5624 delete(rawMsg, key) 5625 case "updated": 5626 var aux timeRFC3339 5627 err = unpopulate(val, &aux) 5628 o.Updated = (*time.Time)(&aux) 5629 delete(rawMsg, key) 5630 } 5631 if err != nil { 5632 return err 5633 } 5634 } 5635 return nil 5636} 5637 5638// OperationResultLogItemContract - Log of the entity being created, updated or deleted. 5639type OperationResultLogItemContract struct { 5640 // Action like create/update/delete. 5641 Action *string `json:"action,omitempty"` 5642 5643 // Identifier of the entity being created/updated/deleted. 5644 ObjectKey *string `json:"objectKey,omitempty"` 5645 5646 // The type of entity contract. 5647 ObjectType *string `json:"objectType,omitempty"` 5648} 5649 5650// OperationTagResourceContractProperties - Operation Entity contract Properties. 5651type OperationTagResourceContractProperties struct { 5652 // Identifier of the operation in form /operations/{operationId}. 5653 ID *string `json:"id,omitempty"` 5654 5655 // READ-ONLY; Api Name. 5656 APIName *string `json:"apiName,omitempty" azure:"ro"` 5657 5658 // READ-ONLY; Api Revision. 5659 APIRevision *string `json:"apiRevision,omitempty" azure:"ro"` 5660 5661 // READ-ONLY; Api Version. 5662 APIVersion *string `json:"apiVersion,omitempty" azure:"ro"` 5663 5664 // READ-ONLY; Operation Description. 5665 Description *string `json:"description,omitempty" azure:"ro"` 5666 5667 // READ-ONLY; A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. 5668 Method *string `json:"method,omitempty" azure:"ro"` 5669 5670 // READ-ONLY; Operation name. 5671 Name *string `json:"name,omitempty" azure:"ro"` 5672 5673 // READ-ONLY; Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date} 5674 URLTemplate *string `json:"urlTemplate,omitempty" azure:"ro"` 5675} 5676 5677// OperationUpdateContract - Api Operation Update Contract details. 5678type OperationUpdateContract struct { 5679 // Properties of the API Operation entity that can be updated. 5680 Properties *OperationUpdateContractProperties `json:"properties,omitempty"` 5681} 5682 5683// MarshalJSON implements the json.Marshaller interface for type OperationUpdateContract. 5684func (o OperationUpdateContract) MarshalJSON() ([]byte, error) { 5685 objectMap := make(map[string]interface{}) 5686 populate(objectMap, "properties", o.Properties) 5687 return json.Marshal(objectMap) 5688} 5689 5690// OperationUpdateContractProperties - Operation Update Contract Properties. 5691type OperationUpdateContractProperties struct { 5692 OperationEntityBaseContract 5693 // Operation Name. 5694 DisplayName *string `json:"displayName,omitempty"` 5695 5696 // A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. 5697 Method *string `json:"method,omitempty"` 5698 5699 // Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date} 5700 URLTemplate *string `json:"urlTemplate,omitempty"` 5701} 5702 5703// MarshalJSON implements the json.Marshaller interface for type OperationUpdateContractProperties. 5704func (o OperationUpdateContractProperties) MarshalJSON() ([]byte, error) { 5705 objectMap := o.OperationEntityBaseContract.marshalInternal() 5706 populate(objectMap, "displayName", o.DisplayName) 5707 populate(objectMap, "method", o.Method) 5708 populate(objectMap, "urlTemplate", o.URLTemplate) 5709 return json.Marshal(objectMap) 5710} 5711 5712// ParameterContract - Operation parameters details. 5713type ParameterContract struct { 5714 // REQUIRED; Parameter name. 5715 Name *string `json:"name,omitempty"` 5716 5717 // REQUIRED; Parameter type. 5718 Type *string `json:"type,omitempty"` 5719 5720 // Default parameter value. 5721 DefaultValue *string `json:"defaultValue,omitempty"` 5722 5723 // Parameter description. 5724 Description *string `json:"description,omitempty"` 5725 5726 // Specifies whether parameter is required or not. 5727 Required *bool `json:"required,omitempty"` 5728 5729 // Parameter values. 5730 Values []*string `json:"values,omitempty"` 5731} 5732 5733// MarshalJSON implements the json.Marshaller interface for type ParameterContract. 5734func (p ParameterContract) MarshalJSON() ([]byte, error) { 5735 objectMap := make(map[string]interface{}) 5736 populate(objectMap, "defaultValue", p.DefaultValue) 5737 populate(objectMap, "description", p.Description) 5738 populate(objectMap, "name", p.Name) 5739 populate(objectMap, "required", p.Required) 5740 populate(objectMap, "type", p.Type) 5741 populate(objectMap, "values", p.Values) 5742 return json.Marshal(objectMap) 5743} 5744 5745// PipelineDiagnosticSettings - Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. 5746type PipelineDiagnosticSettings struct { 5747 // Diagnostic settings for request. 5748 Request *HTTPMessageDiagnostic `json:"request,omitempty"` 5749 5750 // Diagnostic settings for response. 5751 Response *HTTPMessageDiagnostic `json:"response,omitempty"` 5752} 5753 5754// PolicyCollection - The response of the list policy operation. 5755type PolicyCollection struct { 5756 // Total record count number. 5757 Count *int64 `json:"count,omitempty"` 5758 5759 // Next page link if any. 5760 NextLink *string `json:"nextLink,omitempty"` 5761 5762 // Policy Contract value. 5763 Value []*PolicyContract `json:"value,omitempty"` 5764} 5765 5766// MarshalJSON implements the json.Marshaller interface for type PolicyCollection. 5767func (p PolicyCollection) MarshalJSON() ([]byte, error) { 5768 objectMap := make(map[string]interface{}) 5769 populate(objectMap, "count", p.Count) 5770 populate(objectMap, "nextLink", p.NextLink) 5771 populate(objectMap, "value", p.Value) 5772 return json.Marshal(objectMap) 5773} 5774 5775// PolicyContract - Policy Contract details. 5776type PolicyContract struct { 5777 Resource 5778 // Properties of the Policy. 5779 Properties *PolicyContractProperties `json:"properties,omitempty"` 5780} 5781 5782// MarshalJSON implements the json.Marshaller interface for type PolicyContract. 5783func (p PolicyContract) MarshalJSON() ([]byte, error) { 5784 objectMap := p.Resource.marshalInternal() 5785 populate(objectMap, "properties", p.Properties) 5786 return json.Marshal(objectMap) 5787} 5788 5789// PolicyContractProperties - Policy contract Properties. 5790type PolicyContractProperties struct { 5791 // REQUIRED; Contents of the Policy as defined by the format. 5792 Value *string `json:"value,omitempty"` 5793 5794 // Format of the policyContent. 5795 Format *PolicyContentFormat `json:"format,omitempty"` 5796} 5797 5798// PolicyCreateOrUpdateOptions contains the optional parameters for the Policy.CreateOrUpdate method. 5799type PolicyCreateOrUpdateOptions struct { 5800 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 5801 IfMatch *string 5802} 5803 5804// PolicyDeleteOptions contains the optional parameters for the Policy.Delete method. 5805type PolicyDeleteOptions struct { 5806 // placeholder for future optional parameters 5807} 5808 5809// PolicyDescriptionCollection - Descriptions of APIM policies. 5810type PolicyDescriptionCollection struct { 5811 // Total record count number. 5812 Count *int64 `json:"count,omitempty"` 5813 5814 // Descriptions of APIM policies. 5815 Value []*PolicyDescriptionContract `json:"value,omitempty"` 5816} 5817 5818// MarshalJSON implements the json.Marshaller interface for type PolicyDescriptionCollection. 5819func (p PolicyDescriptionCollection) MarshalJSON() ([]byte, error) { 5820 objectMap := make(map[string]interface{}) 5821 populate(objectMap, "count", p.Count) 5822 populate(objectMap, "value", p.Value) 5823 return json.Marshal(objectMap) 5824} 5825 5826// PolicyDescriptionContract - Policy description details. 5827type PolicyDescriptionContract struct { 5828 Resource 5829 // Policy description contract properties. 5830 Properties *PolicyDescriptionContractProperties `json:"properties,omitempty"` 5831} 5832 5833// MarshalJSON implements the json.Marshaller interface for type PolicyDescriptionContract. 5834func (p PolicyDescriptionContract) MarshalJSON() ([]byte, error) { 5835 objectMap := p.Resource.marshalInternal() 5836 populate(objectMap, "properties", p.Properties) 5837 return json.Marshal(objectMap) 5838} 5839 5840// PolicyDescriptionContractProperties - Policy description properties. 5841type PolicyDescriptionContractProperties struct { 5842 // READ-ONLY; Policy description. 5843 Description *string `json:"description,omitempty" azure:"ro"` 5844 5845 // READ-ONLY; Binary OR value of the Snippet scope. 5846 Scope *int64 `json:"scope,omitempty" azure:"ro"` 5847} 5848 5849// PolicyDescriptionListByServiceOptions contains the optional parameters for the PolicyDescription.ListByService method. 5850type PolicyDescriptionListByServiceOptions struct { 5851 // Policy scope. 5852 Scope *PolicyScopeContract 5853} 5854 5855// PolicyGetEntityTagOptions contains the optional parameters for the Policy.GetEntityTag method. 5856type PolicyGetEntityTagOptions struct { 5857 // placeholder for future optional parameters 5858} 5859 5860// PolicyGetOptions contains the optional parameters for the Policy.Get method. 5861type PolicyGetOptions struct { 5862 // Policy Export Format. 5863 Format *PolicyExportFormat 5864} 5865 5866// PolicyListByServiceOptions contains the optional parameters for the Policy.ListByService method. 5867type PolicyListByServiceOptions struct { 5868 // placeholder for future optional parameters 5869} 5870 5871// PortalDelegationSettings - Delegation settings for a developer portal. 5872type PortalDelegationSettings struct { 5873 Resource 5874 // Delegation settings contract properties. 5875 Properties *PortalDelegationSettingsProperties `json:"properties,omitempty"` 5876} 5877 5878// MarshalJSON implements the json.Marshaller interface for type PortalDelegationSettings. 5879func (p PortalDelegationSettings) MarshalJSON() ([]byte, error) { 5880 objectMap := p.Resource.marshalInternal() 5881 populate(objectMap, "properties", p.Properties) 5882 return json.Marshal(objectMap) 5883} 5884 5885// PortalDelegationSettingsProperties - Delegation settings contract properties. 5886type PortalDelegationSettingsProperties struct { 5887 // Subscriptions delegation settings. 5888 Subscriptions *SubscriptionsDelegationSettingsProperties `json:"subscriptions,omitempty"` 5889 5890 // A delegation Url. 5891 URL *string `json:"url,omitempty"` 5892 5893 // User registration delegation settings. 5894 UserRegistration *RegistrationDelegationSettingsProperties `json:"userRegistration,omitempty"` 5895 5896 // A base64-encoded validation key to validate, that a request is coming from Azure API Management. 5897 ValidationKey *string `json:"validationKey,omitempty"` 5898} 5899 5900// PortalRevisionBeginCreateOrUpdateOptions contains the optional parameters for the PortalRevision.BeginCreateOrUpdate method. 5901type PortalRevisionBeginCreateOrUpdateOptions struct { 5902 // placeholder for future optional parameters 5903} 5904 5905// PortalRevisionBeginUpdateOptions contains the optional parameters for the PortalRevision.BeginUpdate method. 5906type PortalRevisionBeginUpdateOptions struct { 5907 // placeholder for future optional parameters 5908} 5909 5910// PortalRevisionCollection - Paged list of portal revisions. 5911type PortalRevisionCollection struct { 5912 // READ-ONLY; Next page link, if any. 5913 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 5914 5915 // READ-ONLY; Collection of portal revisions. 5916 Value []*PortalRevisionContract `json:"value,omitempty" azure:"ro"` 5917} 5918 5919// MarshalJSON implements the json.Marshaller interface for type PortalRevisionCollection. 5920func (p PortalRevisionCollection) MarshalJSON() ([]byte, error) { 5921 objectMap := make(map[string]interface{}) 5922 populate(objectMap, "nextLink", p.NextLink) 5923 populate(objectMap, "value", p.Value) 5924 return json.Marshal(objectMap) 5925} 5926 5927// PortalRevisionContract - Portal revisions contract details. 5928type PortalRevisionContract struct { 5929 Resource 5930 // Properties of the portal revisions. 5931 Properties *PortalRevisionContractProperties `json:"properties,omitempty"` 5932} 5933 5934// MarshalJSON implements the json.Marshaller interface for type PortalRevisionContract. 5935func (p PortalRevisionContract) MarshalJSON() ([]byte, error) { 5936 objectMap := p.Resource.marshalInternal() 5937 populate(objectMap, "properties", p.Properties) 5938 return json.Marshal(objectMap) 5939} 5940 5941type PortalRevisionContractProperties struct { 5942 // Portal revision description. 5943 Description *string `json:"description,omitempty"` 5944 5945 // Indicates if the Portal Revision is public. 5946 IsCurrent *bool `json:"isCurrent,omitempty"` 5947 5948 // READ-ONLY; Portal revision creation date and time. 5949 CreatedDateTime *time.Time `json:"createdDateTime,omitempty" azure:"ro"` 5950 5951 // READ-ONLY; Portal revision publishing status 5952 Status *PortalRevisionStatus `json:"status,omitempty" azure:"ro"` 5953 5954 // READ-ONLY; Portal revision publishing status details. 5955 StatusDetails *string `json:"statusDetails,omitempty" azure:"ro"` 5956 5957 // READ-ONLY; Last updated date and time. 5958 UpdatedDateTime *time.Time `json:"updatedDateTime,omitempty" azure:"ro"` 5959} 5960 5961// MarshalJSON implements the json.Marshaller interface for type PortalRevisionContractProperties. 5962func (p PortalRevisionContractProperties) MarshalJSON() ([]byte, error) { 5963 objectMap := make(map[string]interface{}) 5964 populate(objectMap, "createdDateTime", (*timeRFC3339)(p.CreatedDateTime)) 5965 populate(objectMap, "description", p.Description) 5966 populate(objectMap, "isCurrent", p.IsCurrent) 5967 populate(objectMap, "status", p.Status) 5968 populate(objectMap, "statusDetails", p.StatusDetails) 5969 populate(objectMap, "updatedDateTime", (*timeRFC3339)(p.UpdatedDateTime)) 5970 return json.Marshal(objectMap) 5971} 5972 5973// UnmarshalJSON implements the json.Unmarshaller interface for type PortalRevisionContractProperties. 5974func (p *PortalRevisionContractProperties) UnmarshalJSON(data []byte) error { 5975 var rawMsg map[string]json.RawMessage 5976 if err := json.Unmarshal(data, &rawMsg); err != nil { 5977 return err 5978 } 5979 for key, val := range rawMsg { 5980 var err error 5981 switch key { 5982 case "createdDateTime": 5983 var aux timeRFC3339 5984 err = unpopulate(val, &aux) 5985 p.CreatedDateTime = (*time.Time)(&aux) 5986 delete(rawMsg, key) 5987 case "description": 5988 err = unpopulate(val, &p.Description) 5989 delete(rawMsg, key) 5990 case "isCurrent": 5991 err = unpopulate(val, &p.IsCurrent) 5992 delete(rawMsg, key) 5993 case "status": 5994 err = unpopulate(val, &p.Status) 5995 delete(rawMsg, key) 5996 case "statusDetails": 5997 err = unpopulate(val, &p.StatusDetails) 5998 delete(rawMsg, key) 5999 case "updatedDateTime": 6000 var aux timeRFC3339 6001 err = unpopulate(val, &aux) 6002 p.UpdatedDateTime = (*time.Time)(&aux) 6003 delete(rawMsg, key) 6004 } 6005 if err != nil { 6006 return err 6007 } 6008 } 6009 return nil 6010} 6011 6012// PortalRevisionGetEntityTagOptions contains the optional parameters for the PortalRevision.GetEntityTag method. 6013type PortalRevisionGetEntityTagOptions struct { 6014 // placeholder for future optional parameters 6015} 6016 6017// PortalRevisionGetOptions contains the optional parameters for the PortalRevision.Get method. 6018type PortalRevisionGetOptions struct { 6019 // placeholder for future optional parameters 6020} 6021 6022// PortalRevisionListByServiceOptions contains the optional parameters for the PortalRevision.ListByService method. 6023type PortalRevisionListByServiceOptions struct { 6024 // | Field | Supported operators | Supported functions | 6025 // |-------------|------------------------|-----------------------------------| 6026 // 6027 // |name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith| 6028 // |description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith| 6029 // |isCurrent | eq, ne | | 6030 Filter *string 6031 // Number of records to skip. 6032 Skip *int32 6033 // Number of records to return. 6034 Top *int32 6035} 6036 6037// PortalSettingValidationKeyContract - Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. 6038type PortalSettingValidationKeyContract struct { 6039 // This is secret value of the validation key in portal settings. 6040 ValidationKey *string `json:"validationKey,omitempty"` 6041} 6042 6043// PortalSettingsCollection - Descriptions of APIM policies. 6044type PortalSettingsCollection struct { 6045 // Total record count number. 6046 Count *int64 `json:"count,omitempty"` 6047 6048 // Descriptions of APIM policies. 6049 Value []*PortalSettingsContract `json:"value,omitempty"` 6050} 6051 6052// MarshalJSON implements the json.Marshaller interface for type PortalSettingsCollection. 6053func (p PortalSettingsCollection) MarshalJSON() ([]byte, error) { 6054 objectMap := make(map[string]interface{}) 6055 populate(objectMap, "count", p.Count) 6056 populate(objectMap, "value", p.Value) 6057 return json.Marshal(objectMap) 6058} 6059 6060// PortalSettingsContract - Portal Settings for the Developer Portal. 6061type PortalSettingsContract struct { 6062 Resource 6063 // Portal Settings contract properties. 6064 Properties *PortalSettingsContractProperties `json:"properties,omitempty"` 6065} 6066 6067// MarshalJSON implements the json.Marshaller interface for type PortalSettingsContract. 6068func (p PortalSettingsContract) MarshalJSON() ([]byte, error) { 6069 objectMap := p.Resource.marshalInternal() 6070 populate(objectMap, "properties", p.Properties) 6071 return json.Marshal(objectMap) 6072} 6073 6074// PortalSettingsContractProperties - Sign-in settings contract properties. 6075type PortalSettingsContractProperties struct { 6076 // Redirect Anonymous users to the Sign-In page. 6077 Enabled *bool `json:"enabled,omitempty"` 6078 6079 // Subscriptions delegation settings. 6080 Subscriptions *SubscriptionsDelegationSettingsProperties `json:"subscriptions,omitempty"` 6081 6082 // Terms of service contract properties. 6083 TermsOfService *TermsOfServiceProperties `json:"termsOfService,omitempty"` 6084 6085 // A delegation Url. 6086 URL *string `json:"url,omitempty"` 6087 6088 // User registration delegation settings. 6089 UserRegistration *RegistrationDelegationSettingsProperties `json:"userRegistration,omitempty"` 6090 6091 // A base64-encoded validation key to validate, that a request is coming from Azure API Management. 6092 ValidationKey *string `json:"validationKey,omitempty"` 6093} 6094 6095// PortalSettingsListByServiceOptions contains the optional parameters for the PortalSettings.ListByService method. 6096type PortalSettingsListByServiceOptions struct { 6097 // placeholder for future optional parameters 6098} 6099 6100// PortalSigninSettingProperties - Sign-in settings contract properties. 6101type PortalSigninSettingProperties struct { 6102 // Redirect Anonymous users to the Sign-In page. 6103 Enabled *bool `json:"enabled,omitempty"` 6104} 6105 6106// PortalSigninSettings - Sign-In settings for the Developer Portal. 6107type PortalSigninSettings struct { 6108 Resource 6109 // Sign-in settings contract properties. 6110 Properties *PortalSigninSettingProperties `json:"properties,omitempty"` 6111} 6112 6113// MarshalJSON implements the json.Marshaller interface for type PortalSigninSettings. 6114func (p PortalSigninSettings) MarshalJSON() ([]byte, error) { 6115 objectMap := p.Resource.marshalInternal() 6116 populate(objectMap, "properties", p.Properties) 6117 return json.Marshal(objectMap) 6118} 6119 6120// PortalSignupSettings - Sign-Up settings for a developer portal. 6121type PortalSignupSettings struct { 6122 Resource 6123 // Sign-up settings contract properties. 6124 Properties *PortalSignupSettingsProperties `json:"properties,omitempty"` 6125} 6126 6127// MarshalJSON implements the json.Marshaller interface for type PortalSignupSettings. 6128func (p PortalSignupSettings) MarshalJSON() ([]byte, error) { 6129 objectMap := p.Resource.marshalInternal() 6130 populate(objectMap, "properties", p.Properties) 6131 return json.Marshal(objectMap) 6132} 6133 6134// PortalSignupSettingsProperties - Sign-up settings contract properties. 6135type PortalSignupSettingsProperties struct { 6136 // Allow users to sign up on a developer portal. 6137 Enabled *bool `json:"enabled,omitempty"` 6138 6139 // Terms of service contract properties. 6140 TermsOfService *TermsOfServiceProperties `json:"termsOfService,omitempty"` 6141} 6142 6143// ProductAPICheckEntityExistsOptions contains the optional parameters for the ProductAPI.CheckEntityExists method. 6144type ProductAPICheckEntityExistsOptions struct { 6145 // placeholder for future optional parameters 6146} 6147 6148// ProductAPICreateOrUpdateOptions contains the optional parameters for the ProductAPI.CreateOrUpdate method. 6149type ProductAPICreateOrUpdateOptions struct { 6150 // placeholder for future optional parameters 6151} 6152 6153// ProductAPIDeleteOptions contains the optional parameters for the ProductAPI.Delete method. 6154type ProductAPIDeleteOptions struct { 6155 // placeholder for future optional parameters 6156} 6157 6158// ProductAPIListByProductOptions contains the optional parameters for the ProductAPI.ListByProduct method. 6159type ProductAPIListByProductOptions struct { 6160 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 6161 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 6162 // endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| serviceUrl | filter | ge, le, eq, 6163 // ne, gt, lt | substringof, contains, startswith, endswith |</br>| path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 6164 // |</br> 6165 Filter *string 6166 // Number of records to skip. 6167 Skip *int32 6168 // Number of records to return. 6169 Top *int32 6170} 6171 6172// ProductCollection - Paged Products list representation. 6173type ProductCollection struct { 6174 // Total record count number across all pages. 6175 Count *int64 `json:"count,omitempty"` 6176 6177 // Next page link if any. 6178 NextLink *string `json:"nextLink,omitempty"` 6179 6180 // Page values. 6181 Value []*ProductContract `json:"value,omitempty"` 6182} 6183 6184// MarshalJSON implements the json.Marshaller interface for type ProductCollection. 6185func (p ProductCollection) MarshalJSON() ([]byte, error) { 6186 objectMap := make(map[string]interface{}) 6187 populate(objectMap, "count", p.Count) 6188 populate(objectMap, "nextLink", p.NextLink) 6189 populate(objectMap, "value", p.Value) 6190 return json.Marshal(objectMap) 6191} 6192 6193// ProductContract - Product details. 6194type ProductContract struct { 6195 Resource 6196 // Product entity contract properties. 6197 Properties *ProductContractProperties `json:"properties,omitempty"` 6198} 6199 6200// MarshalJSON implements the json.Marshaller interface for type ProductContract. 6201func (p ProductContract) MarshalJSON() ([]byte, error) { 6202 objectMap := p.Resource.marshalInternal() 6203 populate(objectMap, "properties", p.Properties) 6204 return json.Marshal(objectMap) 6205} 6206 6207// ProductContractProperties - Product profile. 6208type ProductContractProperties struct { 6209 ProductEntityBaseParameters 6210 // REQUIRED; Product name. 6211 DisplayName *string `json:"displayName,omitempty"` 6212} 6213 6214// ProductCreateOrUpdateOptions contains the optional parameters for the Product.CreateOrUpdate method. 6215type ProductCreateOrUpdateOptions struct { 6216 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 6217 IfMatch *string 6218} 6219 6220// ProductDeleteOptions contains the optional parameters for the Product.Delete method. 6221type ProductDeleteOptions struct { 6222 // Delete existing subscriptions associated with the product or not. 6223 DeleteSubscriptions *bool 6224} 6225 6226// ProductEntityBaseParameters - Product Entity Base Parameters 6227type ProductEntityBaseParameters struct { 6228 // whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs 6229 // immediately after subscribing. If true, 6230 // administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired 6231 // property is present and has a value of false. 6232 ApprovalRequired *bool `json:"approvalRequired,omitempty"` 6233 6234 // Product description. May include HTML formatting tags. 6235 Description *string `json:"description,omitempty"` 6236 6237 // whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. 6238 // Default state of Product is 6239 // notPublished. 6240 State *ProductState `json:"state,omitempty"` 6241 6242 // Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid 6243 // subscription key is required for a request to an 6244 // API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without 6245 // a subscription key. If property is omitted 6246 // when creating a new product it's value is assumed to be true. 6247 SubscriptionRequired *bool `json:"subscriptionRequired,omitempty"` 6248 6249 // Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. 6250 // Can be present only if subscriptionRequired 6251 // property is present and has a value of false. 6252 SubscriptionsLimit *int32 `json:"subscriptionsLimit,omitempty"` 6253 6254 // Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the 6255 // subscription process. 6256 Terms *string `json:"terms,omitempty"` 6257} 6258 6259// ProductGetEntityTagOptions contains the optional parameters for the Product.GetEntityTag method. 6260type ProductGetEntityTagOptions struct { 6261 // placeholder for future optional parameters 6262} 6263 6264// ProductGetOptions contains the optional parameters for the Product.Get method. 6265type ProductGetOptions struct { 6266 // placeholder for future optional parameters 6267} 6268 6269// ProductGroupCheckEntityExistsOptions contains the optional parameters for the ProductGroup.CheckEntityExists method. 6270type ProductGroupCheckEntityExistsOptions struct { 6271 // placeholder for future optional parameters 6272} 6273 6274// ProductGroupCreateOrUpdateOptions contains the optional parameters for the ProductGroup.CreateOrUpdate method. 6275type ProductGroupCreateOrUpdateOptions struct { 6276 // placeholder for future optional parameters 6277} 6278 6279// ProductGroupDeleteOptions contains the optional parameters for the ProductGroup.Delete method. 6280type ProductGroupDeleteOptions struct { 6281 // placeholder for future optional parameters 6282} 6283 6284// ProductGroupListByProductOptions contains the optional parameters for the ProductGroup.ListByProduct method. 6285type ProductGroupListByProductOptions struct { 6286 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 6287 // le, eq, ne, gt, lt | |</br>| displayName | filter | eq, ne | |</br>| description | filter | eq, ne | |</br> 6288 Filter *string 6289 // Number of records to skip. 6290 Skip *int32 6291 // Number of records to return. 6292 Top *int32 6293} 6294 6295// ProductListByServiceOptions contains the optional parameters for the Product.ListByService method. 6296type ProductListByServiceOptions struct { 6297 // When set to true, the response contains an array of groups that have visibility to the product. The default is false. 6298 ExpandGroups *bool 6299 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 6300 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 6301 // endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| terms | filter | ge, le, eq, ne, 6302 // gt, lt | substringof, contains, startswith, endswith |</br>| state | filter | eq | |</br>| groups | expand | | |</br> 6303 Filter *string 6304 // Number of records to skip. 6305 Skip *int32 6306 // Products which are part of a specific tag. 6307 Tags *string 6308 // Number of records to return. 6309 Top *int32 6310} 6311 6312// ProductListByTagsOptions contains the optional parameters for the Product.ListByTags method. 6313type ProductListByTagsOptions struct { 6314 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 6315 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 6316 // endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| terms | filter | ge, le, eq, ne, 6317 // gt, lt | substringof, contains, startswith, endswith |</br>| state | filter | eq | substringof, contains, startswith, endswith |</br> 6318 Filter *string 6319 // Include not tagged Products. 6320 IncludeNotTaggedProducts *bool 6321 // Number of records to skip. 6322 Skip *int32 6323 // Number of records to return. 6324 Top *int32 6325} 6326 6327// ProductPolicyCreateOrUpdateOptions contains the optional parameters for the ProductPolicy.CreateOrUpdate method. 6328type ProductPolicyCreateOrUpdateOptions struct { 6329 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 6330 IfMatch *string 6331} 6332 6333// ProductPolicyDeleteOptions contains the optional parameters for the ProductPolicy.Delete method. 6334type ProductPolicyDeleteOptions struct { 6335 // placeholder for future optional parameters 6336} 6337 6338// ProductPolicyGetEntityTagOptions contains the optional parameters for the ProductPolicy.GetEntityTag method. 6339type ProductPolicyGetEntityTagOptions struct { 6340 // placeholder for future optional parameters 6341} 6342 6343// ProductPolicyGetOptions contains the optional parameters for the ProductPolicy.Get method. 6344type ProductPolicyGetOptions struct { 6345 // Policy Export Format. 6346 Format *PolicyExportFormat 6347} 6348 6349// ProductPolicyListByProductOptions contains the optional parameters for the ProductPolicy.ListByProduct method. 6350type ProductPolicyListByProductOptions struct { 6351 // placeholder for future optional parameters 6352} 6353 6354// ProductSubscriptionsListOptions contains the optional parameters for the ProductSubscriptions.List method. 6355type ProductSubscriptionsListOptions struct { 6356 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 6357 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 6358 // endswith |</br>| stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| ownerId | filter | ge, le, eq, 6359 // ne, gt, lt | substringof, contains, startswith, endswith |</br>| scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 6360 // |</br>| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| productId | filter | ge, le, eq, ne, gt, lt | 6361 // substringof, contains, startswith, endswith |</br>| state | filter | eq | |</br>| user | expand | | |</br> 6362 Filter *string 6363 // Number of records to skip. 6364 Skip *int32 6365 // Number of records to return. 6366 Top *int32 6367} 6368 6369// ProductTagResourceContractProperties - Product profile. 6370type ProductTagResourceContractProperties struct { 6371 ProductEntityBaseParameters 6372 // REQUIRED; Product name. 6373 Name *string `json:"name,omitempty"` 6374 6375 // Identifier of the product in the form of /products/{productId} 6376 ID *string `json:"id,omitempty"` 6377} 6378 6379// ProductUpdateOptions contains the optional parameters for the Product.Update method. 6380type ProductUpdateOptions struct { 6381 // placeholder for future optional parameters 6382} 6383 6384// ProductUpdateParameters - Product Update parameters. 6385type ProductUpdateParameters struct { 6386 // Product entity Update contract properties. 6387 Properties *ProductUpdateProperties `json:"properties,omitempty"` 6388} 6389 6390// MarshalJSON implements the json.Marshaller interface for type ProductUpdateParameters. 6391func (p ProductUpdateParameters) MarshalJSON() ([]byte, error) { 6392 objectMap := make(map[string]interface{}) 6393 populate(objectMap, "properties", p.Properties) 6394 return json.Marshal(objectMap) 6395} 6396 6397// ProductUpdateProperties - Parameters supplied to the Update Product operation. 6398type ProductUpdateProperties struct { 6399 ProductEntityBaseParameters 6400 // Product name. 6401 DisplayName *string `json:"displayName,omitempty"` 6402} 6403 6404// QuotaByCounterKeysListByServiceOptions contains the optional parameters for the QuotaByCounterKeys.ListByService method. 6405type QuotaByCounterKeysListByServiceOptions struct { 6406 // placeholder for future optional parameters 6407} 6408 6409// QuotaByCounterKeysUpdateOptions contains the optional parameters for the QuotaByCounterKeys.Update method. 6410type QuotaByCounterKeysUpdateOptions struct { 6411 // placeholder for future optional parameters 6412} 6413 6414// QuotaByPeriodKeysGetOptions contains the optional parameters for the QuotaByPeriodKeys.Get method. 6415type QuotaByPeriodKeysGetOptions struct { 6416 // placeholder for future optional parameters 6417} 6418 6419// QuotaByPeriodKeysUpdateOptions contains the optional parameters for the QuotaByPeriodKeys.Update method. 6420type QuotaByPeriodKeysUpdateOptions struct { 6421 // placeholder for future optional parameters 6422} 6423 6424// QuotaCounterCollection - Paged Quota Counter list representation. 6425type QuotaCounterCollection struct { 6426 // Total record count number across all pages. 6427 Count *int64 `json:"count,omitempty"` 6428 6429 // Next page link if any. 6430 NextLink *string `json:"nextLink,omitempty"` 6431 6432 // Quota counter values. 6433 Value []*QuotaCounterContract `json:"value,omitempty"` 6434} 6435 6436// MarshalJSON implements the json.Marshaller interface for type QuotaCounterCollection. 6437func (q QuotaCounterCollection) MarshalJSON() ([]byte, error) { 6438 objectMap := make(map[string]interface{}) 6439 populate(objectMap, "count", q.Count) 6440 populate(objectMap, "nextLink", q.NextLink) 6441 populate(objectMap, "value", q.Value) 6442 return json.Marshal(objectMap) 6443} 6444 6445// QuotaCounterContract - Quota counter details. 6446type QuotaCounterContract struct { 6447 // REQUIRED; The Key value of the Counter. Must not be empty. 6448 CounterKey *string `json:"counterKey,omitempty"` 6449 6450 // REQUIRED; The date of the end of Counter Period. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 6451 PeriodEndTime *time.Time `json:"periodEndTime,omitempty"` 6452 6453 // REQUIRED; Identifier of the Period for which the counter was collected. Must not be empty. 6454 PeriodKey *string `json:"periodKey,omitempty"` 6455 6456 // REQUIRED; The date of the start of Counter Period. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 6457 PeriodStartTime *time.Time `json:"periodStartTime,omitempty"` 6458 6459 // Quota Value Properties 6460 Value *QuotaCounterValueContractProperties `json:"value,omitempty"` 6461} 6462 6463// MarshalJSON implements the json.Marshaller interface for type QuotaCounterContract. 6464func (q QuotaCounterContract) MarshalJSON() ([]byte, error) { 6465 objectMap := make(map[string]interface{}) 6466 populate(objectMap, "counterKey", q.CounterKey) 6467 populate(objectMap, "periodEndTime", (*timeRFC3339)(q.PeriodEndTime)) 6468 populate(objectMap, "periodKey", q.PeriodKey) 6469 populate(objectMap, "periodStartTime", (*timeRFC3339)(q.PeriodStartTime)) 6470 populate(objectMap, "value", q.Value) 6471 return json.Marshal(objectMap) 6472} 6473 6474// UnmarshalJSON implements the json.Unmarshaller interface for type QuotaCounterContract. 6475func (q *QuotaCounterContract) UnmarshalJSON(data []byte) error { 6476 var rawMsg map[string]json.RawMessage 6477 if err := json.Unmarshal(data, &rawMsg); err != nil { 6478 return err 6479 } 6480 for key, val := range rawMsg { 6481 var err error 6482 switch key { 6483 case "counterKey": 6484 err = unpopulate(val, &q.CounterKey) 6485 delete(rawMsg, key) 6486 case "periodEndTime": 6487 var aux timeRFC3339 6488 err = unpopulate(val, &aux) 6489 q.PeriodEndTime = (*time.Time)(&aux) 6490 delete(rawMsg, key) 6491 case "periodKey": 6492 err = unpopulate(val, &q.PeriodKey) 6493 delete(rawMsg, key) 6494 case "periodStartTime": 6495 var aux timeRFC3339 6496 err = unpopulate(val, &aux) 6497 q.PeriodStartTime = (*time.Time)(&aux) 6498 delete(rawMsg, key) 6499 case "value": 6500 err = unpopulate(val, &q.Value) 6501 delete(rawMsg, key) 6502 } 6503 if err != nil { 6504 return err 6505 } 6506 } 6507 return nil 6508} 6509 6510// QuotaCounterValueContract - Quota counter value details. 6511type QuotaCounterValueContract struct { 6512 // Quota counter Value Properties. 6513 Value *QuotaCounterValueContractProperties `json:"value,omitempty"` 6514} 6515 6516// QuotaCounterValueContractProperties - Quota counter value details. 6517type QuotaCounterValueContractProperties struct { 6518 // Number of times Counter was called. 6519 CallsCount *int32 `json:"callsCount,omitempty"` 6520 6521 // Data Transferred in KiloBytes. 6522 KbTransferred *float64 `json:"kbTransferred,omitempty"` 6523} 6524 6525// QuotaCounterValueUpdateContract - Quota counter value details. 6526type QuotaCounterValueUpdateContract struct { 6527 // Quota counter value details. 6528 Properties *QuotaCounterValueContractProperties `json:"properties,omitempty"` 6529} 6530 6531// MarshalJSON implements the json.Marshaller interface for type QuotaCounterValueUpdateContract. 6532func (q QuotaCounterValueUpdateContract) MarshalJSON() ([]byte, error) { 6533 objectMap := make(map[string]interface{}) 6534 populate(objectMap, "properties", q.Properties) 6535 return json.Marshal(objectMap) 6536} 6537 6538// RecipientEmailCollection - Paged Recipient User list representation. 6539type RecipientEmailCollection struct { 6540 // Total record count number across all pages. 6541 Count *int64 `json:"count,omitempty"` 6542 6543 // Next page link if any. 6544 NextLink *string `json:"nextLink,omitempty"` 6545 6546 // Page values. 6547 Value []*RecipientEmailContract `json:"value,omitempty"` 6548} 6549 6550// MarshalJSON implements the json.Marshaller interface for type RecipientEmailCollection. 6551func (r RecipientEmailCollection) MarshalJSON() ([]byte, error) { 6552 objectMap := make(map[string]interface{}) 6553 populate(objectMap, "count", r.Count) 6554 populate(objectMap, "nextLink", r.NextLink) 6555 populate(objectMap, "value", r.Value) 6556 return json.Marshal(objectMap) 6557} 6558 6559// RecipientEmailContract - Recipient Email details. 6560type RecipientEmailContract struct { 6561 Resource 6562 // Recipient Email contract properties. 6563 Properties *RecipientEmailContractProperties `json:"properties,omitempty"` 6564} 6565 6566// MarshalJSON implements the json.Marshaller interface for type RecipientEmailContract. 6567func (r RecipientEmailContract) MarshalJSON() ([]byte, error) { 6568 objectMap := r.Resource.marshalInternal() 6569 populate(objectMap, "properties", r.Properties) 6570 return json.Marshal(objectMap) 6571} 6572 6573// RecipientEmailContractProperties - Recipient Email Contract Properties. 6574type RecipientEmailContractProperties struct { 6575 // User Email subscribed to notification. 6576 Email *string `json:"email,omitempty"` 6577} 6578 6579// RecipientUserCollection - Paged Recipient User list representation. 6580type RecipientUserCollection struct { 6581 // Total record count number across all pages. 6582 Count *int64 `json:"count,omitempty"` 6583 6584 // Next page link if any. 6585 NextLink *string `json:"nextLink,omitempty"` 6586 6587 // Page values. 6588 Value []*RecipientUserContract `json:"value,omitempty"` 6589} 6590 6591// MarshalJSON implements the json.Marshaller interface for type RecipientUserCollection. 6592func (r RecipientUserCollection) MarshalJSON() ([]byte, error) { 6593 objectMap := make(map[string]interface{}) 6594 populate(objectMap, "count", r.Count) 6595 populate(objectMap, "nextLink", r.NextLink) 6596 populate(objectMap, "value", r.Value) 6597 return json.Marshal(objectMap) 6598} 6599 6600// RecipientUserContract - Recipient User details. 6601type RecipientUserContract struct { 6602 Resource 6603 // Recipient User entity contract properties. 6604 Properties *RecipientUsersContractProperties `json:"properties,omitempty"` 6605} 6606 6607// MarshalJSON implements the json.Marshaller interface for type RecipientUserContract. 6608func (r RecipientUserContract) MarshalJSON() ([]byte, error) { 6609 objectMap := r.Resource.marshalInternal() 6610 populate(objectMap, "properties", r.Properties) 6611 return json.Marshal(objectMap) 6612} 6613 6614// RecipientUsersContractProperties - Recipient User Contract Properties. 6615type RecipientUsersContractProperties struct { 6616 // API Management UserId subscribed to notification. 6617 UserID *string `json:"userId,omitempty"` 6618} 6619 6620// RecipientsContractProperties - Notification Parameter contract. 6621type RecipientsContractProperties struct { 6622 // List of Emails subscribed for the notification. 6623 Emails []*string `json:"emails,omitempty"` 6624 6625 // List of Users subscribed for the notification. 6626 Users []*string `json:"users,omitempty"` 6627} 6628 6629// MarshalJSON implements the json.Marshaller interface for type RecipientsContractProperties. 6630func (r RecipientsContractProperties) MarshalJSON() ([]byte, error) { 6631 objectMap := make(map[string]interface{}) 6632 populate(objectMap, "emails", r.Emails) 6633 populate(objectMap, "users", r.Users) 6634 return json.Marshal(objectMap) 6635} 6636 6637// RegionContract - Region profile. 6638type RegionContract struct { 6639 // whether Region is deleted. 6640 IsDeleted *bool `json:"isDeleted,omitempty"` 6641 6642 // whether Region is the master region. 6643 IsMasterRegion *bool `json:"isMasterRegion,omitempty"` 6644 6645 // READ-ONLY; Region name. 6646 Name *string `json:"name,omitempty" azure:"ro"` 6647} 6648 6649// RegionListByServiceOptions contains the optional parameters for the Region.ListByService method. 6650type RegionListByServiceOptions struct { 6651 // placeholder for future optional parameters 6652} 6653 6654// RegionListResult - Lists Regions operation response details. 6655type RegionListResult struct { 6656 // Total record count number across all pages. 6657 Count *int64 `json:"count,omitempty"` 6658 6659 // Next page link if any. 6660 NextLink *string `json:"nextLink,omitempty"` 6661 6662 // Lists of Regions. 6663 Value []*RegionContract `json:"value,omitempty"` 6664} 6665 6666// MarshalJSON implements the json.Marshaller interface for type RegionListResult. 6667func (r RegionListResult) MarshalJSON() ([]byte, error) { 6668 objectMap := make(map[string]interface{}) 6669 populate(objectMap, "count", r.Count) 6670 populate(objectMap, "nextLink", r.NextLink) 6671 populate(objectMap, "value", r.Value) 6672 return json.Marshal(objectMap) 6673} 6674 6675// RegistrationDelegationSettingsProperties - User registration delegation settings properties. 6676type RegistrationDelegationSettingsProperties struct { 6677 // Enable or disable delegation for user registration. 6678 Enabled *bool `json:"enabled,omitempty"` 6679} 6680 6681// ReportCollection - Paged Report records list representation. 6682type ReportCollection struct { 6683 // Total record count number across all pages. 6684 Count *int64 `json:"count,omitempty"` 6685 6686 // Next page link if any. 6687 NextLink *string `json:"nextLink,omitempty"` 6688 6689 // Page values. 6690 Value []*ReportRecordContract `json:"value,omitempty"` 6691} 6692 6693// MarshalJSON implements the json.Marshaller interface for type ReportCollection. 6694func (r ReportCollection) MarshalJSON() ([]byte, error) { 6695 objectMap := make(map[string]interface{}) 6696 populate(objectMap, "count", r.Count) 6697 populate(objectMap, "nextLink", r.NextLink) 6698 populate(objectMap, "value", r.Value) 6699 return json.Marshal(objectMap) 6700} 6701 6702// ReportRecordContract - Report data. 6703type ReportRecordContract struct { 6704 // API identifier path. /apis/{apiId} 6705 APIID *string `json:"apiId,omitempty"` 6706 6707 // API region identifier. 6708 APIRegion *string `json:"apiRegion,omitempty"` 6709 6710 // Average time it took to process request. 6711 APITimeAvg *float64 `json:"apiTimeAvg,omitempty"` 6712 6713 // Maximum time it took to process request. 6714 APITimeMax *float64 `json:"apiTimeMax,omitempty"` 6715 6716 // Minimum time it took to process request. 6717 APITimeMin *float64 `json:"apiTimeMin,omitempty"` 6718 6719 // Bandwidth consumed. 6720 Bandwidth *int64 `json:"bandwidth,omitempty"` 6721 6722 // Number of times when content was served from cache policy. 6723 CacheHitCount *int32 `json:"cacheHitCount,omitempty"` 6724 6725 // Number of times content was fetched from backend. 6726 CacheMissCount *int32 `json:"cacheMissCount,omitempty"` 6727 6728 // Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorized and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests 6729 CallCountBlocked *int32 `json:"callCountBlocked,omitempty"` 6730 6731 // Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError 6732 // (500) and 600 6733 CallCountFailed *int32 `json:"callCountFailed,omitempty"` 6734 6735 // Number of other calls. 6736 CallCountOther *int32 `json:"callCountOther,omitempty"` 6737 6738 // Number of successful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect 6739 CallCountSuccess *int32 `json:"callCountSuccess,omitempty"` 6740 6741 // Total number of calls. 6742 CallCountTotal *int32 `json:"callCountTotal,omitempty"` 6743 6744 // Country to which this record data is related. 6745 Country *string `json:"country,omitempty"` 6746 6747 // Length of aggregation period. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). 6748 Interval *string `json:"interval,omitempty"` 6749 6750 // Name depending on report endpoint specifies product, API, operation or developer name. 6751 Name *string `json:"name,omitempty"` 6752 6753 // Operation identifier path. /apis/{apiId}/operations/{operationId} 6754 OperationID *string `json:"operationId,omitempty"` 6755 6756 // Country region to which this record data is related. 6757 Region *string `json:"region,omitempty"` 6758 6759 // Average time it took to process request on backend. 6760 ServiceTimeAvg *float64 `json:"serviceTimeAvg,omitempty"` 6761 6762 // Maximum time it took to process request on backend. 6763 ServiceTimeMax *float64 `json:"serviceTimeMax,omitempty"` 6764 6765 // Minimum time it took to process request on backend. 6766 ServiceTimeMin *float64 `json:"serviceTimeMin,omitempty"` 6767 6768 // Subscription identifier path. /subscriptions/{subscriptionId} 6769 SubscriptionID *string `json:"subscriptionId,omitempty"` 6770 6771 // Start of aggregation period. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 6772 Timestamp *time.Time `json:"timestamp,omitempty"` 6773 6774 // Zip code to which this record data is related. 6775 Zip *string `json:"zip,omitempty"` 6776 6777 // READ-ONLY; Product identifier path. /products/{productId} 6778 ProductID *string `json:"productId,omitempty" azure:"ro"` 6779 6780 // READ-ONLY; User identifier path. /users/{userId} 6781 UserID *string `json:"userId,omitempty" azure:"ro"` 6782} 6783 6784// MarshalJSON implements the json.Marshaller interface for type ReportRecordContract. 6785func (r ReportRecordContract) MarshalJSON() ([]byte, error) { 6786 objectMap := make(map[string]interface{}) 6787 populate(objectMap, "apiId", r.APIID) 6788 populate(objectMap, "apiRegion", r.APIRegion) 6789 populate(objectMap, "apiTimeAvg", r.APITimeAvg) 6790 populate(objectMap, "apiTimeMax", r.APITimeMax) 6791 populate(objectMap, "apiTimeMin", r.APITimeMin) 6792 populate(objectMap, "bandwidth", r.Bandwidth) 6793 populate(objectMap, "cacheHitCount", r.CacheHitCount) 6794 populate(objectMap, "cacheMissCount", r.CacheMissCount) 6795 populate(objectMap, "callCountBlocked", r.CallCountBlocked) 6796 populate(objectMap, "callCountFailed", r.CallCountFailed) 6797 populate(objectMap, "callCountOther", r.CallCountOther) 6798 populate(objectMap, "callCountSuccess", r.CallCountSuccess) 6799 populate(objectMap, "callCountTotal", r.CallCountTotal) 6800 populate(objectMap, "country", r.Country) 6801 populate(objectMap, "interval", r.Interval) 6802 populate(objectMap, "name", r.Name) 6803 populate(objectMap, "operationId", r.OperationID) 6804 populate(objectMap, "productId", r.ProductID) 6805 populate(objectMap, "region", r.Region) 6806 populate(objectMap, "serviceTimeAvg", r.ServiceTimeAvg) 6807 populate(objectMap, "serviceTimeMax", r.ServiceTimeMax) 6808 populate(objectMap, "serviceTimeMin", r.ServiceTimeMin) 6809 populate(objectMap, "subscriptionId", r.SubscriptionID) 6810 populate(objectMap, "timestamp", (*timeRFC3339)(r.Timestamp)) 6811 populate(objectMap, "userId", r.UserID) 6812 populate(objectMap, "zip", r.Zip) 6813 return json.Marshal(objectMap) 6814} 6815 6816// UnmarshalJSON implements the json.Unmarshaller interface for type ReportRecordContract. 6817func (r *ReportRecordContract) UnmarshalJSON(data []byte) error { 6818 var rawMsg map[string]json.RawMessage 6819 if err := json.Unmarshal(data, &rawMsg); err != nil { 6820 return err 6821 } 6822 for key, val := range rawMsg { 6823 var err error 6824 switch key { 6825 case "apiId": 6826 err = unpopulate(val, &r.APIID) 6827 delete(rawMsg, key) 6828 case "apiRegion": 6829 err = unpopulate(val, &r.APIRegion) 6830 delete(rawMsg, key) 6831 case "apiTimeAvg": 6832 err = unpopulate(val, &r.APITimeAvg) 6833 delete(rawMsg, key) 6834 case "apiTimeMax": 6835 err = unpopulate(val, &r.APITimeMax) 6836 delete(rawMsg, key) 6837 case "apiTimeMin": 6838 err = unpopulate(val, &r.APITimeMin) 6839 delete(rawMsg, key) 6840 case "bandwidth": 6841 err = unpopulate(val, &r.Bandwidth) 6842 delete(rawMsg, key) 6843 case "cacheHitCount": 6844 err = unpopulate(val, &r.CacheHitCount) 6845 delete(rawMsg, key) 6846 case "cacheMissCount": 6847 err = unpopulate(val, &r.CacheMissCount) 6848 delete(rawMsg, key) 6849 case "callCountBlocked": 6850 err = unpopulate(val, &r.CallCountBlocked) 6851 delete(rawMsg, key) 6852 case "callCountFailed": 6853 err = unpopulate(val, &r.CallCountFailed) 6854 delete(rawMsg, key) 6855 case "callCountOther": 6856 err = unpopulate(val, &r.CallCountOther) 6857 delete(rawMsg, key) 6858 case "callCountSuccess": 6859 err = unpopulate(val, &r.CallCountSuccess) 6860 delete(rawMsg, key) 6861 case "callCountTotal": 6862 err = unpopulate(val, &r.CallCountTotal) 6863 delete(rawMsg, key) 6864 case "country": 6865 err = unpopulate(val, &r.Country) 6866 delete(rawMsg, key) 6867 case "interval": 6868 err = unpopulate(val, &r.Interval) 6869 delete(rawMsg, key) 6870 case "name": 6871 err = unpopulate(val, &r.Name) 6872 delete(rawMsg, key) 6873 case "operationId": 6874 err = unpopulate(val, &r.OperationID) 6875 delete(rawMsg, key) 6876 case "productId": 6877 err = unpopulate(val, &r.ProductID) 6878 delete(rawMsg, key) 6879 case "region": 6880 err = unpopulate(val, &r.Region) 6881 delete(rawMsg, key) 6882 case "serviceTimeAvg": 6883 err = unpopulate(val, &r.ServiceTimeAvg) 6884 delete(rawMsg, key) 6885 case "serviceTimeMax": 6886 err = unpopulate(val, &r.ServiceTimeMax) 6887 delete(rawMsg, key) 6888 case "serviceTimeMin": 6889 err = unpopulate(val, &r.ServiceTimeMin) 6890 delete(rawMsg, key) 6891 case "subscriptionId": 6892 err = unpopulate(val, &r.SubscriptionID) 6893 delete(rawMsg, key) 6894 case "timestamp": 6895 var aux timeRFC3339 6896 err = unpopulate(val, &aux) 6897 r.Timestamp = (*time.Time)(&aux) 6898 delete(rawMsg, key) 6899 case "userId": 6900 err = unpopulate(val, &r.UserID) 6901 delete(rawMsg, key) 6902 case "zip": 6903 err = unpopulate(val, &r.Zip) 6904 delete(rawMsg, key) 6905 } 6906 if err != nil { 6907 return err 6908 } 6909 } 6910 return nil 6911} 6912 6913// ReportsListByAPIOptions contains the optional parameters for the Reports.ListByAPI method. 6914type ReportsListByAPIOptions struct { 6915 // OData order by query option. 6916 Orderby *string 6917 // Number of records to skip. 6918 Skip *int32 6919 // Number of records to return. 6920 Top *int32 6921} 6922 6923// ReportsListByGeoOptions contains the optional parameters for the Reports.ListByGeo method. 6924type ReportsListByGeoOptions struct { 6925 // Number of records to skip. 6926 Skip *int32 6927 // Number of records to return. 6928 Top *int32 6929} 6930 6931// ReportsListByOperationOptions contains the optional parameters for the Reports.ListByOperation method. 6932type ReportsListByOperationOptions struct { 6933 // OData order by query option. 6934 Orderby *string 6935 // Number of records to skip. 6936 Skip *int32 6937 // Number of records to return. 6938 Top *int32 6939} 6940 6941// ReportsListByProductOptions contains the optional parameters for the Reports.ListByProduct method. 6942type ReportsListByProductOptions struct { 6943 // OData order by query option. 6944 Orderby *string 6945 // Number of records to skip. 6946 Skip *int32 6947 // Number of records to return. 6948 Top *int32 6949} 6950 6951// ReportsListByRequestOptions contains the optional parameters for the Reports.ListByRequest method. 6952type ReportsListByRequestOptions struct { 6953 // Number of records to skip. 6954 Skip *int32 6955 // Number of records to return. 6956 Top *int32 6957} 6958 6959// ReportsListBySubscriptionOptions contains the optional parameters for the Reports.ListBySubscription method. 6960type ReportsListBySubscriptionOptions struct { 6961 // OData order by query option. 6962 Orderby *string 6963 // Number of records to skip. 6964 Skip *int32 6965 // Number of records to return. 6966 Top *int32 6967} 6968 6969// ReportsListByTimeOptions contains the optional parameters for the Reports.ListByTime method. 6970type ReportsListByTimeOptions struct { 6971 // OData order by query option. 6972 Orderby *string 6973 // Number of records to skip. 6974 Skip *int32 6975 // Number of records to return. 6976 Top *int32 6977} 6978 6979// ReportsListByUserOptions contains the optional parameters for the Reports.ListByUser method. 6980type ReportsListByUserOptions struct { 6981 // OData order by query option. 6982 Orderby *string 6983 // Number of records to skip. 6984 Skip *int32 6985 // Number of records to return. 6986 Top *int32 6987} 6988 6989// RepresentationContract - Operation request/response representation details. 6990type RepresentationContract struct { 6991 // REQUIRED; Specifies a registered or custom content type for this representation, e.g. application/xml. 6992 ContentType *string `json:"contentType,omitempty"` 6993 6994 // Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.. 6995 FormParameters []*ParameterContract `json:"formParameters,omitempty"` 6996 6997 // An example of the representation. 6998 Sample *string `json:"sample,omitempty"` 6999 7000 // Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'. 7001 SchemaID *string `json:"schemaId,omitempty"` 7002 7003 // Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'. 7004 TypeName *string `json:"typeName,omitempty"` 7005} 7006 7007// MarshalJSON implements the json.Marshaller interface for type RepresentationContract. 7008func (r RepresentationContract) MarshalJSON() ([]byte, error) { 7009 objectMap := make(map[string]interface{}) 7010 populate(objectMap, "contentType", r.ContentType) 7011 populate(objectMap, "formParameters", r.FormParameters) 7012 populate(objectMap, "sample", r.Sample) 7013 populate(objectMap, "schemaId", r.SchemaID) 7014 populate(objectMap, "typeName", r.TypeName) 7015 return json.Marshal(objectMap) 7016} 7017 7018// RequestContract - Operation request details. 7019type RequestContract struct { 7020 // Operation request description. 7021 Description *string `json:"description,omitempty"` 7022 7023 // Collection of operation request headers. 7024 Headers []*ParameterContract `json:"headers,omitempty"` 7025 7026 // Collection of operation request query parameters. 7027 QueryParameters []*ParameterContract `json:"queryParameters,omitempty"` 7028 7029 // Collection of operation request representations. 7030 Representations []*RepresentationContract `json:"representations,omitempty"` 7031} 7032 7033// MarshalJSON implements the json.Marshaller interface for type RequestContract. 7034func (r RequestContract) MarshalJSON() ([]byte, error) { 7035 objectMap := make(map[string]interface{}) 7036 populate(objectMap, "description", r.Description) 7037 populate(objectMap, "headers", r.Headers) 7038 populate(objectMap, "queryParameters", r.QueryParameters) 7039 populate(objectMap, "representations", r.Representations) 7040 return json.Marshal(objectMap) 7041} 7042 7043// RequestReportCollection - Paged Report records list representation. 7044type RequestReportCollection struct { 7045 // Total record count number across all pages. 7046 Count *int64 `json:"count,omitempty"` 7047 7048 // Page values. 7049 Value []*RequestReportRecordContract `json:"value,omitempty"` 7050} 7051 7052// MarshalJSON implements the json.Marshaller interface for type RequestReportCollection. 7053func (r RequestReportCollection) MarshalJSON() ([]byte, error) { 7054 objectMap := make(map[string]interface{}) 7055 populate(objectMap, "count", r.Count) 7056 populate(objectMap, "value", r.Value) 7057 return json.Marshal(objectMap) 7058} 7059 7060// RequestReportRecordContract - Request Report data. 7061type RequestReportRecordContract struct { 7062 // API identifier path. /apis/{apiId} 7063 APIID *string `json:"apiId,omitempty"` 7064 7065 // Azure region where the gateway that processed this request is located. 7066 APIRegion *string `json:"apiRegion,omitempty"` 7067 7068 // The total time it took to process this request. 7069 APITime *float64 `json:"apiTime,omitempty"` 7070 7071 // The HTTP status code received by the gateway as a result of forwarding this request to the backend. 7072 BackendResponseCode *string `json:"backendResponseCode,omitempty"` 7073 7074 // Specifies if response cache was involved in generating the response. If the value is none, the cache was not used. If the value is hit, cached response 7075 // was returned. If the value is miss, the cache 7076 // was used but lookup resulted in a miss and request was fulfilled by the backend. 7077 Cache *string `json:"cache,omitempty"` 7078 7079 // The client IP address associated with this request. 7080 IPAddress *string `json:"ipAddress,omitempty"` 7081 7082 // The HTTP method associated with this request.. 7083 Method *string `json:"method,omitempty"` 7084 7085 // Operation identifier path. /apis/{apiId}/operations/{operationId} 7086 OperationID *string `json:"operationId,omitempty"` 7087 7088 // Request Identifier. 7089 RequestID *string `json:"requestId,omitempty"` 7090 7091 // The size of this request.. 7092 RequestSize *int32 `json:"requestSize,omitempty"` 7093 7094 // The HTTP status code returned by the gateway. 7095 ResponseCode *int32 `json:"responseCode,omitempty"` 7096 7097 // The size of the response returned by the gateway. 7098 ResponseSize *int32 `json:"responseSize,omitempty"` 7099 7100 // he time it took to forward this request to the backend and get the response back. 7101 ServiceTime *float64 `json:"serviceTime,omitempty"` 7102 7103 // Subscription identifier path. /subscriptions/{subscriptionId} 7104 SubscriptionID *string `json:"subscriptionId,omitempty"` 7105 7106 // The date and time when this request was received by the gateway in ISO 8601 format. 7107 Timestamp *time.Time `json:"timestamp,omitempty"` 7108 7109 // The full URL associated with this request. 7110 URL *string `json:"url,omitempty"` 7111 7112 // READ-ONLY; Product identifier path. /products/{productId} 7113 ProductID *string `json:"productId,omitempty" azure:"ro"` 7114 7115 // READ-ONLY; User identifier path. /users/{userId} 7116 UserID *string `json:"userId,omitempty" azure:"ro"` 7117} 7118 7119// MarshalJSON implements the json.Marshaller interface for type RequestReportRecordContract. 7120func (r RequestReportRecordContract) MarshalJSON() ([]byte, error) { 7121 objectMap := make(map[string]interface{}) 7122 populate(objectMap, "apiId", r.APIID) 7123 populate(objectMap, "apiRegion", r.APIRegion) 7124 populate(objectMap, "apiTime", r.APITime) 7125 populate(objectMap, "backendResponseCode", r.BackendResponseCode) 7126 populate(objectMap, "cache", r.Cache) 7127 populate(objectMap, "ipAddress", r.IPAddress) 7128 populate(objectMap, "method", r.Method) 7129 populate(objectMap, "operationId", r.OperationID) 7130 populate(objectMap, "productId", r.ProductID) 7131 populate(objectMap, "requestId", r.RequestID) 7132 populate(objectMap, "requestSize", r.RequestSize) 7133 populate(objectMap, "responseCode", r.ResponseCode) 7134 populate(objectMap, "responseSize", r.ResponseSize) 7135 populate(objectMap, "serviceTime", r.ServiceTime) 7136 populate(objectMap, "subscriptionId", r.SubscriptionID) 7137 populate(objectMap, "timestamp", (*timeRFC3339)(r.Timestamp)) 7138 populate(objectMap, "url", r.URL) 7139 populate(objectMap, "userId", r.UserID) 7140 return json.Marshal(objectMap) 7141} 7142 7143// UnmarshalJSON implements the json.Unmarshaller interface for type RequestReportRecordContract. 7144func (r *RequestReportRecordContract) UnmarshalJSON(data []byte) error { 7145 var rawMsg map[string]json.RawMessage 7146 if err := json.Unmarshal(data, &rawMsg); err != nil { 7147 return err 7148 } 7149 for key, val := range rawMsg { 7150 var err error 7151 switch key { 7152 case "apiId": 7153 err = unpopulate(val, &r.APIID) 7154 delete(rawMsg, key) 7155 case "apiRegion": 7156 err = unpopulate(val, &r.APIRegion) 7157 delete(rawMsg, key) 7158 case "apiTime": 7159 err = unpopulate(val, &r.APITime) 7160 delete(rawMsg, key) 7161 case "backendResponseCode": 7162 err = unpopulate(val, &r.BackendResponseCode) 7163 delete(rawMsg, key) 7164 case "cache": 7165 err = unpopulate(val, &r.Cache) 7166 delete(rawMsg, key) 7167 case "ipAddress": 7168 err = unpopulate(val, &r.IPAddress) 7169 delete(rawMsg, key) 7170 case "method": 7171 err = unpopulate(val, &r.Method) 7172 delete(rawMsg, key) 7173 case "operationId": 7174 err = unpopulate(val, &r.OperationID) 7175 delete(rawMsg, key) 7176 case "productId": 7177 err = unpopulate(val, &r.ProductID) 7178 delete(rawMsg, key) 7179 case "requestId": 7180 err = unpopulate(val, &r.RequestID) 7181 delete(rawMsg, key) 7182 case "requestSize": 7183 err = unpopulate(val, &r.RequestSize) 7184 delete(rawMsg, key) 7185 case "responseCode": 7186 err = unpopulate(val, &r.ResponseCode) 7187 delete(rawMsg, key) 7188 case "responseSize": 7189 err = unpopulate(val, &r.ResponseSize) 7190 delete(rawMsg, key) 7191 case "serviceTime": 7192 err = unpopulate(val, &r.ServiceTime) 7193 delete(rawMsg, key) 7194 case "subscriptionId": 7195 err = unpopulate(val, &r.SubscriptionID) 7196 delete(rawMsg, key) 7197 case "timestamp": 7198 var aux timeRFC3339 7199 err = unpopulate(val, &aux) 7200 r.Timestamp = (*time.Time)(&aux) 7201 delete(rawMsg, key) 7202 case "url": 7203 err = unpopulate(val, &r.URL) 7204 delete(rawMsg, key) 7205 case "userId": 7206 err = unpopulate(val, &r.UserID) 7207 delete(rawMsg, key) 7208 } 7209 if err != nil { 7210 return err 7211 } 7212 } 7213 return nil 7214} 7215 7216// Resource - The Resource definition. 7217type Resource struct { 7218 // READ-ONLY; Resource ID. 7219 ID *string `json:"id,omitempty" azure:"ro"` 7220 7221 // READ-ONLY; Resource name. 7222 Name *string `json:"name,omitempty" azure:"ro"` 7223 7224 // READ-ONLY; Resource type for API Management resource. 7225 Type *string `json:"type,omitempty" azure:"ro"` 7226} 7227 7228// MarshalJSON implements the json.Marshaller interface for type Resource. 7229func (r Resource) MarshalJSON() ([]byte, error) { 7230 objectMap := r.marshalInternal() 7231 return json.Marshal(objectMap) 7232} 7233 7234func (r Resource) marshalInternal() map[string]interface{} { 7235 objectMap := make(map[string]interface{}) 7236 populate(objectMap, "id", r.ID) 7237 populate(objectMap, "name", r.Name) 7238 populate(objectMap, "type", r.Type) 7239 return objectMap 7240} 7241 7242// ResourceLocationDataContract - Resource location data properties. 7243type ResourceLocationDataContract struct { 7244 // REQUIRED; A canonical name for the geographic or physical location. 7245 Name *string `json:"name,omitempty"` 7246 7247 // The city or locality where the resource is located. 7248 City *string `json:"city,omitempty"` 7249 7250 // The country or region where the resource is located. 7251 CountryOrRegion *string `json:"countryOrRegion,omitempty"` 7252 7253 // The district, state, or province where the resource is located. 7254 District *string `json:"district,omitempty"` 7255} 7256 7257// ResourceSKU - Describes an available API Management SKU. 7258type ResourceSKU struct { 7259 // Name of the Sku. 7260 Name *SKUType `json:"name,omitempty"` 7261} 7262 7263// ResourceSKUCapacity - Describes scaling information of a SKU. 7264type ResourceSKUCapacity struct { 7265 // READ-ONLY; The default capacity. 7266 Default *int32 `json:"default,omitempty" azure:"ro"` 7267 7268 // READ-ONLY; The maximum capacity that can be set. 7269 Maximum *int32 `json:"maximum,omitempty" azure:"ro"` 7270 7271 // READ-ONLY; The minimum capacity. 7272 Minimum *int32 `json:"minimum,omitempty" azure:"ro"` 7273 7274 // READ-ONLY; The scale type applicable to the sku. 7275 ScaleType *ResourceSKUCapacityScaleType `json:"scaleType,omitempty" azure:"ro"` 7276} 7277 7278// ResourceSKUResult - Describes an available API Management service SKU. 7279type ResourceSKUResult struct { 7280 // READ-ONLY; Specifies the number of API Management units. 7281 Capacity *ResourceSKUCapacity `json:"capacity,omitempty" azure:"ro"` 7282 7283 // READ-ONLY; The type of resource the SKU applies to. 7284 ResourceType *string `json:"resourceType,omitempty" azure:"ro"` 7285 7286 // READ-ONLY; Specifies API Management SKU. 7287 SKU *ResourceSKU `json:"sku,omitempty" azure:"ro"` 7288} 7289 7290// ResourceSKUResults - The API Management service SKUs operation response. 7291type ResourceSKUResults struct { 7292 // REQUIRED; The list of skus available for the service. 7293 Value []*ResourceSKUResult `json:"value,omitempty"` 7294 7295 // The uri to fetch the next page of API Management service Skus. 7296 NextLink *string `json:"nextLink,omitempty"` 7297} 7298 7299// MarshalJSON implements the json.Marshaller interface for type ResourceSKUResults. 7300func (r ResourceSKUResults) MarshalJSON() ([]byte, error) { 7301 objectMap := make(map[string]interface{}) 7302 populate(objectMap, "nextLink", r.NextLink) 7303 populate(objectMap, "value", r.Value) 7304 return json.Marshal(objectMap) 7305} 7306 7307// ResponseContract - Operation response details. 7308type ResponseContract struct { 7309 // REQUIRED; Operation response HTTP status code. 7310 StatusCode *int32 `json:"statusCode,omitempty"` 7311 7312 // Operation response description. 7313 Description *string `json:"description,omitempty"` 7314 7315 // Collection of operation response headers. 7316 Headers []*ParameterContract `json:"headers,omitempty"` 7317 7318 // Collection of operation response representations. 7319 Representations []*RepresentationContract `json:"representations,omitempty"` 7320} 7321 7322// MarshalJSON implements the json.Marshaller interface for type ResponseContract. 7323func (r ResponseContract) MarshalJSON() ([]byte, error) { 7324 objectMap := make(map[string]interface{}) 7325 populate(objectMap, "description", r.Description) 7326 populate(objectMap, "headers", r.Headers) 7327 populate(objectMap, "representations", r.Representations) 7328 populate(objectMap, "statusCode", r.StatusCode) 7329 return json.Marshal(objectMap) 7330} 7331 7332// SamplingSettings - Sampling settings for Diagnostic. 7333type SamplingSettings struct { 7334 // Rate of sampling for fixed-rate sampling. 7335 Percentage *float64 `json:"percentage,omitempty"` 7336 7337 // Sampling type. 7338 SamplingType *SamplingType `json:"samplingType,omitempty"` 7339} 7340 7341// SaveConfigurationParameter - Save Tenant Configuration Contract details. 7342type SaveConfigurationParameter struct { 7343 // Properties of the Save Configuration Parameters. 7344 Properties *SaveConfigurationParameterProperties `json:"properties,omitempty"` 7345} 7346 7347// SaveConfigurationParameterProperties - Parameters supplied to the Save Tenant Configuration operation. 7348type SaveConfigurationParameterProperties struct { 7349 // REQUIRED; The name of the Git branch in which to commit the current configuration snapshot. 7350 Branch *string `json:"branch,omitempty"` 7351 7352 // The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be 7353 // overwritten. 7354 Force *bool `json:"force,omitempty"` 7355} 7356 7357// SchemaCollection - The response of the list schema operation. 7358type SchemaCollection struct { 7359 // Total record count number. 7360 Count *int64 `json:"count,omitempty"` 7361 7362 // READ-ONLY; Next page link if any. 7363 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 7364 7365 // READ-ONLY; Api Schema Contract value. 7366 Value []*SchemaContract `json:"value,omitempty" azure:"ro"` 7367} 7368 7369// MarshalJSON implements the json.Marshaller interface for type SchemaCollection. 7370func (s SchemaCollection) MarshalJSON() ([]byte, error) { 7371 objectMap := make(map[string]interface{}) 7372 populate(objectMap, "count", s.Count) 7373 populate(objectMap, "nextLink", s.NextLink) 7374 populate(objectMap, "value", s.Value) 7375 return json.Marshal(objectMap) 7376} 7377 7378// SchemaContract - Schema Contract details. 7379type SchemaContract struct { 7380 Resource 7381 // Properties of the Schema. 7382 Properties *SchemaContractProperties `json:"properties,omitempty"` 7383} 7384 7385// MarshalJSON implements the json.Marshaller interface for type SchemaContract. 7386func (s SchemaContract) MarshalJSON() ([]byte, error) { 7387 objectMap := s.Resource.marshalInternal() 7388 populate(objectMap, "properties", s.Properties) 7389 return json.Marshal(objectMap) 7390} 7391 7392// SchemaContractProperties - API Schema create or update contract Properties. 7393type SchemaContractProperties struct { 7394 // REQUIRED; Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, 7395 // application/xml). 7396 // - Swagger Schema use application/vnd.ms-azure-apim.swagger.definitions+json 7397 // - WSDL Schema use application/vnd.ms-azure-apim.xsd+xml 7398 // - OpenApi Schema use application/vnd.oai.openapi.components+json 7399 // - WADL Schema use application/vnd.ms-azure-apim.wadl.grammars+xml. 7400 ContentType *string `json:"contentType,omitempty"` 7401 7402 // Create or update Properties of the Schema Document. 7403 Document *SchemaDocumentProperties `json:"document,omitempty"` 7404} 7405 7406// SchemaDocumentProperties - Schema Document Properties. 7407type SchemaDocumentProperties struct { 7408 // Types definitions. Used for Swagger/OpenAPI schemas only, null otherwise. 7409 Definitions map[string]interface{} `json:"definitions,omitempty"` 7410 7411 // Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI. 7412 Value *string `json:"value,omitempty"` 7413} 7414 7415// SignInSettingsCreateOrUpdateOptions contains the optional parameters for the SignInSettings.CreateOrUpdate method. 7416type SignInSettingsCreateOrUpdateOptions struct { 7417 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 7418 IfMatch *string 7419} 7420 7421// SignInSettingsGetEntityTagOptions contains the optional parameters for the SignInSettings.GetEntityTag method. 7422type SignInSettingsGetEntityTagOptions struct { 7423 // placeholder for future optional parameters 7424} 7425 7426// SignInSettingsGetOptions contains the optional parameters for the SignInSettings.Get method. 7427type SignInSettingsGetOptions struct { 7428 // placeholder for future optional parameters 7429} 7430 7431// SignInSettingsUpdateOptions contains the optional parameters for the SignInSettings.Update method. 7432type SignInSettingsUpdateOptions struct { 7433 // placeholder for future optional parameters 7434} 7435 7436// SignUpSettingsCreateOrUpdateOptions contains the optional parameters for the SignUpSettings.CreateOrUpdate method. 7437type SignUpSettingsCreateOrUpdateOptions struct { 7438 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 7439 IfMatch *string 7440} 7441 7442// SignUpSettingsGetEntityTagOptions contains the optional parameters for the SignUpSettings.GetEntityTag method. 7443type SignUpSettingsGetEntityTagOptions struct { 7444 // placeholder for future optional parameters 7445} 7446 7447// SignUpSettingsGetOptions contains the optional parameters for the SignUpSettings.Get method. 7448type SignUpSettingsGetOptions struct { 7449 // placeholder for future optional parameters 7450} 7451 7452// SignUpSettingsUpdateOptions contains the optional parameters for the SignUpSettings.Update method. 7453type SignUpSettingsUpdateOptions struct { 7454 // placeholder for future optional parameters 7455} 7456 7457// SubscriptionCollection - Paged Subscriptions list representation. 7458type SubscriptionCollection struct { 7459 // Total record count number across all pages. 7460 Count *int64 `json:"count,omitempty"` 7461 7462 // Next page link if any. 7463 NextLink *string `json:"nextLink,omitempty"` 7464 7465 // Page values. 7466 Value []*SubscriptionContract `json:"value,omitempty"` 7467} 7468 7469// MarshalJSON implements the json.Marshaller interface for type SubscriptionCollection. 7470func (s SubscriptionCollection) MarshalJSON() ([]byte, error) { 7471 objectMap := make(map[string]interface{}) 7472 populate(objectMap, "count", s.Count) 7473 populate(objectMap, "nextLink", s.NextLink) 7474 populate(objectMap, "value", s.Value) 7475 return json.Marshal(objectMap) 7476} 7477 7478// SubscriptionContract - Subscription details. 7479type SubscriptionContract struct { 7480 Resource 7481 // Subscription contract properties. 7482 Properties *SubscriptionContractProperties `json:"properties,omitempty"` 7483} 7484 7485// MarshalJSON implements the json.Marshaller interface for type SubscriptionContract. 7486func (s SubscriptionContract) MarshalJSON() ([]byte, error) { 7487 objectMap := s.Resource.marshalInternal() 7488 populate(objectMap, "properties", s.Properties) 7489 return json.Marshal(objectMap) 7490} 7491 7492// SubscriptionContractProperties - Subscription details. 7493type SubscriptionContractProperties struct { 7494 // REQUIRED; Scope like /products/{productId} or /apis or /apis/{apiId}. 7495 Scope *string `json:"scope,omitempty"` 7496 7497 // REQUIRED; Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber 7498 // cannot call any APIs of the product, * submitted – the 7499 // subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied 7500 // by an administrator, * cancelled – the 7501 // subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated. 7502 State *SubscriptionState `json:"state,omitempty"` 7503 7504 // Determines whether tracing is enabled 7505 AllowTracing *bool `json:"allowTracing,omitempty"` 7506 7507 // The name of the subscription, or null if the subscription has no name. 7508 DisplayName *string `json:"displayName,omitempty"` 7509 7510 // Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription 7511 // lifecycle can be managed by using the 7512 // state property. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 7513 EndDate *time.Time `json:"endDate,omitempty"` 7514 7515 // Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can 7516 // be managed by using the state property. The date 7517 // conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 7518 ExpirationDate *time.Time `json:"expirationDate,omitempty"` 7519 7520 // Upcoming subscription expiration notification date. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 7521 NotificationDate *time.Time `json:"notificationDate,omitempty"` 7522 7523 // The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier. 7524 OwnerID *string `json:"ownerId,omitempty"` 7525 7526 // Subscription primary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 7527 PrimaryKey *string `json:"primaryKey,omitempty"` 7528 7529 // Subscription secondary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. 7530 SecondaryKey *string `json:"secondaryKey,omitempty"` 7531 7532 // Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle 7533 // can be managed by using the state property. The 7534 // date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 7535 StartDate *time.Time `json:"startDate,omitempty"` 7536 7537 // Optional subscription comment added by an administrator when the state is changed to the 'rejected'. 7538 StateComment *string `json:"stateComment,omitempty"` 7539 7540 // READ-ONLY; Subscription creation date. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 7541 CreatedDate *time.Time `json:"createdDate,omitempty" azure:"ro"` 7542} 7543 7544// MarshalJSON implements the json.Marshaller interface for type SubscriptionContractProperties. 7545func (s SubscriptionContractProperties) MarshalJSON() ([]byte, error) { 7546 objectMap := make(map[string]interface{}) 7547 populate(objectMap, "allowTracing", s.AllowTracing) 7548 populate(objectMap, "createdDate", (*timeRFC3339)(s.CreatedDate)) 7549 populate(objectMap, "displayName", s.DisplayName) 7550 populate(objectMap, "endDate", (*timeRFC3339)(s.EndDate)) 7551 populate(objectMap, "expirationDate", (*timeRFC3339)(s.ExpirationDate)) 7552 populate(objectMap, "notificationDate", (*timeRFC3339)(s.NotificationDate)) 7553 populate(objectMap, "ownerId", s.OwnerID) 7554 populate(objectMap, "primaryKey", s.PrimaryKey) 7555 populate(objectMap, "scope", s.Scope) 7556 populate(objectMap, "secondaryKey", s.SecondaryKey) 7557 populate(objectMap, "startDate", (*timeRFC3339)(s.StartDate)) 7558 populate(objectMap, "state", s.State) 7559 populate(objectMap, "stateComment", s.StateComment) 7560 return json.Marshal(objectMap) 7561} 7562 7563// UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionContractProperties. 7564func (s *SubscriptionContractProperties) UnmarshalJSON(data []byte) error { 7565 var rawMsg map[string]json.RawMessage 7566 if err := json.Unmarshal(data, &rawMsg); err != nil { 7567 return err 7568 } 7569 for key, val := range rawMsg { 7570 var err error 7571 switch key { 7572 case "allowTracing": 7573 err = unpopulate(val, &s.AllowTracing) 7574 delete(rawMsg, key) 7575 case "createdDate": 7576 var aux timeRFC3339 7577 err = unpopulate(val, &aux) 7578 s.CreatedDate = (*time.Time)(&aux) 7579 delete(rawMsg, key) 7580 case "displayName": 7581 err = unpopulate(val, &s.DisplayName) 7582 delete(rawMsg, key) 7583 case "endDate": 7584 var aux timeRFC3339 7585 err = unpopulate(val, &aux) 7586 s.EndDate = (*time.Time)(&aux) 7587 delete(rawMsg, key) 7588 case "expirationDate": 7589 var aux timeRFC3339 7590 err = unpopulate(val, &aux) 7591 s.ExpirationDate = (*time.Time)(&aux) 7592 delete(rawMsg, key) 7593 case "notificationDate": 7594 var aux timeRFC3339 7595 err = unpopulate(val, &aux) 7596 s.NotificationDate = (*time.Time)(&aux) 7597 delete(rawMsg, key) 7598 case "ownerId": 7599 err = unpopulate(val, &s.OwnerID) 7600 delete(rawMsg, key) 7601 case "primaryKey": 7602 err = unpopulate(val, &s.PrimaryKey) 7603 delete(rawMsg, key) 7604 case "scope": 7605 err = unpopulate(val, &s.Scope) 7606 delete(rawMsg, key) 7607 case "secondaryKey": 7608 err = unpopulate(val, &s.SecondaryKey) 7609 delete(rawMsg, key) 7610 case "startDate": 7611 var aux timeRFC3339 7612 err = unpopulate(val, &aux) 7613 s.StartDate = (*time.Time)(&aux) 7614 delete(rawMsg, key) 7615 case "state": 7616 err = unpopulate(val, &s.State) 7617 delete(rawMsg, key) 7618 case "stateComment": 7619 err = unpopulate(val, &s.StateComment) 7620 delete(rawMsg, key) 7621 } 7622 if err != nil { 7623 return err 7624 } 7625 } 7626 return nil 7627} 7628 7629// SubscriptionCreateOrUpdateOptions contains the optional parameters for the Subscription.CreateOrUpdate method. 7630type SubscriptionCreateOrUpdateOptions struct { 7631 // Determines the type of application which send the create user request. Default is legacy publisher portal. 7632 AppType *AppType 7633 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 7634 IfMatch *string 7635 // Notify change in Subscription State. 7636 // - If false, do not send any email notification for change of state of subscription 7637 // - If true, send email notification of change of state of subscription 7638 Notify *bool 7639} 7640 7641// SubscriptionCreateParameterProperties - Parameters supplied to the Create subscription operation. 7642type SubscriptionCreateParameterProperties struct { 7643 // REQUIRED; Subscription name. 7644 DisplayName *string `json:"displayName,omitempty"` 7645 7646 // REQUIRED; Scope like /products/{productId} or /apis or /apis/{apiId}. 7647 Scope *string `json:"scope,omitempty"` 7648 7649 // Determines whether tracing can be enabled 7650 AllowTracing *bool `json:"allowTracing,omitempty"` 7651 7652 // User (user id path) for whom subscription is being created in form /users/{userId} 7653 OwnerID *string `json:"ownerId,omitempty"` 7654 7655 // Primary subscription key. If not specified during request key will be generated automatically. 7656 PrimaryKey *string `json:"primaryKey,omitempty"` 7657 7658 // Secondary subscription key. If not specified during request key will be generated automatically. 7659 SecondaryKey *string `json:"secondaryKey,omitempty"` 7660 7661 // Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is 7662 // active, * suspended – the subscription is 7663 // blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet 7664 // been approved or rejected, * rejected – the 7665 // subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired 7666 // – the subscription reached its expiration date 7667 // and was deactivated. 7668 State *SubscriptionState `json:"state,omitempty"` 7669} 7670 7671// SubscriptionCreateParameters - Subscription create details. 7672type SubscriptionCreateParameters struct { 7673 // Subscription contract properties. 7674 Properties *SubscriptionCreateParameterProperties `json:"properties,omitempty"` 7675} 7676 7677// SubscriptionDeleteOptions contains the optional parameters for the Subscription.Delete method. 7678type SubscriptionDeleteOptions struct { 7679 // placeholder for future optional parameters 7680} 7681 7682// SubscriptionGetEntityTagOptions contains the optional parameters for the Subscription.GetEntityTag method. 7683type SubscriptionGetEntityTagOptions struct { 7684 // placeholder for future optional parameters 7685} 7686 7687// SubscriptionGetOptions contains the optional parameters for the Subscription.Get method. 7688type SubscriptionGetOptions struct { 7689 // placeholder for future optional parameters 7690} 7691 7692// SubscriptionKeyParameterNamesContract - Subscription key parameter names details. 7693type SubscriptionKeyParameterNamesContract struct { 7694 // Subscription key header name. 7695 Header *string `json:"header,omitempty"` 7696 7697 // Subscription key query string parameter name. 7698 Query *string `json:"query,omitempty"` 7699} 7700 7701// SubscriptionKeysContract - Subscription keys. 7702type SubscriptionKeysContract struct { 7703 // Subscription primary key. 7704 PrimaryKey *string `json:"primaryKey,omitempty"` 7705 7706 // Subscription secondary key. 7707 SecondaryKey *string `json:"secondaryKey,omitempty"` 7708} 7709 7710// SubscriptionListOptions contains the optional parameters for the Subscription.List method. 7711type SubscriptionListOptions struct { 7712 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 7713 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 7714 // endswith |</br>| stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| ownerId | filter | ge, le, eq, 7715 // ne, gt, lt | substringof, contains, startswith, endswith |</br>| scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 7716 // |</br>| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| productId | filter | ge, le, eq, ne, gt, lt | 7717 // substringof, contains, startswith, endswith |</br>| state | filter | eq | |</br>| user | expand | | |</br> 7718 Filter *string 7719 // Number of records to skip. 7720 Skip *int32 7721 // Number of records to return. 7722 Top *int32 7723} 7724 7725// SubscriptionListSecretsOptions contains the optional parameters for the Subscription.ListSecrets method. 7726type SubscriptionListSecretsOptions struct { 7727 // placeholder for future optional parameters 7728} 7729 7730// SubscriptionRegeneratePrimaryKeyOptions contains the optional parameters for the Subscription.RegeneratePrimaryKey method. 7731type SubscriptionRegeneratePrimaryKeyOptions struct { 7732 // placeholder for future optional parameters 7733} 7734 7735// SubscriptionRegenerateSecondaryKeyOptions contains the optional parameters for the Subscription.RegenerateSecondaryKey method. 7736type SubscriptionRegenerateSecondaryKeyOptions struct { 7737 // placeholder for future optional parameters 7738} 7739 7740// SubscriptionUpdateOptions contains the optional parameters for the Subscription.Update method. 7741type SubscriptionUpdateOptions struct { 7742 // Determines the type of application which send the create user request. Default is legacy publisher portal. 7743 AppType *AppType 7744 // Notify change in Subscription State. 7745 // - If false, do not send any email notification for change of state of subscription 7746 // - If true, send email notification of change of state of subscription 7747 Notify *bool 7748} 7749 7750// SubscriptionUpdateParameterProperties - Parameters supplied to the Update subscription operation. 7751type SubscriptionUpdateParameterProperties struct { 7752 // Determines whether tracing can be enabled 7753 AllowTracing *bool `json:"allowTracing,omitempty"` 7754 7755 // Subscription name. 7756 DisplayName *string `json:"displayName,omitempty"` 7757 7758 // Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can 7759 // be managed by using the state property. The date 7760 // conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 7761 ExpirationDate *time.Time `json:"expirationDate,omitempty"` 7762 7763 // User identifier path: /users/{userId} 7764 OwnerID *string `json:"ownerId,omitempty"` 7765 7766 // Primary subscription key. 7767 PrimaryKey *string `json:"primaryKey,omitempty"` 7768 7769 // Scope like /products/{productId} or /apis or /apis/{apiId} 7770 Scope *string `json:"scope,omitempty"` 7771 7772 // Secondary subscription key. 7773 SecondaryKey *string `json:"secondaryKey,omitempty"` 7774 7775 // Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call 7776 // any APIs of the product, * submitted – the 7777 // subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied 7778 // by an administrator, * cancelled – the 7779 // subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated. 7780 State *SubscriptionState `json:"state,omitempty"` 7781 7782 // Comments describing subscription state change by the administrator when the state is changed to the 'rejected'. 7783 StateComment *string `json:"stateComment,omitempty"` 7784} 7785 7786// MarshalJSON implements the json.Marshaller interface for type SubscriptionUpdateParameterProperties. 7787func (s SubscriptionUpdateParameterProperties) MarshalJSON() ([]byte, error) { 7788 objectMap := make(map[string]interface{}) 7789 populate(objectMap, "allowTracing", s.AllowTracing) 7790 populate(objectMap, "displayName", s.DisplayName) 7791 populate(objectMap, "expirationDate", (*timeRFC3339)(s.ExpirationDate)) 7792 populate(objectMap, "ownerId", s.OwnerID) 7793 populate(objectMap, "primaryKey", s.PrimaryKey) 7794 populate(objectMap, "scope", s.Scope) 7795 populate(objectMap, "secondaryKey", s.SecondaryKey) 7796 populate(objectMap, "state", s.State) 7797 populate(objectMap, "stateComment", s.StateComment) 7798 return json.Marshal(objectMap) 7799} 7800 7801// UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionUpdateParameterProperties. 7802func (s *SubscriptionUpdateParameterProperties) UnmarshalJSON(data []byte) error { 7803 var rawMsg map[string]json.RawMessage 7804 if err := json.Unmarshal(data, &rawMsg); err != nil { 7805 return err 7806 } 7807 for key, val := range rawMsg { 7808 var err error 7809 switch key { 7810 case "allowTracing": 7811 err = unpopulate(val, &s.AllowTracing) 7812 delete(rawMsg, key) 7813 case "displayName": 7814 err = unpopulate(val, &s.DisplayName) 7815 delete(rawMsg, key) 7816 case "expirationDate": 7817 var aux timeRFC3339 7818 err = unpopulate(val, &aux) 7819 s.ExpirationDate = (*time.Time)(&aux) 7820 delete(rawMsg, key) 7821 case "ownerId": 7822 err = unpopulate(val, &s.OwnerID) 7823 delete(rawMsg, key) 7824 case "primaryKey": 7825 err = unpopulate(val, &s.PrimaryKey) 7826 delete(rawMsg, key) 7827 case "scope": 7828 err = unpopulate(val, &s.Scope) 7829 delete(rawMsg, key) 7830 case "secondaryKey": 7831 err = unpopulate(val, &s.SecondaryKey) 7832 delete(rawMsg, key) 7833 case "state": 7834 err = unpopulate(val, &s.State) 7835 delete(rawMsg, key) 7836 case "stateComment": 7837 err = unpopulate(val, &s.StateComment) 7838 delete(rawMsg, key) 7839 } 7840 if err != nil { 7841 return err 7842 } 7843 } 7844 return nil 7845} 7846 7847// SubscriptionUpdateParameters - Subscription update details. 7848type SubscriptionUpdateParameters struct { 7849 // Subscription Update contract properties. 7850 Properties *SubscriptionUpdateParameterProperties `json:"properties,omitempty"` 7851} 7852 7853// MarshalJSON implements the json.Marshaller interface for type SubscriptionUpdateParameters. 7854func (s SubscriptionUpdateParameters) MarshalJSON() ([]byte, error) { 7855 objectMap := make(map[string]interface{}) 7856 populate(objectMap, "properties", s.Properties) 7857 return json.Marshal(objectMap) 7858} 7859 7860// SubscriptionsDelegationSettingsProperties - Subscriptions delegation settings properties. 7861type SubscriptionsDelegationSettingsProperties struct { 7862 // Enable or disable delegation for subscriptions. 7863 Enabled *bool `json:"enabled,omitempty"` 7864} 7865 7866// TagAssignToAPIOptions contains the optional parameters for the Tag.AssignToAPI method. 7867type TagAssignToAPIOptions struct { 7868 // placeholder for future optional parameters 7869} 7870 7871// TagAssignToOperationOptions contains the optional parameters for the Tag.AssignToOperation method. 7872type TagAssignToOperationOptions struct { 7873 // placeholder for future optional parameters 7874} 7875 7876// TagAssignToProductOptions contains the optional parameters for the Tag.AssignToProduct method. 7877type TagAssignToProductOptions struct { 7878 // placeholder for future optional parameters 7879} 7880 7881// TagCollection - Paged Tag list representation. 7882type TagCollection struct { 7883 // Total record count number across all pages. 7884 Count *int64 `json:"count,omitempty"` 7885 7886 // Next page link if any. 7887 NextLink *string `json:"nextLink,omitempty"` 7888 7889 // Page values. 7890 Value []*TagContract `json:"value,omitempty"` 7891} 7892 7893// MarshalJSON implements the json.Marshaller interface for type TagCollection. 7894func (t TagCollection) MarshalJSON() ([]byte, error) { 7895 objectMap := make(map[string]interface{}) 7896 populate(objectMap, "count", t.Count) 7897 populate(objectMap, "nextLink", t.NextLink) 7898 populate(objectMap, "value", t.Value) 7899 return json.Marshal(objectMap) 7900} 7901 7902// TagContract - Tag Contract details. 7903type TagContract struct { 7904 Resource 7905 // Tag entity contract properties. 7906 Properties *TagContractProperties `json:"properties,omitempty"` 7907} 7908 7909// MarshalJSON implements the json.Marshaller interface for type TagContract. 7910func (t TagContract) MarshalJSON() ([]byte, error) { 7911 objectMap := t.Resource.marshalInternal() 7912 populate(objectMap, "properties", t.Properties) 7913 return json.Marshal(objectMap) 7914} 7915 7916// TagContractProperties - Tag contract Properties. 7917type TagContractProperties struct { 7918 // REQUIRED; Tag name. 7919 DisplayName *string `json:"displayName,omitempty"` 7920} 7921 7922// TagCreateOrUpdateOptions contains the optional parameters for the Tag.CreateOrUpdate method. 7923type TagCreateOrUpdateOptions struct { 7924 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 7925 IfMatch *string 7926} 7927 7928// TagCreateUpdateParameters - Parameters supplied to Create/Update Tag operations. 7929type TagCreateUpdateParameters struct { 7930 // Properties supplied to Create Tag operation. 7931 Properties *TagContractProperties `json:"properties,omitempty"` 7932} 7933 7934// MarshalJSON implements the json.Marshaller interface for type TagCreateUpdateParameters. 7935func (t TagCreateUpdateParameters) MarshalJSON() ([]byte, error) { 7936 objectMap := make(map[string]interface{}) 7937 populate(objectMap, "properties", t.Properties) 7938 return json.Marshal(objectMap) 7939} 7940 7941// TagDeleteOptions contains the optional parameters for the Tag.Delete method. 7942type TagDeleteOptions struct { 7943 // placeholder for future optional parameters 7944} 7945 7946// TagDescriptionBaseProperties - Parameters supplied to the Create TagDescription operation. 7947type TagDescriptionBaseProperties struct { 7948 // Description of the Tag. 7949 Description *string `json:"description,omitempty"` 7950 7951 // Description of the external resources describing the tag. 7952 ExternalDocsDescription *string `json:"externalDocsDescription,omitempty"` 7953 7954 // Absolute URL of external resources describing the tag. 7955 ExternalDocsURL *string `json:"externalDocsUrl,omitempty"` 7956} 7957 7958// TagDescriptionCollection - Paged TagDescription list representation. 7959type TagDescriptionCollection struct { 7960 // Total record count number across all pages. 7961 Count *int64 `json:"count,omitempty"` 7962 7963 // Next page link if any. 7964 NextLink *string `json:"nextLink,omitempty"` 7965 7966 // Page values. 7967 Value []*TagDescriptionContract `json:"value,omitempty"` 7968} 7969 7970// MarshalJSON implements the json.Marshaller interface for type TagDescriptionCollection. 7971func (t TagDescriptionCollection) MarshalJSON() ([]byte, error) { 7972 objectMap := make(map[string]interface{}) 7973 populate(objectMap, "count", t.Count) 7974 populate(objectMap, "nextLink", t.NextLink) 7975 populate(objectMap, "value", t.Value) 7976 return json.Marshal(objectMap) 7977} 7978 7979// TagDescriptionContract - Contract details. 7980type TagDescriptionContract struct { 7981 Resource 7982 // TagDescription entity contract properties. 7983 Properties *TagDescriptionContractProperties `json:"properties,omitempty"` 7984} 7985 7986// MarshalJSON implements the json.Marshaller interface for type TagDescriptionContract. 7987func (t TagDescriptionContract) MarshalJSON() ([]byte, error) { 7988 objectMap := t.Resource.marshalInternal() 7989 populate(objectMap, "properties", t.Properties) 7990 return json.Marshal(objectMap) 7991} 7992 7993// TagDescriptionContractProperties - TagDescription contract Properties. 7994type TagDescriptionContractProperties struct { 7995 TagDescriptionBaseProperties 7996 // Tag name. 7997 DisplayName *string `json:"displayName,omitempty"` 7998 7999 // Identifier of the tag in the form of /tags/{tagId} 8000 TagID *string `json:"tagId,omitempty"` 8001} 8002 8003// TagDescriptionCreateParameters - Parameters supplied to the Create TagDescription operation. 8004type TagDescriptionCreateParameters struct { 8005 // Properties supplied to Create TagDescription operation. 8006 Properties *TagDescriptionBaseProperties `json:"properties,omitempty"` 8007} 8008 8009// TagDetachFromAPIOptions contains the optional parameters for the Tag.DetachFromAPI method. 8010type TagDetachFromAPIOptions struct { 8011 // placeholder for future optional parameters 8012} 8013 8014// TagDetachFromOperationOptions contains the optional parameters for the Tag.DetachFromOperation method. 8015type TagDetachFromOperationOptions struct { 8016 // placeholder for future optional parameters 8017} 8018 8019// TagDetachFromProductOptions contains the optional parameters for the Tag.DetachFromProduct method. 8020type TagDetachFromProductOptions struct { 8021 // placeholder for future optional parameters 8022} 8023 8024// TagGetByAPIOptions contains the optional parameters for the Tag.GetByAPI method. 8025type TagGetByAPIOptions struct { 8026 // placeholder for future optional parameters 8027} 8028 8029// TagGetByOperationOptions contains the optional parameters for the Tag.GetByOperation method. 8030type TagGetByOperationOptions struct { 8031 // placeholder for future optional parameters 8032} 8033 8034// TagGetByProductOptions contains the optional parameters for the Tag.GetByProduct method. 8035type TagGetByProductOptions struct { 8036 // placeholder for future optional parameters 8037} 8038 8039// TagGetEntityStateByAPIOptions contains the optional parameters for the Tag.GetEntityStateByAPI method. 8040type TagGetEntityStateByAPIOptions struct { 8041 // placeholder for future optional parameters 8042} 8043 8044// TagGetEntityStateByOperationOptions contains the optional parameters for the Tag.GetEntityStateByOperation method. 8045type TagGetEntityStateByOperationOptions struct { 8046 // placeholder for future optional parameters 8047} 8048 8049// TagGetEntityStateByProductOptions contains the optional parameters for the Tag.GetEntityStateByProduct method. 8050type TagGetEntityStateByProductOptions struct { 8051 // placeholder for future optional parameters 8052} 8053 8054// TagGetEntityStateOptions contains the optional parameters for the Tag.GetEntityState method. 8055type TagGetEntityStateOptions struct { 8056 // placeholder for future optional parameters 8057} 8058 8059// TagGetOptions contains the optional parameters for the Tag.Get method. 8060type TagGetOptions struct { 8061 // placeholder for future optional parameters 8062} 8063 8064// TagListByAPIOptions contains the optional parameters for the Tag.ListByAPI method. 8065type TagListByAPIOptions struct { 8066 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| displayName | filter 8067 // | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 8068 // endswith |</br> 8069 Filter *string 8070 // Number of records to skip. 8071 Skip *int32 8072 // Number of records to return. 8073 Top *int32 8074} 8075 8076// TagListByOperationOptions contains the optional parameters for the Tag.ListByOperation method. 8077type TagListByOperationOptions struct { 8078 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| displayName | filter 8079 // | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 8080 // endswith |</br> 8081 Filter *string 8082 // Number of records to skip. 8083 Skip *int32 8084 // Number of records to return. 8085 Top *int32 8086} 8087 8088// TagListByProductOptions contains the optional parameters for the Tag.ListByProduct method. 8089type TagListByProductOptions struct { 8090 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| displayName | filter 8091 // | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 8092 // endswith |</br> 8093 Filter *string 8094 // Number of records to skip. 8095 Skip *int32 8096 // Number of records to return. 8097 Top *int32 8098} 8099 8100// TagListByServiceOptions contains the optional parameters for the Tag.ListByService method. 8101type TagListByServiceOptions struct { 8102 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 8103 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 8104 // endswith |</br> 8105 Filter *string 8106 // Scope like 'apis', 'products' or 'apis/{apiId} 8107 Scope *string 8108 // Number of records to skip. 8109 Skip *int32 8110 // Number of records to return. 8111 Top *int32 8112} 8113 8114// TagResourceCollection - Paged Tag list representation. 8115type TagResourceCollection struct { 8116 // Total record count number across all pages. 8117 Count *int64 `json:"count,omitempty"` 8118 8119 // Next page link if any. 8120 NextLink *string `json:"nextLink,omitempty"` 8121 8122 // Page values. 8123 Value []*TagResourceContract `json:"value,omitempty"` 8124} 8125 8126// MarshalJSON implements the json.Marshaller interface for type TagResourceCollection. 8127func (t TagResourceCollection) MarshalJSON() ([]byte, error) { 8128 objectMap := make(map[string]interface{}) 8129 populate(objectMap, "count", t.Count) 8130 populate(objectMap, "nextLink", t.NextLink) 8131 populate(objectMap, "value", t.Value) 8132 return json.Marshal(objectMap) 8133} 8134 8135// TagResourceContract - TagResource contract properties. 8136type TagResourceContract struct { 8137 // REQUIRED; Tag associated with the resource. 8138 Tag *TagResourceContractProperties `json:"tag,omitempty"` 8139 8140 // Api associated with the tag. 8141 API *APITagResourceContractProperties `json:"api,omitempty"` 8142 8143 // Operation associated with the tag. 8144 Operation *OperationTagResourceContractProperties `json:"operation,omitempty"` 8145 8146 // Product associated with the tag. 8147 Product *ProductTagResourceContractProperties `json:"product,omitempty"` 8148} 8149 8150// TagResourceContractProperties - Contract defining the Tag property in the Tag Resource Contract 8151type TagResourceContractProperties struct { 8152 // Tag identifier 8153 ID *string `json:"id,omitempty"` 8154 8155 // Tag Name 8156 Name *string `json:"name,omitempty"` 8157} 8158 8159// TagResourceListByServiceOptions contains the optional parameters for the TagResource.ListByService method. 8160type TagResourceListByServiceOptions struct { 8161 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| aid | filter | ge, 8162 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 8163 // endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| apiName | filter | ge, le, eq, ne, 8164 // gt, lt | substringof, contains, startswith, endswith |</br>| apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith 8165 // |</br>| path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | 8166 // substringof, contains, startswith, endswith |</br>| serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| 8167 // method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, 8168 // contains, startswith, endswith |</br>| terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| state | filter | 8169 // eq | |</br>| isCurrent | filter | eq | |</br> 8170 Filter *string 8171 // Number of records to skip. 8172 Skip *int32 8173 // Number of records to return. 8174 Top *int32 8175} 8176 8177// TagUpdateOptions contains the optional parameters for the Tag.Update method. 8178type TagUpdateOptions struct { 8179 // placeholder for future optional parameters 8180} 8181 8182// TenantAccessCreateOptions contains the optional parameters for the TenantAccess.Create method. 8183type TenantAccessCreateOptions struct { 8184 // placeholder for future optional parameters 8185} 8186 8187// TenantAccessGetEntityTagOptions contains the optional parameters for the TenantAccess.GetEntityTag method. 8188type TenantAccessGetEntityTagOptions struct { 8189 // placeholder for future optional parameters 8190} 8191 8192// TenantAccessGetOptions contains the optional parameters for the TenantAccess.Get method. 8193type TenantAccessGetOptions struct { 8194 // placeholder for future optional parameters 8195} 8196 8197// TenantAccessGitRegeneratePrimaryKeyOptions contains the optional parameters for the TenantAccessGit.RegeneratePrimaryKey method. 8198type TenantAccessGitRegeneratePrimaryKeyOptions struct { 8199 // placeholder for future optional parameters 8200} 8201 8202// TenantAccessGitRegenerateSecondaryKeyOptions contains the optional parameters for the TenantAccessGit.RegenerateSecondaryKey method. 8203type TenantAccessGitRegenerateSecondaryKeyOptions struct { 8204 // placeholder for future optional parameters 8205} 8206 8207// TenantAccessListByServiceOptions contains the optional parameters for the TenantAccess.ListByService method. 8208type TenantAccessListByServiceOptions struct { 8209 // Not used 8210 Filter *string 8211} 8212 8213// TenantAccessListSecretsOptions contains the optional parameters for the TenantAccess.ListSecrets method. 8214type TenantAccessListSecretsOptions struct { 8215 // placeholder for future optional parameters 8216} 8217 8218// TenantAccessRegeneratePrimaryKeyOptions contains the optional parameters for the TenantAccess.RegeneratePrimaryKey method. 8219type TenantAccessRegeneratePrimaryKeyOptions struct { 8220 // placeholder for future optional parameters 8221} 8222 8223// TenantAccessRegenerateSecondaryKeyOptions contains the optional parameters for the TenantAccess.RegenerateSecondaryKey method. 8224type TenantAccessRegenerateSecondaryKeyOptions struct { 8225 // placeholder for future optional parameters 8226} 8227 8228// TenantAccessUpdateOptions contains the optional parameters for the TenantAccess.Update method. 8229type TenantAccessUpdateOptions struct { 8230 // placeholder for future optional parameters 8231} 8232 8233// TenantConfigurationBeginDeployOptions contains the optional parameters for the TenantConfiguration.BeginDeploy method. 8234type TenantConfigurationBeginDeployOptions struct { 8235 // placeholder for future optional parameters 8236} 8237 8238// TenantConfigurationBeginSaveOptions contains the optional parameters for the TenantConfiguration.BeginSave method. 8239type TenantConfigurationBeginSaveOptions struct { 8240 // placeholder for future optional parameters 8241} 8242 8243// TenantConfigurationBeginValidateOptions contains the optional parameters for the TenantConfiguration.BeginValidate method. 8244type TenantConfigurationBeginValidateOptions struct { 8245 // placeholder for future optional parameters 8246} 8247 8248// TenantConfigurationGetSyncStateOptions contains the optional parameters for the TenantConfiguration.GetSyncState method. 8249type TenantConfigurationGetSyncStateOptions struct { 8250 // placeholder for future optional parameters 8251} 8252 8253// TenantConfigurationSyncStateContract - Result of Tenant Configuration Sync State. 8254type TenantConfigurationSyncStateContract struct { 8255 // Properties returned Tenant Configuration Sync State check. 8256 Properties *TenantConfigurationSyncStateContractProperties `json:"properties,omitempty"` 8257} 8258 8259// TenantConfigurationSyncStateContractProperties - Tenant Configuration Synchronization State. 8260type TenantConfigurationSyncStateContractProperties struct { 8261 // The name of Git branch. 8262 Branch *string `json:"branch,omitempty"` 8263 8264 // The latest commit Id. 8265 CommitID *string `json:"commitId,omitempty"` 8266 8267 // The date of the latest configuration change. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 8268 ConfigurationChangeDate *time.Time `json:"configurationChangeDate,omitempty"` 8269 8270 // value indicating if last sync was save (true) or deploy (false) operation. 8271 IsExport *bool `json:"isExport,omitempty"` 8272 8273 // value indicating whether Git configuration access is enabled. 8274 IsGitEnabled *bool `json:"isGitEnabled,omitempty"` 8275 8276 // value indicating if last synchronization was later than the configuration change. 8277 IsSynced *bool `json:"isSynced,omitempty"` 8278 8279 // Most recent tenant configuration operation identifier 8280 LastOperationID *string `json:"lastOperationId,omitempty"` 8281 8282 // The date of the latest synchronization. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 8283 SyncDate *time.Time `json:"syncDate,omitempty"` 8284} 8285 8286// MarshalJSON implements the json.Marshaller interface for type TenantConfigurationSyncStateContractProperties. 8287func (t TenantConfigurationSyncStateContractProperties) MarshalJSON() ([]byte, error) { 8288 objectMap := make(map[string]interface{}) 8289 populate(objectMap, "branch", t.Branch) 8290 populate(objectMap, "commitId", t.CommitID) 8291 populate(objectMap, "configurationChangeDate", (*timeRFC3339)(t.ConfigurationChangeDate)) 8292 populate(objectMap, "isExport", t.IsExport) 8293 populate(objectMap, "isGitEnabled", t.IsGitEnabled) 8294 populate(objectMap, "isSynced", t.IsSynced) 8295 populate(objectMap, "lastOperationId", t.LastOperationID) 8296 populate(objectMap, "syncDate", (*timeRFC3339)(t.SyncDate)) 8297 return json.Marshal(objectMap) 8298} 8299 8300// UnmarshalJSON implements the json.Unmarshaller interface for type TenantConfigurationSyncStateContractProperties. 8301func (t *TenantConfigurationSyncStateContractProperties) UnmarshalJSON(data []byte) error { 8302 var rawMsg map[string]json.RawMessage 8303 if err := json.Unmarshal(data, &rawMsg); err != nil { 8304 return err 8305 } 8306 for key, val := range rawMsg { 8307 var err error 8308 switch key { 8309 case "branch": 8310 err = unpopulate(val, &t.Branch) 8311 delete(rawMsg, key) 8312 case "commitId": 8313 err = unpopulate(val, &t.CommitID) 8314 delete(rawMsg, key) 8315 case "configurationChangeDate": 8316 var aux timeRFC3339 8317 err = unpopulate(val, &aux) 8318 t.ConfigurationChangeDate = (*time.Time)(&aux) 8319 delete(rawMsg, key) 8320 case "isExport": 8321 err = unpopulate(val, &t.IsExport) 8322 delete(rawMsg, key) 8323 case "isGitEnabled": 8324 err = unpopulate(val, &t.IsGitEnabled) 8325 delete(rawMsg, key) 8326 case "isSynced": 8327 err = unpopulate(val, &t.IsSynced) 8328 delete(rawMsg, key) 8329 case "lastOperationId": 8330 err = unpopulate(val, &t.LastOperationID) 8331 delete(rawMsg, key) 8332 case "syncDate": 8333 var aux timeRFC3339 8334 err = unpopulate(val, &aux) 8335 t.SyncDate = (*time.Time)(&aux) 8336 delete(rawMsg, key) 8337 } 8338 if err != nil { 8339 return err 8340 } 8341 } 8342 return nil 8343} 8344 8345// TenantSettingsCollection - Paged AccessInformation list representation. 8346type TenantSettingsCollection struct { 8347 // READ-ONLY; Next page link if any. 8348 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8349 8350 // READ-ONLY; Page values. 8351 Value []*TenantSettingsContract `json:"value,omitempty" azure:"ro"` 8352} 8353 8354// MarshalJSON implements the json.Marshaller interface for type TenantSettingsCollection. 8355func (t TenantSettingsCollection) MarshalJSON() ([]byte, error) { 8356 objectMap := make(map[string]interface{}) 8357 populate(objectMap, "nextLink", t.NextLink) 8358 populate(objectMap, "value", t.Value) 8359 return json.Marshal(objectMap) 8360} 8361 8362// TenantSettingsContract - Tenant Settings. 8363type TenantSettingsContract struct { 8364 Resource 8365 // TenantSettings entity contract properties. 8366 Properties *TenantSettingsContractProperties `json:"properties,omitempty"` 8367} 8368 8369// MarshalJSON implements the json.Marshaller interface for type TenantSettingsContract. 8370func (t TenantSettingsContract) MarshalJSON() ([]byte, error) { 8371 objectMap := t.Resource.marshalInternal() 8372 populate(objectMap, "properties", t.Properties) 8373 return json.Marshal(objectMap) 8374} 8375 8376// TenantSettingsContractProperties - Tenant access information contract of the API Management service. 8377type TenantSettingsContractProperties struct { 8378 // Tenant settings 8379 Settings map[string]*string `json:"settings,omitempty"` 8380} 8381 8382// MarshalJSON implements the json.Marshaller interface for type TenantSettingsContractProperties. 8383func (t TenantSettingsContractProperties) MarshalJSON() ([]byte, error) { 8384 objectMap := make(map[string]interface{}) 8385 populate(objectMap, "settings", t.Settings) 8386 return json.Marshal(objectMap) 8387} 8388 8389// TenantSettingsGetOptions contains the optional parameters for the TenantSettings.Get method. 8390type TenantSettingsGetOptions struct { 8391 // placeholder for future optional parameters 8392} 8393 8394// TenantSettingsListByServiceOptions contains the optional parameters for the TenantSettings.ListByService method. 8395type TenantSettingsListByServiceOptions struct { 8396 // Not used 8397 Filter *string 8398} 8399 8400// TermsOfServiceProperties - Terms of service contract properties. 8401type TermsOfServiceProperties struct { 8402 // Ask user for consent to the terms of service. 8403 ConsentRequired *bool `json:"consentRequired,omitempty"` 8404 8405 // Display terms of service during a sign-up process. 8406 Enabled *bool `json:"enabled,omitempty"` 8407 8408 // A terms of service text. 8409 Text *string `json:"text,omitempty"` 8410} 8411 8412// TokenBodyParameterContract - OAuth acquire token request body parameter (www-url-form-encoded). 8413type TokenBodyParameterContract struct { 8414 // REQUIRED; body parameter name. 8415 Name *string `json:"name,omitempty"` 8416 8417 // REQUIRED; body parameter value. 8418 Value *string `json:"value,omitempty"` 8419} 8420 8421// UserCollection - Paged Users list representation. 8422type UserCollection struct { 8423 // Total record count number across all pages. 8424 Count *int64 `json:"count,omitempty"` 8425 8426 // Next page link if any. 8427 NextLink *string `json:"nextLink,omitempty"` 8428 8429 // Page values. 8430 Value []*UserContract `json:"value,omitempty"` 8431} 8432 8433// MarshalJSON implements the json.Marshaller interface for type UserCollection. 8434func (u UserCollection) MarshalJSON() ([]byte, error) { 8435 objectMap := make(map[string]interface{}) 8436 populate(objectMap, "count", u.Count) 8437 populate(objectMap, "nextLink", u.NextLink) 8438 populate(objectMap, "value", u.Value) 8439 return json.Marshal(objectMap) 8440} 8441 8442// UserConfirmationPasswordSendOptions contains the optional parameters for the UserConfirmationPassword.Send method. 8443type UserConfirmationPasswordSendOptions struct { 8444 // Determines the type of application which send the create user request. Default is legacy publisher portal. 8445 AppType *AppType 8446} 8447 8448// UserContract - User details. 8449type UserContract struct { 8450 Resource 8451 // User entity contract properties. 8452 Properties *UserContractProperties `json:"properties,omitempty"` 8453} 8454 8455// MarshalJSON implements the json.Marshaller interface for type UserContract. 8456func (u UserContract) MarshalJSON() ([]byte, error) { 8457 objectMap := u.Resource.marshalInternal() 8458 populate(objectMap, "properties", u.Properties) 8459 return json.Marshal(objectMap) 8460} 8461 8462// UserContractProperties - User profile. 8463type UserContractProperties struct { 8464 UserEntityBaseParameters 8465 // Email address. 8466 Email *string `json:"email,omitempty"` 8467 8468 // First name. 8469 FirstName *string `json:"firstName,omitempty"` 8470 8471 // Last name. 8472 LastName *string `json:"lastName,omitempty"` 8473 8474 // Date of user registration. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. 8475 RegistrationDate *time.Time `json:"registrationDate,omitempty"` 8476 8477 // READ-ONLY; Collection of groups user is part of. 8478 Groups []*GroupContractProperties `json:"groups,omitempty" azure:"ro"` 8479} 8480 8481// MarshalJSON implements the json.Marshaller interface for type UserContractProperties. 8482func (u UserContractProperties) MarshalJSON() ([]byte, error) { 8483 objectMap := u.UserEntityBaseParameters.marshalInternal() 8484 populate(objectMap, "email", u.Email) 8485 populate(objectMap, "firstName", u.FirstName) 8486 populate(objectMap, "groups", u.Groups) 8487 populate(objectMap, "lastName", u.LastName) 8488 populate(objectMap, "registrationDate", (*timeRFC3339)(u.RegistrationDate)) 8489 return json.Marshal(objectMap) 8490} 8491 8492// UnmarshalJSON implements the json.Unmarshaller interface for type UserContractProperties. 8493func (u *UserContractProperties) UnmarshalJSON(data []byte) error { 8494 var rawMsg map[string]json.RawMessage 8495 if err := json.Unmarshal(data, &rawMsg); err != nil { 8496 return err 8497 } 8498 for key, val := range rawMsg { 8499 var err error 8500 switch key { 8501 case "email": 8502 err = unpopulate(val, &u.Email) 8503 delete(rawMsg, key) 8504 case "firstName": 8505 err = unpopulate(val, &u.FirstName) 8506 delete(rawMsg, key) 8507 case "groups": 8508 err = unpopulate(val, &u.Groups) 8509 delete(rawMsg, key) 8510 case "lastName": 8511 err = unpopulate(val, &u.LastName) 8512 delete(rawMsg, key) 8513 case "registrationDate": 8514 var aux timeRFC3339 8515 err = unpopulate(val, &aux) 8516 u.RegistrationDate = (*time.Time)(&aux) 8517 delete(rawMsg, key) 8518 } 8519 if err != nil { 8520 return err 8521 } 8522 } 8523 return u.UserEntityBaseParameters.unmarshalInternal(rawMsg) 8524} 8525 8526// UserCreateOrUpdateOptions contains the optional parameters for the User.CreateOrUpdate method. 8527type UserCreateOrUpdateOptions struct { 8528 // ETag of the Entity. Not required when creating an entity, but required when updating an entity. 8529 IfMatch *string 8530 // Send an Email notification to the User. 8531 Notify *bool 8532} 8533 8534// UserCreateParameterProperties - Parameters supplied to the Create User operation. 8535type UserCreateParameterProperties struct { 8536 UserEntityBaseParameters 8537 // REQUIRED; Email address. Must not be empty and must be unique within the service instance. 8538 Email *string `json:"email,omitempty"` 8539 8540 // REQUIRED; First name. 8541 FirstName *string `json:"firstName,omitempty"` 8542 8543 // REQUIRED; Last name. 8544 LastName *string `json:"lastName,omitempty"` 8545 8546 // Determines the type of application which send the create user request. Default is legacy portal. 8547 AppType *AppType `json:"appType,omitempty"` 8548 8549 // Determines the type of confirmation e-mail that will be sent to the newly created user. 8550 Confirmation *Confirmation `json:"confirmation,omitempty"` 8551 8552 // User Password. If no value is provided, a default password is generated. 8553 Password *string `json:"password,omitempty"` 8554} 8555 8556// MarshalJSON implements the json.Marshaller interface for type UserCreateParameterProperties. 8557func (u UserCreateParameterProperties) MarshalJSON() ([]byte, error) { 8558 objectMap := u.UserEntityBaseParameters.marshalInternal() 8559 populate(objectMap, "appType", u.AppType) 8560 populate(objectMap, "confirmation", u.Confirmation) 8561 populate(objectMap, "email", u.Email) 8562 populate(objectMap, "firstName", u.FirstName) 8563 populate(objectMap, "lastName", u.LastName) 8564 populate(objectMap, "password", u.Password) 8565 return json.Marshal(objectMap) 8566} 8567 8568// UnmarshalJSON implements the json.Unmarshaller interface for type UserCreateParameterProperties. 8569func (u *UserCreateParameterProperties) UnmarshalJSON(data []byte) error { 8570 var rawMsg map[string]json.RawMessage 8571 if err := json.Unmarshal(data, &rawMsg); err != nil { 8572 return err 8573 } 8574 for key, val := range rawMsg { 8575 var err error 8576 switch key { 8577 case "appType": 8578 err = unpopulate(val, &u.AppType) 8579 delete(rawMsg, key) 8580 case "confirmation": 8581 err = unpopulate(val, &u.Confirmation) 8582 delete(rawMsg, key) 8583 case "email": 8584 err = unpopulate(val, &u.Email) 8585 delete(rawMsg, key) 8586 case "firstName": 8587 err = unpopulate(val, &u.FirstName) 8588 delete(rawMsg, key) 8589 case "lastName": 8590 err = unpopulate(val, &u.LastName) 8591 delete(rawMsg, key) 8592 case "password": 8593 err = unpopulate(val, &u.Password) 8594 delete(rawMsg, key) 8595 } 8596 if err != nil { 8597 return err 8598 } 8599 } 8600 return u.UserEntityBaseParameters.unmarshalInternal(rawMsg) 8601} 8602 8603// UserCreateParameters - User create details. 8604type UserCreateParameters struct { 8605 // User entity create contract properties. 8606 Properties *UserCreateParameterProperties `json:"properties,omitempty"` 8607} 8608 8609// UserDeleteOptions contains the optional parameters for the User.Delete method. 8610type UserDeleteOptions struct { 8611 // Determines the type of application which send the create user request. Default is legacy publisher portal. 8612 AppType *AppType 8613 // Whether to delete user's subscription or not. 8614 DeleteSubscriptions *bool 8615 // Send an Account Closed Email notification to the User. 8616 Notify *bool 8617} 8618 8619// UserEntityBaseParameters - User Entity Base Parameters set. 8620type UserEntityBaseParameters struct { 8621 // Collection of user identities. 8622 Identities []*UserIdentityContract `json:"identities,omitempty"` 8623 8624 // Optional note about a user set by the administrator. 8625 Note *string `json:"note,omitempty"` 8626 8627 // Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed 8628 // products. Default state is Active. 8629 State *UserState `json:"state,omitempty"` 8630} 8631 8632// MarshalJSON implements the json.Marshaller interface for type UserEntityBaseParameters. 8633func (u UserEntityBaseParameters) MarshalJSON() ([]byte, error) { 8634 objectMap := u.marshalInternal() 8635 return json.Marshal(objectMap) 8636} 8637 8638// UnmarshalJSON implements the json.Unmarshaller interface for type UserEntityBaseParameters. 8639func (u *UserEntityBaseParameters) UnmarshalJSON(data []byte) error { 8640 var rawMsg map[string]json.RawMessage 8641 if err := json.Unmarshal(data, &rawMsg); err != nil { 8642 return err 8643 } 8644 return u.unmarshalInternal(rawMsg) 8645} 8646 8647func (u UserEntityBaseParameters) marshalInternal() map[string]interface{} { 8648 objectMap := make(map[string]interface{}) 8649 populate(objectMap, "identities", u.Identities) 8650 populate(objectMap, "note", u.Note) 8651 populate(objectMap, "state", u.State) 8652 return objectMap 8653} 8654 8655func (u *UserEntityBaseParameters) unmarshalInternal(rawMsg map[string]json.RawMessage) error { 8656 for key, val := range rawMsg { 8657 var err error 8658 switch key { 8659 case "identities": 8660 err = unpopulate(val, &u.Identities) 8661 delete(rawMsg, key) 8662 case "note": 8663 err = unpopulate(val, &u.Note) 8664 delete(rawMsg, key) 8665 case "state": 8666 err = unpopulate(val, &u.State) 8667 delete(rawMsg, key) 8668 } 8669 if err != nil { 8670 return err 8671 } 8672 } 8673 return nil 8674} 8675 8676// UserGenerateSsoURLOptions contains the optional parameters for the User.GenerateSsoURL method. 8677type UserGenerateSsoURLOptions struct { 8678 // placeholder for future optional parameters 8679} 8680 8681// UserGetEntityTagOptions contains the optional parameters for the User.GetEntityTag method. 8682type UserGetEntityTagOptions struct { 8683 // placeholder for future optional parameters 8684} 8685 8686// UserGetOptions contains the optional parameters for the User.Get method. 8687type UserGetOptions struct { 8688 // placeholder for future optional parameters 8689} 8690 8691// UserGetSharedAccessTokenOptions contains the optional parameters for the User.GetSharedAccessToken method. 8692type UserGetSharedAccessTokenOptions struct { 8693 // placeholder for future optional parameters 8694} 8695 8696// UserGroupListOptions contains the optional parameters for the UserGroup.List method. 8697type UserGroupListOptions struct { 8698 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|------------------------|-----------------------------------|</br>| 8699 // name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | substringof, 8700 // contains, startswith, endswith |</br>| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br> 8701 Filter *string 8702 // Number of records to skip. 8703 Skip *int32 8704 // Number of records to return. 8705 Top *int32 8706} 8707 8708// UserIdentitiesListOptions contains the optional parameters for the UserIdentities.List method. 8709type UserIdentitiesListOptions struct { 8710 // placeholder for future optional parameters 8711} 8712 8713// UserIdentityCollection - List of Users Identity list representation. 8714type UserIdentityCollection struct { 8715 // Total record count number across all pages. 8716 Count *int64 `json:"count,omitempty"` 8717 8718 // Next page link if any. 8719 NextLink *string `json:"nextLink,omitempty"` 8720 8721 // User Identity values. 8722 Value []*UserIdentityContract `json:"value,omitempty"` 8723} 8724 8725// MarshalJSON implements the json.Marshaller interface for type UserIdentityCollection. 8726func (u UserIdentityCollection) MarshalJSON() ([]byte, error) { 8727 objectMap := make(map[string]interface{}) 8728 populate(objectMap, "count", u.Count) 8729 populate(objectMap, "nextLink", u.NextLink) 8730 populate(objectMap, "value", u.Value) 8731 return json.Marshal(objectMap) 8732} 8733 8734// UserIdentityContract - User identity details. 8735type UserIdentityContract struct { 8736 // Identifier value within provider. 8737 ID *string `json:"id,omitempty"` 8738 8739 // Identity provider name. 8740 Provider *string `json:"provider,omitempty"` 8741} 8742 8743type UserIdentityProperties struct { 8744 // The client id of user assigned identity. 8745 ClientID *string `json:"clientId,omitempty"` 8746 8747 // The principal id of user assigned identity. 8748 PrincipalID *string `json:"principalId,omitempty"` 8749} 8750 8751// UserListByServiceOptions contains the optional parameters for the User.ListByService method. 8752type UserListByServiceOptions struct { 8753 // Detailed Group in response. 8754 ExpandGroups *bool 8755 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, 8756 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 8757 // endswith |</br>| lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| email | filter | ge, le, eq, ne, gt, 8758 // lt | substringof, contains, startswith, endswith |</br>| state | filter | eq | |</br>| registrationDate | filter | ge, le, eq, ne, gt, lt | |</br>| note 8759 // | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>| groups | expand | | |</br> 8760 Filter *string 8761 // Number of records to skip. 8762 Skip *int32 8763 // Number of records to return. 8764 Top *int32 8765} 8766 8767// UserSubscriptionGetOptions contains the optional parameters for the UserSubscription.Get method. 8768type UserSubscriptionGetOptions struct { 8769 // placeholder for future optional parameters 8770} 8771 8772// UserSubscriptionListOptions contains the optional parameters for the UserSubscription.List method. 8773type UserSubscriptionListOptions struct { 8774 // | Field | Usage | Supported operators | Supported functions |</br>|-------------|------------------------|-----------------------------------|</br>|name 8775 // | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>|displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, 8776 // startswith, endswith |</br>|stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>|ownerId | filter | ge, 8777 // le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>|scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, 8778 // endswith |</br>|userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>|productId | filter | ge, le, eq, ne, gt, 8779 // lt | substringof, contains, startswith, endswith |</br> 8780 Filter *string 8781 // Number of records to skip. 8782 Skip *int32 8783 // Number of records to return. 8784 Top *int32 8785} 8786 8787// UserTokenParameterProperties - Parameters supplied to the Get User Token operation. 8788type UserTokenParameterProperties struct { 8789 // REQUIRED; The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ 8790 // as specified by the ISO 8601 standard. 8791 Expiry *time.Time `json:"expiry,omitempty"` 8792 8793 // REQUIRED; The Key to be used to generate token for user. 8794 KeyType *KeyType `json:"keyType,omitempty"` 8795} 8796 8797// MarshalJSON implements the json.Marshaller interface for type UserTokenParameterProperties. 8798func (u UserTokenParameterProperties) MarshalJSON() ([]byte, error) { 8799 objectMap := make(map[string]interface{}) 8800 populate(objectMap, "expiry", (*timeRFC3339)(u.Expiry)) 8801 populate(objectMap, "keyType", u.KeyType) 8802 return json.Marshal(objectMap) 8803} 8804 8805// UnmarshalJSON implements the json.Unmarshaller interface for type UserTokenParameterProperties. 8806func (u *UserTokenParameterProperties) UnmarshalJSON(data []byte) error { 8807 var rawMsg map[string]json.RawMessage 8808 if err := json.Unmarshal(data, &rawMsg); err != nil { 8809 return err 8810 } 8811 for key, val := range rawMsg { 8812 var err error 8813 switch key { 8814 case "expiry": 8815 var aux timeRFC3339 8816 err = unpopulate(val, &aux) 8817 u.Expiry = (*time.Time)(&aux) 8818 delete(rawMsg, key) 8819 case "keyType": 8820 err = unpopulate(val, &u.KeyType) 8821 delete(rawMsg, key) 8822 } 8823 if err != nil { 8824 return err 8825 } 8826 } 8827 return nil 8828} 8829 8830// UserTokenParameters - Get User Token parameters. 8831type UserTokenParameters struct { 8832 // User Token Parameter contract properties. 8833 Properties *UserTokenParameterProperties `json:"properties,omitempty"` 8834} 8835 8836// UserTokenResult - Get User Token response details. 8837type UserTokenResult struct { 8838 // Shared Access Authorization token for the User. 8839 Value *string `json:"value,omitempty"` 8840} 8841 8842// UserUpdateOptions contains the optional parameters for the User.Update method. 8843type UserUpdateOptions struct { 8844 // placeholder for future optional parameters 8845} 8846 8847// UserUpdateParameters - User update parameters. 8848type UserUpdateParameters struct { 8849 // User entity update contract properties. 8850 Properties *UserUpdateParametersProperties `json:"properties,omitempty"` 8851} 8852 8853// MarshalJSON implements the json.Marshaller interface for type UserUpdateParameters. 8854func (u UserUpdateParameters) MarshalJSON() ([]byte, error) { 8855 objectMap := make(map[string]interface{}) 8856 populate(objectMap, "properties", u.Properties) 8857 return json.Marshal(objectMap) 8858} 8859 8860// UserUpdateParametersProperties - Parameters supplied to the Update User operation. 8861type UserUpdateParametersProperties struct { 8862 UserEntityBaseParameters 8863 // Email address. Must not be empty and must be unique within the service instance. 8864 Email *string `json:"email,omitempty"` 8865 8866 // First name. 8867 FirstName *string `json:"firstName,omitempty"` 8868 8869 // Last name. 8870 LastName *string `json:"lastName,omitempty"` 8871 8872 // User Password. 8873 Password *string `json:"password,omitempty"` 8874} 8875 8876// MarshalJSON implements the json.Marshaller interface for type UserUpdateParametersProperties. 8877func (u UserUpdateParametersProperties) MarshalJSON() ([]byte, error) { 8878 objectMap := u.UserEntityBaseParameters.marshalInternal() 8879 populate(objectMap, "email", u.Email) 8880 populate(objectMap, "firstName", u.FirstName) 8881 populate(objectMap, "lastName", u.LastName) 8882 populate(objectMap, "password", u.Password) 8883 return json.Marshal(objectMap) 8884} 8885 8886// UnmarshalJSON implements the json.Unmarshaller interface for type UserUpdateParametersProperties. 8887func (u *UserUpdateParametersProperties) UnmarshalJSON(data []byte) error { 8888 var rawMsg map[string]json.RawMessage 8889 if err := json.Unmarshal(data, &rawMsg); err != nil { 8890 return err 8891 } 8892 for key, val := range rawMsg { 8893 var err error 8894 switch key { 8895 case "email": 8896 err = unpopulate(val, &u.Email) 8897 delete(rawMsg, key) 8898 case "firstName": 8899 err = unpopulate(val, &u.FirstName) 8900 delete(rawMsg, key) 8901 case "lastName": 8902 err = unpopulate(val, &u.LastName) 8903 delete(rawMsg, key) 8904 case "password": 8905 err = unpopulate(val, &u.Password) 8906 delete(rawMsg, key) 8907 } 8908 if err != nil { 8909 return err 8910 } 8911 } 8912 return u.UserEntityBaseParameters.unmarshalInternal(rawMsg) 8913} 8914 8915// VirtualNetworkConfiguration - Configuration of a virtual network to which API Management service is deployed. 8916type VirtualNetworkConfiguration struct { 8917 // The full resource ID of a subnet in a virtual network to deploy the API Management service in. 8918 SubnetResourceID *string `json:"subnetResourceId,omitempty"` 8919 8920 // READ-ONLY; The name of the subnet. 8921 Subnetname *string `json:"subnetname,omitempty" azure:"ro"` 8922 8923 // READ-ONLY; The virtual network ID. This is typically a GUID. Expect a null GUID by default. 8924 Vnetid *string `json:"vnetid,omitempty" azure:"ro"` 8925} 8926 8927// X509CertificateName - Properties of server X509Names. 8928type X509CertificateName struct { 8929 // Thumbprint for the Issuer of the Certificate. 8930 IssuerCertificateThumbprint *string `json:"issuerCertificateThumbprint,omitempty"` 8931 8932 // Common Name of the Certificate. 8933 Name *string `json:"name,omitempty"` 8934} 8935 8936func populate(m map[string]interface{}, k string, v interface{}) { 8937 if v == nil { 8938 return 8939 } else if azcore.IsNullValue(v) { 8940 m[k] = nil 8941 } else if !reflect.ValueOf(v).IsNil() { 8942 m[k] = v 8943 } 8944} 8945 8946func unpopulate(data json.RawMessage, v interface{}) error { 8947 if data == nil { 8948 return nil 8949 } 8950 return json.Unmarshal(data, v) 8951} 8952