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 armoperationalinsights 9 10import ( 11 "encoding/json" 12 "github.com/Azure/azure-sdk-for-go/sdk/azcore" 13 "reflect" 14 "time" 15) 16 17// AssociatedWorkspace - The list of Log Analytics workspaces associated with the cluster. 18type AssociatedWorkspace struct { 19 // READ-ONLY; The time of workspace association. 20 AssociateDate *string `json:"associateDate,omitempty" azure:"ro"` 21 22 // READ-ONLY; The ResourceId id the assigned workspace. 23 ResourceID *string `json:"resourceId,omitempty" azure:"ro"` 24 25 // READ-ONLY; The id of the assigned workspace. 26 WorkspaceID *string `json:"workspaceId,omitempty" azure:"ro"` 27 28 // READ-ONLY; The name id the assigned workspace. 29 WorkspaceName *string `json:"workspaceName,omitempty" azure:"ro"` 30} 31 32// AvailableServiceTier - Service Tier details. 33type AvailableServiceTier struct { 34 // READ-ONLY; The capacity reservation level in GB per day. Returned for the Capacity Reservation Service Tier. 35 CapacityReservationLevel *int64 `json:"capacityReservationLevel,omitempty" azure:"ro"` 36 37 // READ-ONLY; The default retention for the Service Tier, in days. 38 DefaultRetention *int64 `json:"defaultRetention,omitempty" azure:"ro"` 39 40 // READ-ONLY; True if the Service Tier is enabled for the workspace. 41 Enabled *bool `json:"enabled,omitempty" azure:"ro"` 42 43 // READ-ONLY; Time when the sku was last updated for the workspace. Returned for the Capacity Reservation Service Tier. 44 LastSKUUpdate *string `json:"lastSkuUpdate,omitempty" azure:"ro"` 45 46 // READ-ONLY; The maximum retention for the Service Tier, in days. 47 MaximumRetention *int64 `json:"maximumRetention,omitempty" azure:"ro"` 48 49 // READ-ONLY; The minimum retention for the Service Tier, in days. 50 MinimumRetention *int64 `json:"minimumRetention,omitempty" azure:"ro"` 51 52 // READ-ONLY; The name of the Service Tier. 53 ServiceTier *SKUNameEnum `json:"serviceTier,omitempty" azure:"ro"` 54} 55 56// AvailableServiceTiersListByWorkspaceOptions contains the optional parameters for the AvailableServiceTiers.ListByWorkspace method. 57type AvailableServiceTiersListByWorkspaceOptions struct { 58 // placeholder for future optional parameters 59} 60 61// AzureEntityResource - The resource model definition for an Azure Resource Manager resource with an etag. 62type AzureEntityResource struct { 63 Resource 64 // READ-ONLY; Resource Etag. 65 Etag *string `json:"etag,omitempty" azure:"ro"` 66} 67 68// MarshalJSON implements the json.Marshaller interface for type AzureEntityResource. 69func (a AzureEntityResource) MarshalJSON() ([]byte, error) { 70 objectMap := a.marshalInternal() 71 return json.Marshal(objectMap) 72} 73 74func (a AzureEntityResource) marshalInternal() map[string]interface{} { 75 objectMap := a.Resource.marshalInternal() 76 populate(objectMap, "etag", a.Etag) 77 return objectMap 78} 79 80// CapacityReservationProperties - The Capacity Reservation properties. 81type CapacityReservationProperties struct { 82 // READ-ONLY; The last time Sku was updated. 83 LastSKUUpdate *string `json:"lastSkuUpdate,omitempty" azure:"ro"` 84 85 // READ-ONLY; Minimum CapacityReservation value in GB. 86 MinCapacity *int64 `json:"minCapacity,omitempty" azure:"ro"` 87} 88 89// Cluster - The top level Log Analytics cluster resource container. 90type Cluster struct { 91 TrackedResource 92 // The identity of the resource. 93 Identity *Identity `json:"identity,omitempty"` 94 95 // Log Analytics cluster properties. 96 Properties *ClusterProperties `json:"properties,omitempty"` 97 98 // The sku properties. 99 SKU *ClusterSKU `json:"sku,omitempty"` 100} 101 102// MarshalJSON implements the json.Marshaller interface for type Cluster. 103func (c Cluster) MarshalJSON() ([]byte, error) { 104 objectMap := c.TrackedResource.marshalInternal() 105 populate(objectMap, "identity", c.Identity) 106 populate(objectMap, "properties", c.Properties) 107 populate(objectMap, "sku", c.SKU) 108 return json.Marshal(objectMap) 109} 110 111// ClusterListResult - The list clusters operation response. 112type ClusterListResult struct { 113 // The link used to get the next page of recommendations. 114 NextLink *string `json:"nextLink,omitempty"` 115 116 // A list of Log Analytics clusters. 117 Value []*Cluster `json:"value,omitempty"` 118} 119 120// MarshalJSON implements the json.Marshaller interface for type ClusterListResult. 121func (c ClusterListResult) MarshalJSON() ([]byte, error) { 122 objectMap := make(map[string]interface{}) 123 populate(objectMap, "nextLink", c.NextLink) 124 populate(objectMap, "value", c.Value) 125 return json.Marshal(objectMap) 126} 127 128// ClusterPatch - The top level Log Analytics cluster resource container. 129type ClusterPatch struct { 130 // The identity of the resource. 131 Identity *Identity `json:"identity,omitempty"` 132 133 // Log Analytics cluster properties. 134 Properties *ClusterPatchProperties `json:"properties,omitempty"` 135 136 // The sku properties. 137 SKU *ClusterSKU `json:"sku,omitempty"` 138 139 // Resource tags. 140 Tags map[string]*string `json:"tags,omitempty"` 141} 142 143// MarshalJSON implements the json.Marshaller interface for type ClusterPatch. 144func (c ClusterPatch) MarshalJSON() ([]byte, error) { 145 objectMap := make(map[string]interface{}) 146 populate(objectMap, "identity", c.Identity) 147 populate(objectMap, "properties", c.Properties) 148 populate(objectMap, "sku", c.SKU) 149 populate(objectMap, "tags", c.Tags) 150 return json.Marshal(objectMap) 151} 152 153// ClusterPatchProperties - Log Analytics cluster patch properties. 154type ClusterPatchProperties struct { 155 // The cluster's billing type. 156 BillingType *BillingType `json:"billingType,omitempty"` 157 158 // The associated key properties. 159 KeyVaultProperties *KeyVaultProperties `json:"keyVaultProperties,omitempty"` 160} 161 162// ClusterProperties - Cluster properties. 163type ClusterProperties struct { 164 // The list of Log Analytics workspaces associated with the cluster 165 AssociatedWorkspaces []*AssociatedWorkspace `json:"associatedWorkspaces,omitempty"` 166 167 // The cluster's billing type. 168 BillingType *BillingType `json:"billingType,omitempty"` 169 170 // Additional properties for capacity reservation 171 CapacityReservationProperties *CapacityReservationProperties `json:"capacityReservationProperties,omitempty"` 172 173 // Sets whether the cluster will support availability zones. This can be set as true only in regions where Azure Data Explorer support Availability Zones. 174 // This Property can not be modified after cluster 175 // creation. Default value is 'true' if region supports Availability Zones. 176 IsAvailabilityZonesEnabled *bool `json:"isAvailabilityZonesEnabled,omitempty"` 177 178 // Configures whether cluster will use double encryption. This Property can not be modified after cluster creation. Default value is 'true' 179 IsDoubleEncryptionEnabled *bool `json:"isDoubleEncryptionEnabled,omitempty"` 180 181 // The associated key properties. 182 KeyVaultProperties *KeyVaultProperties `json:"keyVaultProperties,omitempty"` 183 184 // READ-ONLY; The ID associated with the cluster. 185 ClusterID *string `json:"clusterId,omitempty" azure:"ro"` 186 187 // READ-ONLY; The cluster creation time 188 CreatedDate *string `json:"createdDate,omitempty" azure:"ro"` 189 190 // READ-ONLY; The last time the cluster was updated. 191 LastModifiedDate *string `json:"lastModifiedDate,omitempty" azure:"ro"` 192 193 // READ-ONLY; The provisioning state of the cluster. 194 ProvisioningState *ClusterEntityStatus `json:"provisioningState,omitempty" azure:"ro"` 195} 196 197// MarshalJSON implements the json.Marshaller interface for type ClusterProperties. 198func (c ClusterProperties) MarshalJSON() ([]byte, error) { 199 objectMap := make(map[string]interface{}) 200 populate(objectMap, "associatedWorkspaces", c.AssociatedWorkspaces) 201 populate(objectMap, "billingType", c.BillingType) 202 populate(objectMap, "capacityReservationProperties", c.CapacityReservationProperties) 203 populate(objectMap, "clusterId", c.ClusterID) 204 populate(objectMap, "createdDate", c.CreatedDate) 205 populate(objectMap, "isAvailabilityZonesEnabled", c.IsAvailabilityZonesEnabled) 206 populate(objectMap, "isDoubleEncryptionEnabled", c.IsDoubleEncryptionEnabled) 207 populate(objectMap, "keyVaultProperties", c.KeyVaultProperties) 208 populate(objectMap, "lastModifiedDate", c.LastModifiedDate) 209 populate(objectMap, "provisioningState", c.ProvisioningState) 210 return json.Marshal(objectMap) 211} 212 213// ClusterSKU - The cluster sku definition. 214type ClusterSKU struct { 215 // The capacity value 216 Capacity *int64 `json:"capacity,omitempty"` 217 218 // The name of the SKU. 219 Name *ClusterSKUNameEnum `json:"name,omitempty"` 220} 221 222// ClustersBeginCreateOrUpdateOptions contains the optional parameters for the Clusters.BeginCreateOrUpdate method. 223type ClustersBeginCreateOrUpdateOptions struct { 224 // placeholder for future optional parameters 225} 226 227// ClustersBeginDeleteOptions contains the optional parameters for the Clusters.BeginDelete method. 228type ClustersBeginDeleteOptions struct { 229 // placeholder for future optional parameters 230} 231 232// ClustersGetOptions contains the optional parameters for the Clusters.Get method. 233type ClustersGetOptions struct { 234 // placeholder for future optional parameters 235} 236 237// ClustersListByResourceGroupOptions contains the optional parameters for the Clusters.ListByResourceGroup method. 238type ClustersListByResourceGroupOptions struct { 239 // placeholder for future optional parameters 240} 241 242// ClustersListOptions contains the optional parameters for the Clusters.List method. 243type ClustersListOptions struct { 244 // placeholder for future optional parameters 245} 246 247// ClustersUpdateOptions contains the optional parameters for the Clusters.Update method. 248type ClustersUpdateOptions struct { 249 // placeholder for future optional parameters 250} 251 252// CoreSummary - The core summary of a search. 253type CoreSummary struct { 254 // REQUIRED; The number of documents of a core summary. 255 NumberOfDocuments *int64 `json:"numberOfDocuments,omitempty"` 256 257 // The status of a core summary. 258 Status *string `json:"status,omitempty"` 259} 260 261// DataExport - The top level data export resource container. 262type DataExport struct { 263 ProxyResource 264 // data export properties. 265 Properties *DataExportProperties `json:"properties,omitempty"` 266} 267 268// MarshalJSON implements the json.Marshaller interface for type DataExport. 269func (d DataExport) MarshalJSON() ([]byte, error) { 270 objectMap := d.ProxyResource.marshalInternal() 271 populate(objectMap, "properties", d.Properties) 272 return json.Marshal(objectMap) 273} 274 275// DataExportListResult - Result of the request to list data exports. 276type DataExportListResult struct { 277 // List of data export instances within a workspace.. 278 Value []*DataExport `json:"value,omitempty"` 279} 280 281// MarshalJSON implements the json.Marshaller interface for type DataExportListResult. 282func (d DataExportListResult) MarshalJSON() ([]byte, error) { 283 objectMap := make(map[string]interface{}) 284 populate(objectMap, "value", d.Value) 285 return json.Marshal(objectMap) 286} 287 288// DataExportProperties - Data Export properties. 289type DataExportProperties struct { 290 // REQUIRED; An array of tables to export, for example: [“Heartbeat, SecurityEvent”]. 291 TableNames []*string `json:"tableNames,omitempty"` 292 293 // The latest data export rule modification time. 294 CreatedDate *string `json:"createdDate,omitempty"` 295 296 // The data export rule ID. 297 DataExportID *string `json:"dataExportId,omitempty"` 298 299 // destination properties. 300 Destination *Destination `json:"destination,omitempty"` 301 302 // Active when enabled. 303 Enable *bool `json:"enable,omitempty"` 304 305 // Date and time when the export was last modified. 306 LastModifiedDate *string `json:"lastModifiedDate,omitempty"` 307} 308 309// MarshalJSON implements the json.Marshaller interface for type DataExportProperties. 310func (d DataExportProperties) MarshalJSON() ([]byte, error) { 311 objectMap := make(map[string]interface{}) 312 populate(objectMap, "createdDate", d.CreatedDate) 313 populate(objectMap, "dataExportId", d.DataExportID) 314 populate(objectMap, "destination", d.Destination) 315 populate(objectMap, "enable", d.Enable) 316 populate(objectMap, "lastModifiedDate", d.LastModifiedDate) 317 populate(objectMap, "tableNames", d.TableNames) 318 return json.Marshal(objectMap) 319} 320 321// DataExportsCreateOrUpdateOptions contains the optional parameters for the DataExports.CreateOrUpdate method. 322type DataExportsCreateOrUpdateOptions struct { 323 // placeholder for future optional parameters 324} 325 326// DataExportsDeleteOptions contains the optional parameters for the DataExports.Delete method. 327type DataExportsDeleteOptions struct { 328 // placeholder for future optional parameters 329} 330 331// DataExportsGetOptions contains the optional parameters for the DataExports.Get method. 332type DataExportsGetOptions struct { 333 // placeholder for future optional parameters 334} 335 336// DataExportsListByWorkspaceOptions contains the optional parameters for the DataExports.ListByWorkspace method. 337type DataExportsListByWorkspaceOptions struct { 338 // placeholder for future optional parameters 339} 340 341// DataSource - Datasources under OMS Workspace. 342type DataSource struct { 343 ProxyResource 344 // REQUIRED; The kind of the DataSource. 345 Kind *DataSourceKind `json:"kind,omitempty"` 346 347 // REQUIRED; The data source properties in raw json format, each kind of data source have it's own schema. 348 Properties map[string]interface{} `json:"properties,omitempty"` 349 350 // The ETag of the data source. 351 Etag *string `json:"etag,omitempty"` 352 353 // Resource tags. 354 Tags map[string]*string `json:"tags,omitempty"` 355} 356 357// MarshalJSON implements the json.Marshaller interface for type DataSource. 358func (d DataSource) MarshalJSON() ([]byte, error) { 359 objectMap := d.ProxyResource.marshalInternal() 360 populate(objectMap, "etag", d.Etag) 361 populate(objectMap, "kind", d.Kind) 362 populate(objectMap, "properties", d.Properties) 363 populate(objectMap, "tags", d.Tags) 364 return json.Marshal(objectMap) 365} 366 367// DataSourceFilter - DataSource filter. Right now, only filter by kind is supported. 368type DataSourceFilter struct { 369 // The kind of the DataSource. 370 Kind *DataSourceKind `json:"kind,omitempty"` 371} 372 373// DataSourceListResult - The list data source by workspace operation response. 374type DataSourceListResult struct { 375 // The link (url) to the next page of datasources. 376 NextLink *string `json:"nextLink,omitempty"` 377 378 // A list of datasources. 379 Value []*DataSource `json:"value,omitempty"` 380} 381 382// MarshalJSON implements the json.Marshaller interface for type DataSourceListResult. 383func (d DataSourceListResult) MarshalJSON() ([]byte, error) { 384 objectMap := make(map[string]interface{}) 385 populate(objectMap, "nextLink", d.NextLink) 386 populate(objectMap, "value", d.Value) 387 return json.Marshal(objectMap) 388} 389 390// DataSourcesCreateOrUpdateOptions contains the optional parameters for the DataSources.CreateOrUpdate method. 391type DataSourcesCreateOrUpdateOptions struct { 392 // placeholder for future optional parameters 393} 394 395// DataSourcesDeleteOptions contains the optional parameters for the DataSources.Delete method. 396type DataSourcesDeleteOptions struct { 397 // placeholder for future optional parameters 398} 399 400// DataSourcesGetOptions contains the optional parameters for the DataSources.Get method. 401type DataSourcesGetOptions struct { 402 // placeholder for future optional parameters 403} 404 405// DataSourcesListByWorkspaceOptions contains the optional parameters for the DataSources.ListByWorkspace method. 406type DataSourcesListByWorkspaceOptions struct { 407 // Starting point of the collection of data source instances. 408 Skiptoken *string 409} 410 411// DeletedWorkspacesListByResourceGroupOptions contains the optional parameters for the DeletedWorkspaces.ListByResourceGroup method. 412type DeletedWorkspacesListByResourceGroupOptions struct { 413 // placeholder for future optional parameters 414} 415 416// DeletedWorkspacesListOptions contains the optional parameters for the DeletedWorkspaces.List method. 417type DeletedWorkspacesListOptions struct { 418 // placeholder for future optional parameters 419} 420 421// Destination properties. 422type Destination struct { 423 // REQUIRED; The destination resource ID. This can be copied from the Properties entry of the destination resource in Azure. 424 ResourceID *string `json:"resourceId,omitempty"` 425 426 // destination meta data. 427 MetaData *DestinationMetaData `json:"metaData,omitempty"` 428 429 // READ-ONLY; The type of the destination resource 430 Type *Type `json:"type,omitempty" azure:"ro"` 431} 432 433// DestinationMetaData - Destination meta data. 434type DestinationMetaData struct { 435 // Optional. Allows to define an Event Hub name. Not applicable when destination is Storage Account. 436 EventHubName *string `json:"eventHubName,omitempty"` 437} 438 439// ErrorAdditionalInfo - The resource management error additional info. 440type ErrorAdditionalInfo struct { 441 // READ-ONLY; The additional info. 442 Info map[string]interface{} `json:"info,omitempty" azure:"ro"` 443 444 // READ-ONLY; The additional info type. 445 Type *string `json:"type,omitempty" azure:"ro"` 446} 447 448// ErrorDetail - The error detail. 449type ErrorDetail struct { 450 // READ-ONLY; The error additional info. 451 AdditionalInfo []*ErrorAdditionalInfo `json:"additionalInfo,omitempty" azure:"ro"` 452 453 // READ-ONLY; The error code. 454 Code *string `json:"code,omitempty" azure:"ro"` 455 456 // READ-ONLY; The error details. 457 Details []*ErrorDetail `json:"details,omitempty" azure:"ro"` 458 459 // READ-ONLY; The error message. 460 Message *string `json:"message,omitempty" azure:"ro"` 461 462 // READ-ONLY; The error target. 463 Target *string `json:"target,omitempty" azure:"ro"` 464} 465 466// MarshalJSON implements the json.Marshaller interface for type ErrorDetail. 467func (e ErrorDetail) MarshalJSON() ([]byte, error) { 468 objectMap := make(map[string]interface{}) 469 populate(objectMap, "additionalInfo", e.AdditionalInfo) 470 populate(objectMap, "code", e.Code) 471 populate(objectMap, "details", e.Details) 472 populate(objectMap, "message", e.Message) 473 populate(objectMap, "target", e.Target) 474 return json.Marshal(objectMap) 475} 476 477// ErrorResponse - Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData 478// error response format.). 479// Implements the error and azcore.HTTPResponse interfaces. 480type ErrorResponse struct { 481 raw string 482 // The error object. 483 InnerError *ErrorDetail `json:"error,omitempty"` 484} 485 486// Error implements the error interface for type ErrorResponse. 487// The contents of the error text are not contractual and subject to change. 488func (e ErrorResponse) Error() string { 489 return e.raw 490} 491 492// GatewaysDeleteOptions contains the optional parameters for the Gateways.Delete method. 493type GatewaysDeleteOptions struct { 494 // placeholder for future optional parameters 495} 496 497// Identity for the resource. 498type Identity struct { 499 // REQUIRED; Type of managed service identity. 500 Type *IdentityType `json:"type,omitempty"` 501 502 // The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: 503 // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 504 UserAssignedIdentities map[string]*UserIdentityProperties `json:"userAssignedIdentities,omitempty"` 505 506 // READ-ONLY; The principal ID of resource identity. 507 PrincipalID *string `json:"principalId,omitempty" azure:"ro"` 508 509 // READ-ONLY; The tenant ID of resource. 510 TenantID *string `json:"tenantId,omitempty" azure:"ro"` 511} 512 513// MarshalJSON implements the json.Marshaller interface for type Identity. 514func (i Identity) MarshalJSON() ([]byte, error) { 515 objectMap := make(map[string]interface{}) 516 populate(objectMap, "principalId", i.PrincipalID) 517 populate(objectMap, "tenantId", i.TenantID) 518 populate(objectMap, "type", i.Type) 519 populate(objectMap, "userAssignedIdentities", i.UserAssignedIdentities) 520 return json.Marshal(objectMap) 521} 522 523// IntelligencePack - Intelligence Pack containing a string name and boolean indicating if it's enabled. 524type IntelligencePack struct { 525 // The display name of the intelligence pack. 526 DisplayName *string `json:"displayName,omitempty"` 527 528 // The enabled boolean for the intelligence pack. 529 Enabled *bool `json:"enabled,omitempty"` 530 531 // The name of the intelligence pack. 532 Name *string `json:"name,omitempty"` 533} 534 535// IntelligencePacksDisableOptions contains the optional parameters for the IntelligencePacks.Disable method. 536type IntelligencePacksDisableOptions struct { 537 // placeholder for future optional parameters 538} 539 540// IntelligencePacksEnableOptions contains the optional parameters for the IntelligencePacks.Enable method. 541type IntelligencePacksEnableOptions struct { 542 // placeholder for future optional parameters 543} 544 545// IntelligencePacksListOptions contains the optional parameters for the IntelligencePacks.List method. 546type IntelligencePacksListOptions struct { 547 // placeholder for future optional parameters 548} 549 550// KeyVaultProperties - The key vault properties. 551type KeyVaultProperties struct { 552 // The name of the key associated with the Log Analytics cluster. 553 KeyName *string `json:"keyName,omitempty"` 554 555 // Selected key minimum required size. 556 KeyRsaSize *int32 `json:"keyRsaSize,omitempty"` 557 558 // The Key Vault uri which holds they key associated with the Log Analytics cluster. 559 KeyVaultURI *string `json:"keyVaultUri,omitempty"` 560 561 // The version of the key associated with the Log Analytics cluster. 562 KeyVersion *string `json:"keyVersion,omitempty"` 563} 564 565// LinkedService - The top level Linked service resource container. 566type LinkedService struct { 567 ProxyResource 568 // REQUIRED; The properties of the linked service. 569 Properties *LinkedServiceProperties `json:"properties,omitempty"` 570 571 // Resource tags. 572 Tags map[string]*string `json:"tags,omitempty"` 573} 574 575// MarshalJSON implements the json.Marshaller interface for type LinkedService. 576func (l LinkedService) MarshalJSON() ([]byte, error) { 577 objectMap := l.ProxyResource.marshalInternal() 578 populate(objectMap, "properties", l.Properties) 579 populate(objectMap, "tags", l.Tags) 580 return json.Marshal(objectMap) 581} 582 583// LinkedServiceListResult - The list linked service operation response. 584type LinkedServiceListResult struct { 585 // The list of linked service instances 586 Value []*LinkedService `json:"value,omitempty"` 587} 588 589// MarshalJSON implements the json.Marshaller interface for type LinkedServiceListResult. 590func (l LinkedServiceListResult) MarshalJSON() ([]byte, error) { 591 objectMap := make(map[string]interface{}) 592 populate(objectMap, "value", l.Value) 593 return json.Marshal(objectMap) 594} 595 596// LinkedServiceProperties - Linked service properties. 597type LinkedServiceProperties struct { 598 // The provisioning state of the linked service. 599 ProvisioningState *LinkedServiceEntityStatus `json:"provisioningState,omitempty"` 600 601 // The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require read access 602 ResourceID *string `json:"resourceId,omitempty"` 603 604 // The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require write access 605 WriteAccessResourceID *string `json:"writeAccessResourceId,omitempty"` 606} 607 608// LinkedServicesBeginCreateOrUpdateOptions contains the optional parameters for the LinkedServices.BeginCreateOrUpdate method. 609type LinkedServicesBeginCreateOrUpdateOptions struct { 610 // placeholder for future optional parameters 611} 612 613// LinkedServicesBeginDeleteOptions contains the optional parameters for the LinkedServices.BeginDelete method. 614type LinkedServicesBeginDeleteOptions struct { 615 // placeholder for future optional parameters 616} 617 618// LinkedServicesGetOptions contains the optional parameters for the LinkedServices.Get method. 619type LinkedServicesGetOptions struct { 620 // placeholder for future optional parameters 621} 622 623// LinkedServicesListByWorkspaceOptions contains the optional parameters for the LinkedServices.ListByWorkspace method. 624type LinkedServicesListByWorkspaceOptions struct { 625 // placeholder for future optional parameters 626} 627 628// LinkedStorageAccountsCreateOrUpdateOptions contains the optional parameters for the LinkedStorageAccounts.CreateOrUpdate method. 629type LinkedStorageAccountsCreateOrUpdateOptions struct { 630 // placeholder for future optional parameters 631} 632 633// LinkedStorageAccountsDeleteOptions contains the optional parameters for the LinkedStorageAccounts.Delete method. 634type LinkedStorageAccountsDeleteOptions struct { 635 // placeholder for future optional parameters 636} 637 638// LinkedStorageAccountsGetOptions contains the optional parameters for the LinkedStorageAccounts.Get method. 639type LinkedStorageAccountsGetOptions struct { 640 // placeholder for future optional parameters 641} 642 643// LinkedStorageAccountsListByWorkspaceOptions contains the optional parameters for the LinkedStorageAccounts.ListByWorkspace method. 644type LinkedStorageAccountsListByWorkspaceOptions struct { 645 // placeholder for future optional parameters 646} 647 648// LinkedStorageAccountsListResult - The list linked storage accounts service operation response. 649type LinkedStorageAccountsListResult struct { 650 // A list of linked storage accounts instances. 651 Value []*LinkedStorageAccountsResource `json:"value,omitempty"` 652} 653 654// MarshalJSON implements the json.Marshaller interface for type LinkedStorageAccountsListResult. 655func (l LinkedStorageAccountsListResult) MarshalJSON() ([]byte, error) { 656 objectMap := make(map[string]interface{}) 657 populate(objectMap, "value", l.Value) 658 return json.Marshal(objectMap) 659} 660 661// LinkedStorageAccountsProperties - Linked storage accounts properties. 662type LinkedStorageAccountsProperties struct { 663 // Linked storage accounts resources ids. 664 StorageAccountIDs []*string `json:"storageAccountIds,omitempty"` 665 666 // READ-ONLY; Linked storage accounts type. 667 DataSourceType *DataSourceType `json:"dataSourceType,omitempty" azure:"ro"` 668} 669 670// MarshalJSON implements the json.Marshaller interface for type LinkedStorageAccountsProperties. 671func (l LinkedStorageAccountsProperties) MarshalJSON() ([]byte, error) { 672 objectMap := make(map[string]interface{}) 673 populate(objectMap, "dataSourceType", l.DataSourceType) 674 populate(objectMap, "storageAccountIds", l.StorageAccountIDs) 675 return json.Marshal(objectMap) 676} 677 678// LinkedStorageAccountsResource - Linked storage accounts top level resource container. 679type LinkedStorageAccountsResource struct { 680 ProxyResource 681 // REQUIRED; Linked storage accounts properties. 682 Properties *LinkedStorageAccountsProperties `json:"properties,omitempty"` 683} 684 685// MarshalJSON implements the json.Marshaller interface for type LinkedStorageAccountsResource. 686func (l LinkedStorageAccountsResource) MarshalJSON() ([]byte, error) { 687 objectMap := l.ProxyResource.marshalInternal() 688 populate(objectMap, "properties", l.Properties) 689 return json.Marshal(objectMap) 690} 691 692// ManagementGroup - A management group that is connected to a workspace 693type ManagementGroup struct { 694 // The properties of the management group. 695 Properties *ManagementGroupProperties `json:"properties,omitempty"` 696} 697 698// ManagementGroupProperties - Management group properties. 699type ManagementGroupProperties struct { 700 // The datetime that the management group was created. 701 Created *time.Time `json:"created,omitempty"` 702 703 // The last datetime that the management group received data. 704 DataReceived *time.Time `json:"dataReceived,omitempty"` 705 706 // The unique ID of the management group. 707 ID *string `json:"id,omitempty"` 708 709 // Gets or sets a value indicating whether the management group is a gateway. 710 IsGateway *bool `json:"isGateway,omitempty"` 711 712 // The name of the management group. 713 Name *string `json:"name,omitempty"` 714 715 // The SKU of System Center that is managing the management group. 716 SKU *string `json:"sku,omitempty"` 717 718 // The number of servers connected to the management group. 719 ServerCount *int32 `json:"serverCount,omitempty"` 720 721 // The version of System Center that is managing the management group. 722 Version *string `json:"version,omitempty"` 723} 724 725// MarshalJSON implements the json.Marshaller interface for type ManagementGroupProperties. 726func (m ManagementGroupProperties) MarshalJSON() ([]byte, error) { 727 objectMap := make(map[string]interface{}) 728 populate(objectMap, "created", (*timeRFC3339)(m.Created)) 729 populate(objectMap, "dataReceived", (*timeRFC3339)(m.DataReceived)) 730 populate(objectMap, "id", m.ID) 731 populate(objectMap, "isGateway", m.IsGateway) 732 populate(objectMap, "name", m.Name) 733 populate(objectMap, "sku", m.SKU) 734 populate(objectMap, "serverCount", m.ServerCount) 735 populate(objectMap, "version", m.Version) 736 return json.Marshal(objectMap) 737} 738 739// UnmarshalJSON implements the json.Unmarshaller interface for type ManagementGroupProperties. 740func (m *ManagementGroupProperties) UnmarshalJSON(data []byte) error { 741 var rawMsg map[string]json.RawMessage 742 if err := json.Unmarshal(data, &rawMsg); err != nil { 743 return err 744 } 745 for key, val := range rawMsg { 746 var err error 747 switch key { 748 case "created": 749 var aux timeRFC3339 750 err = unpopulate(val, &aux) 751 m.Created = (*time.Time)(&aux) 752 delete(rawMsg, key) 753 case "dataReceived": 754 var aux timeRFC3339 755 err = unpopulate(val, &aux) 756 m.DataReceived = (*time.Time)(&aux) 757 delete(rawMsg, key) 758 case "id": 759 err = unpopulate(val, &m.ID) 760 delete(rawMsg, key) 761 case "isGateway": 762 err = unpopulate(val, &m.IsGateway) 763 delete(rawMsg, key) 764 case "name": 765 err = unpopulate(val, &m.Name) 766 delete(rawMsg, key) 767 case "sku": 768 err = unpopulate(val, &m.SKU) 769 delete(rawMsg, key) 770 case "serverCount": 771 err = unpopulate(val, &m.ServerCount) 772 delete(rawMsg, key) 773 case "version": 774 err = unpopulate(val, &m.Version) 775 delete(rawMsg, key) 776 } 777 if err != nil { 778 return err 779 } 780 } 781 return nil 782} 783 784// ManagementGroupsListOptions contains the optional parameters for the ManagementGroups.List method. 785type ManagementGroupsListOptions struct { 786 // placeholder for future optional parameters 787} 788 789// MetricName - The name of a metric. 790type MetricName struct { 791 // The localized name of the metric. 792 LocalizedValue *string `json:"localizedValue,omitempty"` 793 794 // The system name of the metric. 795 Value *string `json:"value,omitempty"` 796} 797 798// Operation - Supported operation of OperationalInsights resource provider. 799type Operation struct { 800 // Display metadata associated with the operation. 801 Display *OperationDisplay `json:"display,omitempty"` 802 803 // Operation name: {provider}/{resource}/{operation} 804 Name *string `json:"name,omitempty"` 805} 806 807// OperationDisplay - Display metadata associated with the operation. 808type OperationDisplay struct { 809 // Description of operation 810 Description *string `json:"description,omitempty"` 811 812 // Type of operation: get, read, delete, etc. 813 Operation *string `json:"operation,omitempty"` 814 815 // Service provider: Microsoft OperationsManagement. 816 Provider *string `json:"provider,omitempty"` 817 818 // Resource on which the operation is performed etc. 819 Resource *string `json:"resource,omitempty"` 820} 821 822// OperationListResult - Result of the request to list solution operations. 823type OperationListResult struct { 824 // List of solution operations supported by the OperationsManagement resource provider. 825 Value []*Operation `json:"value,omitempty"` 826 827 // READ-ONLY; URL to get the next set of operation list results if there are any. 828 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 829} 830 831// MarshalJSON implements the json.Marshaller interface for type OperationListResult. 832func (o OperationListResult) MarshalJSON() ([]byte, error) { 833 objectMap := make(map[string]interface{}) 834 populate(objectMap, "nextLink", o.NextLink) 835 populate(objectMap, "value", o.Value) 836 return json.Marshal(objectMap) 837} 838 839// OperationStatus - The status of operation. 840type OperationStatus struct { 841 // The end time of the operation. 842 EndTime *string `json:"endTime,omitempty"` 843 844 // The error detail of the operation if any. 845 Error *ErrorResponse `json:"error,omitempty"` 846 847 // The operation Id. 848 ID *string `json:"id,omitempty"` 849 850 // The operation name. 851 Name *string `json:"name,omitempty"` 852 853 // The start time of the operation. 854 StartTime *string `json:"startTime,omitempty"` 855 856 // The status of the operation. 857 Status *string `json:"status,omitempty"` 858} 859 860// OperationStatusesGetOptions contains the optional parameters for the OperationStatuses.Get method. 861type OperationStatusesGetOptions struct { 862 // placeholder for future optional parameters 863} 864 865// OperationsListOptions contains the optional parameters for the Operations.List method. 866type OperationsListOptions struct { 867 // placeholder for future optional parameters 868} 869 870// PrivateLinkScopedResource - The private link scope resource reference. 871type PrivateLinkScopedResource struct { 872 // The full resource Id of the private link scope resource. 873 ResourceID *string `json:"resourceId,omitempty"` 874 875 // The private link scope unique Identifier. 876 ScopeID *string `json:"scopeId,omitempty"` 877} 878 879// ProxyResource - The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location 880type ProxyResource struct { 881 Resource 882} 883 884func (p ProxyResource) marshalInternal() map[string]interface{} { 885 objectMap := p.Resource.marshalInternal() 886 return objectMap 887} 888 889// Resource - Common fields that are returned in the response for all Azure Resource Manager resources 890type Resource struct { 891 // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 892 ID *string `json:"id,omitempty" azure:"ro"` 893 894 // READ-ONLY; The name of the resource 895 Name *string `json:"name,omitempty" azure:"ro"` 896 897 // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 898 Type *string `json:"type,omitempty" azure:"ro"` 899} 900 901// MarshalJSON implements the json.Marshaller interface for type Resource. 902func (r Resource) MarshalJSON() ([]byte, error) { 903 objectMap := r.marshalInternal() 904 return json.Marshal(objectMap) 905} 906 907func (r Resource) marshalInternal() map[string]interface{} { 908 objectMap := make(map[string]interface{}) 909 populate(objectMap, "id", r.ID) 910 populate(objectMap, "name", r.Name) 911 populate(objectMap, "type", r.Type) 912 return objectMap 913} 914 915// SavedSearch - Value object for saved search results. 916type SavedSearch struct { 917 ProxyResource 918 // REQUIRED; The properties of the saved search. 919 Properties *SavedSearchProperties `json:"properties,omitempty"` 920 921 // The ETag of the saved search. To override an existing saved search, use "*" or specify the current Etag 922 Etag *string `json:"etag,omitempty"` 923} 924 925// MarshalJSON implements the json.Marshaller interface for type SavedSearch. 926func (s SavedSearch) MarshalJSON() ([]byte, error) { 927 objectMap := s.ProxyResource.marshalInternal() 928 populate(objectMap, "etag", s.Etag) 929 populate(objectMap, "properties", s.Properties) 930 return json.Marshal(objectMap) 931} 932 933// SavedSearchProperties - Value object for saved search results. 934type SavedSearchProperties struct { 935 // REQUIRED; The category of the saved search. This helps the user to find a saved search faster. 936 Category *string `json:"category,omitempty"` 937 938 // REQUIRED; Saved search display name. 939 DisplayName *string `json:"displayName,omitempty"` 940 941 // REQUIRED; The query expression for the saved search. 942 Query *string `json:"query,omitempty"` 943 944 // The function alias if query serves as a function. 945 FunctionAlias *string `json:"functionAlias,omitempty"` 946 947 // The optional function parameters if query serves as a function. Value should be in the following format: 'param-name1:type1 = defaultvalue1, param-name2:type2 948 // = defaultvalue2'. For more examples and 949 // proper syntax please refer to https://docs.microsoft.com/en-us/azure/kusto/query/functions/user-defined-functions. 950 FunctionParameters *string `json:"functionParameters,omitempty"` 951 952 // The tags attached to the saved search. 953 Tags []*Tag `json:"tags,omitempty"` 954 955 // The version number of the query language. The current version is 2 and is the default. 956 Version *int64 `json:"version,omitempty"` 957} 958 959// MarshalJSON implements the json.Marshaller interface for type SavedSearchProperties. 960func (s SavedSearchProperties) MarshalJSON() ([]byte, error) { 961 objectMap := make(map[string]interface{}) 962 populate(objectMap, "category", s.Category) 963 populate(objectMap, "displayName", s.DisplayName) 964 populate(objectMap, "functionAlias", s.FunctionAlias) 965 populate(objectMap, "functionParameters", s.FunctionParameters) 966 populate(objectMap, "query", s.Query) 967 populate(objectMap, "tags", s.Tags) 968 populate(objectMap, "version", s.Version) 969 return json.Marshal(objectMap) 970} 971 972// SavedSearchesCreateOrUpdateOptions contains the optional parameters for the SavedSearches.CreateOrUpdate method. 973type SavedSearchesCreateOrUpdateOptions struct { 974 // placeholder for future optional parameters 975} 976 977// SavedSearchesDeleteOptions contains the optional parameters for the SavedSearches.Delete method. 978type SavedSearchesDeleteOptions struct { 979 // placeholder for future optional parameters 980} 981 982// SavedSearchesGetOptions contains the optional parameters for the SavedSearches.Get method. 983type SavedSearchesGetOptions struct { 984 // placeholder for future optional parameters 985} 986 987// SavedSearchesListByWorkspaceOptions contains the optional parameters for the SavedSearches.ListByWorkspace method. 988type SavedSearchesListByWorkspaceOptions struct { 989 // placeholder for future optional parameters 990} 991 992// SavedSearchesListResult - The saved search list operation response. 993type SavedSearchesListResult struct { 994 // The array of result values. 995 Value []*SavedSearch `json:"value,omitempty"` 996} 997 998// MarshalJSON implements the json.Marshaller interface for type SavedSearchesListResult. 999func (s SavedSearchesListResult) MarshalJSON() ([]byte, error) { 1000 objectMap := make(map[string]interface{}) 1001 populate(objectMap, "value", s.Value) 1002 return json.Marshal(objectMap) 1003} 1004 1005// SchemaGetOptions contains the optional parameters for the Schema.Get method. 1006type SchemaGetOptions struct { 1007 // placeholder for future optional parameters 1008} 1009 1010// SearchGetSchemaResponse - The get schema operation response. 1011type SearchGetSchemaResponse struct { 1012 // The metadata from search results. 1013 Metadata *SearchMetadata `json:"metadata,omitempty"` 1014 1015 // The array of result values. 1016 Value []*SearchSchemaValue `json:"value,omitempty"` 1017} 1018 1019// MarshalJSON implements the json.Marshaller interface for type SearchGetSchemaResponse. 1020func (s SearchGetSchemaResponse) MarshalJSON() ([]byte, error) { 1021 objectMap := make(map[string]interface{}) 1022 populate(objectMap, "metadata", s.Metadata) 1023 populate(objectMap, "value", s.Value) 1024 return json.Marshal(objectMap) 1025} 1026 1027// SearchMetadata - Metadata for search results. 1028type SearchMetadata struct { 1029 // The aggregated grouping fields. 1030 AggregatedGroupingFields *string `json:"aggregatedGroupingFields,omitempty"` 1031 1032 // The aggregated value field. 1033 AggregatedValueField *string `json:"aggregatedValueField,omitempty"` 1034 1035 // The core summaries. 1036 CoreSummaries []*CoreSummary `json:"coreSummaries,omitempty"` 1037 1038 // The ETag of the search results. 1039 ETag *string `json:"eTag,omitempty"` 1040 1041 // The id of the search results request. 1042 ID *string `json:"id,omitempty"` 1043 1044 // The time of last update. 1045 LastUpdated *time.Time `json:"lastUpdated,omitempty"` 1046 1047 // The max of all aggregates returned in the result set. 1048 Max *int64 `json:"max,omitempty"` 1049 1050 // The request time. 1051 RequestTime *int64 `json:"requestTime,omitempty"` 1052 1053 // The search result type. 1054 ResultType *string `json:"resultType,omitempty"` 1055 1056 // The schema. 1057 Schema *SearchMetadataSchema `json:"schema,omitempty"` 1058 1059 // The request id of the search. 1060 SearchID *string `json:"requestId,omitempty"` 1061 1062 // How the results are sorted. 1063 Sort []*SearchSort `json:"sort,omitempty"` 1064 1065 // The start time for the search. 1066 StartTime *time.Time `json:"startTime,omitempty"` 1067 1068 // The status of the search results. 1069 Status *string `json:"status,omitempty"` 1070 1071 // The sum of all aggregates returned in the result set. 1072 Sum *int64 `json:"sum,omitempty"` 1073 1074 // The number of top search results. 1075 Top *int64 `json:"top,omitempty"` 1076 1077 // The total number of search results. 1078 Total *int64 `json:"total,omitempty"` 1079} 1080 1081// MarshalJSON implements the json.Marshaller interface for type SearchMetadata. 1082func (s SearchMetadata) MarshalJSON() ([]byte, error) { 1083 objectMap := make(map[string]interface{}) 1084 populate(objectMap, "aggregatedGroupingFields", s.AggregatedGroupingFields) 1085 populate(objectMap, "aggregatedValueField", s.AggregatedValueField) 1086 populate(objectMap, "coreSummaries", s.CoreSummaries) 1087 populate(objectMap, "eTag", s.ETag) 1088 populate(objectMap, "id", s.ID) 1089 populate(objectMap, "lastUpdated", (*timeRFC3339)(s.LastUpdated)) 1090 populate(objectMap, "max", s.Max) 1091 populate(objectMap, "requestTime", s.RequestTime) 1092 populate(objectMap, "resultType", s.ResultType) 1093 populate(objectMap, "schema", s.Schema) 1094 populate(objectMap, "requestId", s.SearchID) 1095 populate(objectMap, "sort", s.Sort) 1096 populate(objectMap, "startTime", (*timeRFC3339)(s.StartTime)) 1097 populate(objectMap, "status", s.Status) 1098 populate(objectMap, "sum", s.Sum) 1099 populate(objectMap, "top", s.Top) 1100 populate(objectMap, "total", s.Total) 1101 return json.Marshal(objectMap) 1102} 1103 1104// UnmarshalJSON implements the json.Unmarshaller interface for type SearchMetadata. 1105func (s *SearchMetadata) UnmarshalJSON(data []byte) error { 1106 var rawMsg map[string]json.RawMessage 1107 if err := json.Unmarshal(data, &rawMsg); err != nil { 1108 return err 1109 } 1110 for key, val := range rawMsg { 1111 var err error 1112 switch key { 1113 case "aggregatedGroupingFields": 1114 err = unpopulate(val, &s.AggregatedGroupingFields) 1115 delete(rawMsg, key) 1116 case "aggregatedValueField": 1117 err = unpopulate(val, &s.AggregatedValueField) 1118 delete(rawMsg, key) 1119 case "coreSummaries": 1120 err = unpopulate(val, &s.CoreSummaries) 1121 delete(rawMsg, key) 1122 case "eTag": 1123 err = unpopulate(val, &s.ETag) 1124 delete(rawMsg, key) 1125 case "id": 1126 err = unpopulate(val, &s.ID) 1127 delete(rawMsg, key) 1128 case "lastUpdated": 1129 var aux timeRFC3339 1130 err = unpopulate(val, &aux) 1131 s.LastUpdated = (*time.Time)(&aux) 1132 delete(rawMsg, key) 1133 case "max": 1134 err = unpopulate(val, &s.Max) 1135 delete(rawMsg, key) 1136 case "requestTime": 1137 err = unpopulate(val, &s.RequestTime) 1138 delete(rawMsg, key) 1139 case "resultType": 1140 err = unpopulate(val, &s.ResultType) 1141 delete(rawMsg, key) 1142 case "schema": 1143 err = unpopulate(val, &s.Schema) 1144 delete(rawMsg, key) 1145 case "requestId": 1146 err = unpopulate(val, &s.SearchID) 1147 delete(rawMsg, key) 1148 case "sort": 1149 err = unpopulate(val, &s.Sort) 1150 delete(rawMsg, key) 1151 case "startTime": 1152 var aux timeRFC3339 1153 err = unpopulate(val, &aux) 1154 s.StartTime = (*time.Time)(&aux) 1155 delete(rawMsg, key) 1156 case "status": 1157 err = unpopulate(val, &s.Status) 1158 delete(rawMsg, key) 1159 case "sum": 1160 err = unpopulate(val, &s.Sum) 1161 delete(rawMsg, key) 1162 case "top": 1163 err = unpopulate(val, &s.Top) 1164 delete(rawMsg, key) 1165 case "total": 1166 err = unpopulate(val, &s.Total) 1167 delete(rawMsg, key) 1168 } 1169 if err != nil { 1170 return err 1171 } 1172 } 1173 return nil 1174} 1175 1176// SearchMetadataSchema - Schema metadata for search. 1177type SearchMetadataSchema struct { 1178 // The name of the metadata schema. 1179 Name *string `json:"name,omitempty"` 1180 1181 // The version of the metadata schema. 1182 Version *int32 `json:"version,omitempty"` 1183} 1184 1185// SearchSchemaValue - Value object for schema results. 1186type SearchSchemaValue struct { 1187 // REQUIRED; The boolean that indicates whether or not the field is a facet. 1188 Facet *bool `json:"facet,omitempty"` 1189 1190 // REQUIRED; The boolean that indicates the field is searchable as free text. 1191 Indexed *bool `json:"indexed,omitempty"` 1192 1193 // REQUIRED; The boolean that indicates whether or not the field is stored. 1194 Stored *bool `json:"stored,omitempty"` 1195 1196 // The display name of the schema. 1197 DisplayName *string `json:"displayName,omitempty"` 1198 1199 // The name of the schema. 1200 Name *string `json:"name,omitempty"` 1201 1202 // The array of workflows containing the field. 1203 OwnerType []*string `json:"ownerType,omitempty"` 1204 1205 // The type. 1206 Type *string `json:"type,omitempty"` 1207} 1208 1209// MarshalJSON implements the json.Marshaller interface for type SearchSchemaValue. 1210func (s SearchSchemaValue) MarshalJSON() ([]byte, error) { 1211 objectMap := make(map[string]interface{}) 1212 populate(objectMap, "displayName", s.DisplayName) 1213 populate(objectMap, "facet", s.Facet) 1214 populate(objectMap, "indexed", s.Indexed) 1215 populate(objectMap, "name", s.Name) 1216 populate(objectMap, "ownerType", s.OwnerType) 1217 populate(objectMap, "stored", s.Stored) 1218 populate(objectMap, "type", s.Type) 1219 return json.Marshal(objectMap) 1220} 1221 1222// SearchSort - The sort parameters for search. 1223type SearchSort struct { 1224 // The name of the field the search query is sorted on. 1225 Name *string `json:"name,omitempty"` 1226 1227 // The sort order of the search. 1228 Order *SearchSortEnum `json:"order,omitempty"` 1229} 1230 1231// SharedKeys - The shared keys for a workspace. 1232type SharedKeys struct { 1233 // The primary shared key of a workspace. 1234 PrimarySharedKey *string `json:"primarySharedKey,omitempty"` 1235 1236 // The secondary shared key of a workspace. 1237 SecondarySharedKey *string `json:"secondarySharedKey,omitempty"` 1238} 1239 1240// SharedKeysGetSharedKeysOptions contains the optional parameters for the SharedKeys.GetSharedKeys method. 1241type SharedKeysGetSharedKeysOptions struct { 1242 // placeholder for future optional parameters 1243} 1244 1245// SharedKeysRegenerateOptions contains the optional parameters for the SharedKeys.Regenerate method. 1246type SharedKeysRegenerateOptions struct { 1247 // placeholder for future optional parameters 1248} 1249 1250// StorageAccount - Describes a storage account connection. 1251type StorageAccount struct { 1252 // REQUIRED; The Azure Resource Manager ID of the storage account resource. 1253 ID *string `json:"id,omitempty"` 1254 1255 // REQUIRED; The storage account key. 1256 Key *string `json:"key,omitempty"` 1257} 1258 1259// StorageInsight - The top level storage insight resource container. 1260type StorageInsight struct { 1261 ProxyResource 1262 // The ETag of the storage insight. 1263 ETag *string `json:"eTag,omitempty"` 1264 1265 // Storage insight properties. 1266 Properties *StorageInsightProperties `json:"properties,omitempty"` 1267 1268 // Resource tags. 1269 Tags map[string]*string `json:"tags,omitempty"` 1270} 1271 1272// MarshalJSON implements the json.Marshaller interface for type StorageInsight. 1273func (s StorageInsight) MarshalJSON() ([]byte, error) { 1274 objectMap := s.ProxyResource.marshalInternal() 1275 populate(objectMap, "eTag", s.ETag) 1276 populate(objectMap, "properties", s.Properties) 1277 populate(objectMap, "tags", s.Tags) 1278 return json.Marshal(objectMap) 1279} 1280 1281// StorageInsightConfigsCreateOrUpdateOptions contains the optional parameters for the StorageInsightConfigs.CreateOrUpdate method. 1282type StorageInsightConfigsCreateOrUpdateOptions struct { 1283 // placeholder for future optional parameters 1284} 1285 1286// StorageInsightConfigsDeleteOptions contains the optional parameters for the StorageInsightConfigs.Delete method. 1287type StorageInsightConfigsDeleteOptions struct { 1288 // placeholder for future optional parameters 1289} 1290 1291// StorageInsightConfigsGetOptions contains the optional parameters for the StorageInsightConfigs.Get method. 1292type StorageInsightConfigsGetOptions struct { 1293 // placeholder for future optional parameters 1294} 1295 1296// StorageInsightConfigsListByWorkspaceOptions contains the optional parameters for the StorageInsightConfigs.ListByWorkspace method. 1297type StorageInsightConfigsListByWorkspaceOptions struct { 1298 // placeholder for future optional parameters 1299} 1300 1301// StorageInsightListResult - The list storage insights operation response. 1302type StorageInsightListResult struct { 1303 // The link (url) to the next page of results. 1304 OdataNextLink *string `json:"@odata.nextLink,omitempty"` 1305 1306 // A list of storage insight items. 1307 Value []*StorageInsight `json:"value,omitempty"` 1308} 1309 1310// MarshalJSON implements the json.Marshaller interface for type StorageInsightListResult. 1311func (s StorageInsightListResult) MarshalJSON() ([]byte, error) { 1312 objectMap := make(map[string]interface{}) 1313 populate(objectMap, "@odata.nextLink", s.OdataNextLink) 1314 populate(objectMap, "value", s.Value) 1315 return json.Marshal(objectMap) 1316} 1317 1318// StorageInsightProperties - Storage insight properties. 1319type StorageInsightProperties struct { 1320 // REQUIRED; The storage account connection details 1321 StorageAccount *StorageAccount `json:"storageAccount,omitempty"` 1322 1323 // The names of the blob containers that the workspace should read 1324 Containers []*string `json:"containers,omitempty"` 1325 1326 // The names of the Azure tables that the workspace should read 1327 Tables []*string `json:"tables,omitempty"` 1328 1329 // READ-ONLY; The status of the storage insight 1330 Status *StorageInsightStatus `json:"status,omitempty" azure:"ro"` 1331} 1332 1333// MarshalJSON implements the json.Marshaller interface for type StorageInsightProperties. 1334func (s StorageInsightProperties) MarshalJSON() ([]byte, error) { 1335 objectMap := make(map[string]interface{}) 1336 populate(objectMap, "containers", s.Containers) 1337 populate(objectMap, "status", s.Status) 1338 populate(objectMap, "storageAccount", s.StorageAccount) 1339 populate(objectMap, "tables", s.Tables) 1340 return json.Marshal(objectMap) 1341} 1342 1343// StorageInsightStatus - The status of the storage insight. 1344type StorageInsightStatus struct { 1345 // REQUIRED; The state of the storage insight connection to the workspace 1346 State *StorageInsightState `json:"state,omitempty"` 1347 1348 // Description of the state of the storage insight. 1349 Description *string `json:"description,omitempty"` 1350} 1351 1352// Table - Workspace data table definition. 1353type Table struct { 1354 ProxyResource 1355 // Table properties. 1356 Properties *TableProperties `json:"properties,omitempty"` 1357} 1358 1359// MarshalJSON implements the json.Marshaller interface for type Table. 1360func (t Table) MarshalJSON() ([]byte, error) { 1361 objectMap := t.ProxyResource.marshalInternal() 1362 populate(objectMap, "properties", t.Properties) 1363 return json.Marshal(objectMap) 1364} 1365 1366// TableProperties - Table properties. 1367type TableProperties struct { 1368 // The data table data retention in days, between 30 and 730. Setting this property to null will default to the workspace retention. 1369 RetentionInDays *int32 `json:"retentionInDays,omitempty"` 1370} 1371 1372// TablesGetOptions contains the optional parameters for the Tables.Get method. 1373type TablesGetOptions struct { 1374 // placeholder for future optional parameters 1375} 1376 1377// TablesListByWorkspaceOptions contains the optional parameters for the Tables.ListByWorkspace method. 1378type TablesListByWorkspaceOptions struct { 1379 // placeholder for future optional parameters 1380} 1381 1382// TablesListResult - The list tables operation response. 1383type TablesListResult struct { 1384 // A list of data tables. 1385 Value []*Table `json:"value,omitempty"` 1386} 1387 1388// MarshalJSON implements the json.Marshaller interface for type TablesListResult. 1389func (t TablesListResult) MarshalJSON() ([]byte, error) { 1390 objectMap := make(map[string]interface{}) 1391 populate(objectMap, "value", t.Value) 1392 return json.Marshal(objectMap) 1393} 1394 1395// TablesUpdateOptions contains the optional parameters for the Tables.Update method. 1396type TablesUpdateOptions struct { 1397 // placeholder for future optional parameters 1398} 1399 1400// Tag - A tag of a saved search. 1401type Tag struct { 1402 // REQUIRED; The tag name. 1403 Name *string `json:"name,omitempty"` 1404 1405 // REQUIRED; The tag value. 1406 Value *string `json:"value,omitempty"` 1407} 1408 1409// TrackedResource - The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' 1410type TrackedResource struct { 1411 Resource 1412 // REQUIRED; The geo-location where the resource lives 1413 Location *string `json:"location,omitempty"` 1414 1415 // Resource tags. 1416 Tags map[string]*string `json:"tags,omitempty"` 1417} 1418 1419// MarshalJSON implements the json.Marshaller interface for type TrackedResource. 1420func (t TrackedResource) MarshalJSON() ([]byte, error) { 1421 objectMap := t.marshalInternal() 1422 return json.Marshal(objectMap) 1423} 1424 1425func (t TrackedResource) marshalInternal() map[string]interface{} { 1426 objectMap := t.Resource.marshalInternal() 1427 populate(objectMap, "location", t.Location) 1428 populate(objectMap, "tags", t.Tags) 1429 return objectMap 1430} 1431 1432// UsageMetric - A metric describing the usage of a resource. 1433type UsageMetric struct { 1434 // The current value of the metric. 1435 CurrentValue *float64 `json:"currentValue,omitempty"` 1436 1437 // The quota limit for the metric. 1438 Limit *float64 `json:"limit,omitempty"` 1439 1440 // The name of the metric. 1441 Name *MetricName `json:"name,omitempty"` 1442 1443 // The time that the metric's value will reset. 1444 NextResetTime *time.Time `json:"nextResetTime,omitempty"` 1445 1446 // The quota period that determines the length of time between value resets. 1447 QuotaPeriod *string `json:"quotaPeriod,omitempty"` 1448 1449 // The units used for the metric. 1450 Unit *string `json:"unit,omitempty"` 1451} 1452 1453// MarshalJSON implements the json.Marshaller interface for type UsageMetric. 1454func (u UsageMetric) MarshalJSON() ([]byte, error) { 1455 objectMap := make(map[string]interface{}) 1456 populate(objectMap, "currentValue", u.CurrentValue) 1457 populate(objectMap, "limit", u.Limit) 1458 populate(objectMap, "name", u.Name) 1459 populate(objectMap, "nextResetTime", (*timeRFC3339)(u.NextResetTime)) 1460 populate(objectMap, "quotaPeriod", u.QuotaPeriod) 1461 populate(objectMap, "unit", u.Unit) 1462 return json.Marshal(objectMap) 1463} 1464 1465// UnmarshalJSON implements the json.Unmarshaller interface for type UsageMetric. 1466func (u *UsageMetric) UnmarshalJSON(data []byte) error { 1467 var rawMsg map[string]json.RawMessage 1468 if err := json.Unmarshal(data, &rawMsg); err != nil { 1469 return err 1470 } 1471 for key, val := range rawMsg { 1472 var err error 1473 switch key { 1474 case "currentValue": 1475 err = unpopulate(val, &u.CurrentValue) 1476 delete(rawMsg, key) 1477 case "limit": 1478 err = unpopulate(val, &u.Limit) 1479 delete(rawMsg, key) 1480 case "name": 1481 err = unpopulate(val, &u.Name) 1482 delete(rawMsg, key) 1483 case "nextResetTime": 1484 var aux timeRFC3339 1485 err = unpopulate(val, &aux) 1486 u.NextResetTime = (*time.Time)(&aux) 1487 delete(rawMsg, key) 1488 case "quotaPeriod": 1489 err = unpopulate(val, &u.QuotaPeriod) 1490 delete(rawMsg, key) 1491 case "unit": 1492 err = unpopulate(val, &u.Unit) 1493 delete(rawMsg, key) 1494 } 1495 if err != nil { 1496 return err 1497 } 1498 } 1499 return nil 1500} 1501 1502// UsagesListOptions contains the optional parameters for the Usages.List method. 1503type UsagesListOptions struct { 1504 // placeholder for future optional parameters 1505} 1506 1507// UserIdentityProperties - User assigned identity properties. 1508type UserIdentityProperties struct { 1509 // READ-ONLY; The client id of user assigned identity. 1510 ClientID *string `json:"clientId,omitempty" azure:"ro"` 1511 1512 // READ-ONLY; The principal id of user assigned identity. 1513 PrincipalID *string `json:"principalId,omitempty" azure:"ro"` 1514} 1515 1516// Workspace - The top level Workspace resource container. 1517type Workspace struct { 1518 TrackedResource 1519 // The ETag of the workspace. 1520 ETag *string `json:"eTag,omitempty"` 1521 1522 // Workspace properties. 1523 Properties *WorkspaceProperties `json:"properties,omitempty"` 1524} 1525 1526// MarshalJSON implements the json.Marshaller interface for type Workspace. 1527func (w Workspace) MarshalJSON() ([]byte, error) { 1528 objectMap := w.TrackedResource.marshalInternal() 1529 populate(objectMap, "eTag", w.ETag) 1530 populate(objectMap, "properties", w.Properties) 1531 return json.Marshal(objectMap) 1532} 1533 1534// WorkspaceCapping - The daily volume cap for ingestion. 1535type WorkspaceCapping struct { 1536 // The workspace daily quota for ingestion. 1537 DailyQuotaGb *float64 `json:"dailyQuotaGb,omitempty"` 1538 1539 // READ-ONLY; The status of data ingestion for this workspace. 1540 DataIngestionStatus *DataIngestionStatus `json:"dataIngestionStatus,omitempty" azure:"ro"` 1541 1542 // READ-ONLY; The time when the quota will be rest. 1543 QuotaNextResetTime *string `json:"quotaNextResetTime,omitempty" azure:"ro"` 1544} 1545 1546// WorkspaceFeatures - Workspace features. 1547type WorkspaceFeatures struct { 1548 // OPTIONAL; Contains additional key/value pairs not defined in the schema. 1549 AdditionalProperties map[string]interface{} 1550 1551 // Dedicated LA cluster resourceId that is linked to the workspaces. 1552 ClusterResourceID *string `json:"clusterResourceId,omitempty"` 1553 1554 // Disable Non-AAD based Auth. 1555 DisableLocalAuth *bool `json:"disableLocalAuth,omitempty"` 1556 1557 // Flag that indicate if data should be exported. 1558 EnableDataExport *bool `json:"enableDataExport,omitempty"` 1559 1560 // Flag that indicate which permission to use - resource or workspace or both. 1561 EnableLogAccessUsingOnlyResourcePermissions *bool `json:"enableLogAccessUsingOnlyResourcePermissions,omitempty"` 1562 1563 // Flag that describes if we want to remove the data after 30 days. 1564 ImmediatePurgeDataOn30Days *bool `json:"immediatePurgeDataOn30Days,omitempty"` 1565} 1566 1567// MarshalJSON implements the json.Marshaller interface for type WorkspaceFeatures. 1568func (w WorkspaceFeatures) MarshalJSON() ([]byte, error) { 1569 objectMap := make(map[string]interface{}) 1570 populate(objectMap, "clusterResourceId", w.ClusterResourceID) 1571 populate(objectMap, "disableLocalAuth", w.DisableLocalAuth) 1572 populate(objectMap, "enableDataExport", w.EnableDataExport) 1573 populate(objectMap, "enableLogAccessUsingOnlyResourcePermissions", w.EnableLogAccessUsingOnlyResourcePermissions) 1574 populate(objectMap, "immediatePurgeDataOn30Days", w.ImmediatePurgeDataOn30Days) 1575 if w.AdditionalProperties != nil { 1576 for key, val := range w.AdditionalProperties { 1577 objectMap[key] = val 1578 } 1579 } 1580 return json.Marshal(objectMap) 1581} 1582 1583// UnmarshalJSON implements the json.Unmarshaller interface for type WorkspaceFeatures. 1584func (w *WorkspaceFeatures) UnmarshalJSON(data []byte) error { 1585 var rawMsg map[string]json.RawMessage 1586 if err := json.Unmarshal(data, &rawMsg); err != nil { 1587 return err 1588 } 1589 for key, val := range rawMsg { 1590 var err error 1591 switch key { 1592 case "clusterResourceId": 1593 err = unpopulate(val, &w.ClusterResourceID) 1594 delete(rawMsg, key) 1595 case "disableLocalAuth": 1596 err = unpopulate(val, &w.DisableLocalAuth) 1597 delete(rawMsg, key) 1598 case "enableDataExport": 1599 err = unpopulate(val, &w.EnableDataExport) 1600 delete(rawMsg, key) 1601 case "enableLogAccessUsingOnlyResourcePermissions": 1602 err = unpopulate(val, &w.EnableLogAccessUsingOnlyResourcePermissions) 1603 delete(rawMsg, key) 1604 case "immediatePurgeDataOn30Days": 1605 err = unpopulate(val, &w.ImmediatePurgeDataOn30Days) 1606 delete(rawMsg, key) 1607 default: 1608 if w.AdditionalProperties == nil { 1609 w.AdditionalProperties = map[string]interface{}{} 1610 } 1611 if val != nil { 1612 var aux interface{} 1613 err = json.Unmarshal(val, &aux) 1614 w.AdditionalProperties[key] = aux 1615 } 1616 delete(rawMsg, key) 1617 } 1618 if err != nil { 1619 return err 1620 } 1621 } 1622 return nil 1623} 1624 1625// WorkspaceListManagementGroupsResult - The list workspace management groups operation response. 1626type WorkspaceListManagementGroupsResult struct { 1627 // Gets or sets a list of management groups attached to the workspace. 1628 Value []*ManagementGroup `json:"value,omitempty"` 1629} 1630 1631// MarshalJSON implements the json.Marshaller interface for type WorkspaceListManagementGroupsResult. 1632func (w WorkspaceListManagementGroupsResult) MarshalJSON() ([]byte, error) { 1633 objectMap := make(map[string]interface{}) 1634 populate(objectMap, "value", w.Value) 1635 return json.Marshal(objectMap) 1636} 1637 1638// WorkspaceListResult - The list workspaces operation response. 1639type WorkspaceListResult struct { 1640 // A list of workspaces. 1641 Value []*Workspace `json:"value,omitempty"` 1642} 1643 1644// MarshalJSON implements the json.Marshaller interface for type WorkspaceListResult. 1645func (w WorkspaceListResult) MarshalJSON() ([]byte, error) { 1646 objectMap := make(map[string]interface{}) 1647 populate(objectMap, "value", w.Value) 1648 return json.Marshal(objectMap) 1649} 1650 1651// WorkspaceListUsagesResult - The list workspace usages operation response. 1652type WorkspaceListUsagesResult struct { 1653 // Gets or sets a list of usage metrics for a workspace. 1654 Value []*UsageMetric `json:"value,omitempty"` 1655} 1656 1657// MarshalJSON implements the json.Marshaller interface for type WorkspaceListUsagesResult. 1658func (w WorkspaceListUsagesResult) MarshalJSON() ([]byte, error) { 1659 objectMap := make(map[string]interface{}) 1660 populate(objectMap, "value", w.Value) 1661 return json.Marshal(objectMap) 1662} 1663 1664// WorkspacePatch - The top level Workspace resource container. 1665type WorkspacePatch struct { 1666 AzureEntityResource 1667 // Workspace properties. 1668 Properties *WorkspaceProperties `json:"properties,omitempty"` 1669 1670 // Resource tags. Optional. 1671 Tags map[string]*string `json:"tags,omitempty"` 1672} 1673 1674// MarshalJSON implements the json.Marshaller interface for type WorkspacePatch. 1675func (w WorkspacePatch) MarshalJSON() ([]byte, error) { 1676 objectMap := w.AzureEntityResource.marshalInternal() 1677 populate(objectMap, "properties", w.Properties) 1678 populate(objectMap, "tags", w.Tags) 1679 return json.Marshal(objectMap) 1680} 1681 1682// WorkspaceProperties - Workspace properties. 1683type WorkspaceProperties struct { 1684 // Workspace features. 1685 Features *WorkspaceFeatures `json:"features,omitempty"` 1686 1687 // Indicates whether customer managed storage is mandatory for query management. 1688 ForceCmkForQuery *bool `json:"forceCmkForQuery,omitempty"` 1689 1690 // The provisioning state of the workspace. 1691 ProvisioningState *WorkspaceEntityStatus `json:"provisioningState,omitempty"` 1692 1693 // The network access type for accessing Log Analytics ingestion. 1694 PublicNetworkAccessForIngestion *PublicNetworkAccessType `json:"publicNetworkAccessForIngestion,omitempty"` 1695 1696 // The network access type for accessing Log Analytics query. 1697 PublicNetworkAccessForQuery *PublicNetworkAccessType `json:"publicNetworkAccessForQuery,omitempty"` 1698 1699 // The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers documentation for details. 1700 RetentionInDays *int32 `json:"retentionInDays,omitempty"` 1701 1702 // The SKU of the workspace. 1703 SKU *WorkspaceSKU `json:"sku,omitempty"` 1704 1705 // The daily volume cap for ingestion. 1706 WorkspaceCapping *WorkspaceCapping `json:"workspaceCapping,omitempty"` 1707 1708 // READ-ONLY; Workspace creation date. 1709 CreatedDate *string `json:"createdDate,omitempty" azure:"ro"` 1710 1711 // READ-ONLY; This is a read-only property. Represents the ID associated with the workspace. 1712 CustomerID *string `json:"customerId,omitempty" azure:"ro"` 1713 1714 // READ-ONLY; Workspace modification date. 1715 ModifiedDate *string `json:"modifiedDate,omitempty" azure:"ro"` 1716 1717 // READ-ONLY; List of linked private link scope resources. 1718 PrivateLinkScopedResources []*PrivateLinkScopedResource `json:"privateLinkScopedResources,omitempty" azure:"ro"` 1719} 1720 1721// MarshalJSON implements the json.Marshaller interface for type WorkspaceProperties. 1722func (w WorkspaceProperties) MarshalJSON() ([]byte, error) { 1723 objectMap := make(map[string]interface{}) 1724 populate(objectMap, "createdDate", w.CreatedDate) 1725 populate(objectMap, "customerId", w.CustomerID) 1726 populate(objectMap, "features", w.Features) 1727 populate(objectMap, "forceCmkForQuery", w.ForceCmkForQuery) 1728 populate(objectMap, "modifiedDate", w.ModifiedDate) 1729 populate(objectMap, "privateLinkScopedResources", w.PrivateLinkScopedResources) 1730 populate(objectMap, "provisioningState", w.ProvisioningState) 1731 populate(objectMap, "publicNetworkAccessForIngestion", w.PublicNetworkAccessForIngestion) 1732 populate(objectMap, "publicNetworkAccessForQuery", w.PublicNetworkAccessForQuery) 1733 populate(objectMap, "retentionInDays", w.RetentionInDays) 1734 populate(objectMap, "sku", w.SKU) 1735 populate(objectMap, "workspaceCapping", w.WorkspaceCapping) 1736 return json.Marshal(objectMap) 1737} 1738 1739// WorkspacePurgeBody - Describes the body of a purge request for an App Insights Workspace 1740type WorkspacePurgeBody struct { 1741 // REQUIRED; The set of columns and filters (queries) to run over them to purge the resulting data. 1742 Filters []*WorkspacePurgeBodyFilters `json:"filters,omitempty"` 1743 1744 // REQUIRED; Table from which to purge data. 1745 Table *string `json:"table,omitempty"` 1746} 1747 1748// MarshalJSON implements the json.Marshaller interface for type WorkspacePurgeBody. 1749func (w WorkspacePurgeBody) MarshalJSON() ([]byte, error) { 1750 objectMap := make(map[string]interface{}) 1751 populate(objectMap, "filters", w.Filters) 1752 populate(objectMap, "table", w.Table) 1753 return json.Marshal(objectMap) 1754} 1755 1756// WorkspacePurgeBodyFilters - User-defined filters to return data which will be purged from the table. 1757type WorkspacePurgeBodyFilters struct { 1758 // The column of the table over which the given query should run 1759 Column *string `json:"column,omitempty"` 1760 1761 // When filtering over custom dimensions, this key will be used as the name of the custom dimension. 1762 Key *string `json:"key,omitempty"` 1763 1764 // A query operator to evaluate over the provided column and value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, and have the same 1765 // behavior as they would in a KQL query. 1766 Operator *string `json:"operator,omitempty"` 1767 1768 // the value for the operator to function over. This can be a number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of values. 1769 Value interface{} `json:"value,omitempty"` 1770} 1771 1772// WorkspacePurgeGetPurgeStatusOptions contains the optional parameters for the WorkspacePurge.GetPurgeStatus method. 1773type WorkspacePurgeGetPurgeStatusOptions struct { 1774 // placeholder for future optional parameters 1775} 1776 1777// WorkspacePurgePurgeOptions contains the optional parameters for the WorkspacePurge.Purge method. 1778type WorkspacePurgePurgeOptions struct { 1779 // placeholder for future optional parameters 1780} 1781 1782// WorkspacePurgeResponse - Response containing operationId for a specific purge action. 1783type WorkspacePurgeResponse struct { 1784 // REQUIRED; Id to use when querying for status for a particular purge operation. 1785 OperationID *string `json:"operationId,omitempty"` 1786} 1787 1788// WorkspacePurgeStatusResponse - Response containing status for a specific purge operation. 1789type WorkspacePurgeStatusResponse struct { 1790 // REQUIRED; Status of the operation represented by the requested Id. 1791 Status *PurgeState `json:"status,omitempty"` 1792} 1793 1794// WorkspaceSKU - The SKU (tier) of a workspace. 1795type WorkspaceSKU struct { 1796 // REQUIRED; The name of the SKU. 1797 Name *WorkspaceSKUNameEnum `json:"name,omitempty"` 1798 1799 // The capacity reservation level for this workspace, when CapacityReservation sku is selected. 1800 CapacityReservationLevel *int32 `json:"capacityReservationLevel,omitempty"` 1801 1802 // READ-ONLY; The last time when the sku was updated. 1803 LastSKUUpdate *string `json:"lastSkuUpdate,omitempty" azure:"ro"` 1804} 1805 1806// WorkspacesBeginCreateOrUpdateOptions contains the optional parameters for the Workspaces.BeginCreateOrUpdate method. 1807type WorkspacesBeginCreateOrUpdateOptions struct { 1808 // placeholder for future optional parameters 1809} 1810 1811// WorkspacesBeginDeleteOptions contains the optional parameters for the Workspaces.BeginDelete method. 1812type WorkspacesBeginDeleteOptions struct { 1813 // Deletes the workspace without the recovery option. A workspace that was deleted with this flag cannot be recovered. 1814 Force *bool 1815} 1816 1817// WorkspacesGetOptions contains the optional parameters for the Workspaces.Get method. 1818type WorkspacesGetOptions struct { 1819 // placeholder for future optional parameters 1820} 1821 1822// WorkspacesListByResourceGroupOptions contains the optional parameters for the Workspaces.ListByResourceGroup method. 1823type WorkspacesListByResourceGroupOptions struct { 1824 // placeholder for future optional parameters 1825} 1826 1827// WorkspacesListOptions contains the optional parameters for the Workspaces.List method. 1828type WorkspacesListOptions struct { 1829 // placeholder for future optional parameters 1830} 1831 1832// WorkspacesUpdateOptions contains the optional parameters for the Workspaces.Update method. 1833type WorkspacesUpdateOptions struct { 1834 // placeholder for future optional parameters 1835} 1836 1837func populate(m map[string]interface{}, k string, v interface{}) { 1838 if v == nil { 1839 return 1840 } else if azcore.IsNullValue(v) { 1841 m[k] = nil 1842 } else if !reflect.ValueOf(v).IsNil() { 1843 m[k] = v 1844 } 1845} 1846 1847func unpopulate(data json.RawMessage, v interface{}) error { 1848 if data == nil { 1849 return nil 1850 } 1851 return json.Unmarshal(data, v) 1852} 1853