1package operationalinsights 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// 6// Code generated by Microsoft (R) AutoRest Code Generator. 7// Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9import ( 10 "context" 11 "encoding/json" 12 "github.com/Azure/go-autorest/autorest" 13 "github.com/Azure/go-autorest/autorest/date" 14 "github.com/Azure/go-autorest/autorest/to" 15 "github.com/Azure/go-autorest/tracing" 16 "net/http" 17) 18 19// The package's fully qualified name. 20const fqdn = "github.com/Azure/azure-sdk-for-go/services/operationalinsights/mgmt/2015-03-20/operationalinsights" 21 22// AvailableServiceTier service Tier details. 23type AvailableServiceTier struct { 24 // ServiceTier - READ-ONLY; The name of the Service Tier. Possible values include: 'Free', 'Standard', 'Premium', 'PerNode', 'PerGB2018', 'Standalone', 'CapacityReservation' 25 ServiceTier SkuNameEnum `json:"ServiceTier,omitempty"` 26 // Enabled - READ-ONLY; True if the Service Tier is enabled for the workspace. 27 Enabled *bool `json:"Enabled,omitempty"` 28 // MinimumRetention - READ-ONLY; The minimum retention for the Service Tier, in days. 29 MinimumRetention *int64 `json:"MinimumRetention,omitempty"` 30 // MaximumRetention - READ-ONLY; The maximum retention for the Service Tier, in days. 31 MaximumRetention *int64 `json:"MaximumRetention,omitempty"` 32 // DefaultRetention - READ-ONLY; The default retention for the Service Tier, in days. 33 DefaultRetention *int64 `json:"DefaultRetention,omitempty"` 34 // CapacityReservationLevel - READ-ONLY; The capacity reservation level in GB per day. Returned for the Capacity Reservation Service Tier. 35 CapacityReservationLevel *int64 `json:"CapacityReservationLevel,omitempty"` 36 // LastSkuUpdate - READ-ONLY; Time when the sku was last updated for the workspace. Returned for the Capacity Reservation Service Tier. 37 LastSkuUpdate *date.Time `json:"LastSkuUpdate,omitempty"` 38} 39 40// MarshalJSON is the custom marshaler for AvailableServiceTier. 41func (astVar AvailableServiceTier) MarshalJSON() ([]byte, error) { 42 objectMap := make(map[string]interface{}) 43 return json.Marshal(objectMap) 44} 45 46// CoreSummary the core summary of a search. 47type CoreSummary struct { 48 // Status - The status of a core summary. 49 Status *string `json:"status,omitempty"` 50 // NumberOfDocuments - The number of documents of a core summary. 51 NumberOfDocuments *int64 `json:"numberOfDocuments,omitempty"` 52} 53 54// LinkTarget metadata for a workspace that isn't linked to an Azure subscription. 55type LinkTarget struct { 56 // CustomerID - The GUID that uniquely identifies the workspace. 57 CustomerID *string `json:"customerId,omitempty"` 58 // DisplayName - The display name of the workspace. 59 DisplayName *string `json:"accountName,omitempty"` 60 // WorkspaceName - The DNS valid workspace name. 61 WorkspaceName *string `json:"workspaceName,omitempty"` 62 // Location - The location of the workspace. 63 Location *string `json:"location,omitempty"` 64} 65 66// ListAvailableServiceTier ... 67type ListAvailableServiceTier struct { 68 autorest.Response `json:"-"` 69 Value *[]AvailableServiceTier `json:"value,omitempty"` 70} 71 72// ListLinkTarget ... 73type ListLinkTarget struct { 74 autorest.Response `json:"-"` 75 Value *[]LinkTarget `json:"value,omitempty"` 76} 77 78// Operation supported operation of OperationalInsights resource provider. 79type Operation struct { 80 // Name - Operation name: {provider}/{resource}/{operation} 81 Name *string `json:"name,omitempty"` 82 // Display - Display metadata associated with the operation. 83 Display *OperationDisplay `json:"display,omitempty"` 84} 85 86// OperationDisplay display metadata associated with the operation. 87type OperationDisplay struct { 88 // Provider - Service provider: OperationalInsights. 89 Provider *string `json:"provider,omitempty"` 90 // Resource - Resource on which the operation is performed etc. 91 Resource *string `json:"resource,omitempty"` 92 // Operation - Type of operation: get, read, delete, etc. 93 Operation *string `json:"operation,omitempty"` 94} 95 96// OperationListResult result of the request to list OperationalInsights operations. 97type OperationListResult struct { 98 autorest.Response `json:"-"` 99 // Value - List of operations supported by the OperationalInsights resource provider. 100 Value *[]Operation `json:"value,omitempty"` 101} 102 103// ProxyResource common properties of proxy resource. 104type ProxyResource struct { 105 // ID - READ-ONLY; Resource ID. 106 ID *string `json:"id,omitempty"` 107 // Name - READ-ONLY; Resource name. 108 Name *string `json:"name,omitempty"` 109 // Type - READ-ONLY; Resource type. 110 Type *string `json:"type,omitempty"` 111 // Tags - Resource tags 112 Tags map[string]*string `json:"tags"` 113} 114 115// MarshalJSON is the custom marshaler for ProxyResource. 116func (pr ProxyResource) MarshalJSON() ([]byte, error) { 117 objectMap := make(map[string]interface{}) 118 if pr.Tags != nil { 119 objectMap["tags"] = pr.Tags 120 } 121 return json.Marshal(objectMap) 122} 123 124// Resource the resource definition. 125type Resource struct { 126 // ID - READ-ONLY; Resource Id 127 ID *string `json:"id,omitempty"` 128 // Name - READ-ONLY; Resource name 129 Name *string `json:"name,omitempty"` 130 // Type - READ-ONLY; Resource type 131 Type *string `json:"type,omitempty"` 132 // Location - Resource location 133 Location *string `json:"location,omitempty"` 134 // Tags - Resource tags 135 Tags map[string]*string `json:"tags"` 136} 137 138// MarshalJSON is the custom marshaler for Resource. 139func (r Resource) MarshalJSON() ([]byte, error) { 140 objectMap := make(map[string]interface{}) 141 if r.Location != nil { 142 objectMap["location"] = r.Location 143 } 144 if r.Tags != nil { 145 objectMap["tags"] = r.Tags 146 } 147 return json.Marshal(objectMap) 148} 149 150// SavedSearch value object for saved search results. 151type SavedSearch struct { 152 autorest.Response `json:"-"` 153 // ID - READ-ONLY; The id of the saved search. 154 ID *string `json:"id,omitempty"` 155 // Name - READ-ONLY; The name of the saved search. 156 Name *string `json:"name,omitempty"` 157 // Type - READ-ONLY; The type of the saved search. 158 Type *string `json:"type,omitempty"` 159 // ETag - The ETag of the saved search. 160 ETag *string `json:"eTag,omitempty"` 161 // SavedSearchProperties - The properties of the saved search. 162 *SavedSearchProperties `json:"properties,omitempty"` 163} 164 165// MarshalJSON is the custom marshaler for SavedSearch. 166func (ss SavedSearch) MarshalJSON() ([]byte, error) { 167 objectMap := make(map[string]interface{}) 168 if ss.ETag != nil { 169 objectMap["eTag"] = ss.ETag 170 } 171 if ss.SavedSearchProperties != nil { 172 objectMap["properties"] = ss.SavedSearchProperties 173 } 174 return json.Marshal(objectMap) 175} 176 177// UnmarshalJSON is the custom unmarshaler for SavedSearch struct. 178func (ss *SavedSearch) UnmarshalJSON(body []byte) error { 179 var m map[string]*json.RawMessage 180 err := json.Unmarshal(body, &m) 181 if err != nil { 182 return err 183 } 184 for k, v := range m { 185 switch k { 186 case "id": 187 if v != nil { 188 var ID string 189 err = json.Unmarshal(*v, &ID) 190 if err != nil { 191 return err 192 } 193 ss.ID = &ID 194 } 195 case "name": 196 if v != nil { 197 var name string 198 err = json.Unmarshal(*v, &name) 199 if err != nil { 200 return err 201 } 202 ss.Name = &name 203 } 204 case "type": 205 if v != nil { 206 var typeVar string 207 err = json.Unmarshal(*v, &typeVar) 208 if err != nil { 209 return err 210 } 211 ss.Type = &typeVar 212 } 213 case "eTag": 214 if v != nil { 215 var eTag string 216 err = json.Unmarshal(*v, &eTag) 217 if err != nil { 218 return err 219 } 220 ss.ETag = &eTag 221 } 222 case "properties": 223 if v != nil { 224 var savedSearchProperties SavedSearchProperties 225 err = json.Unmarshal(*v, &savedSearchProperties) 226 if err != nil { 227 return err 228 } 229 ss.SavedSearchProperties = &savedSearchProperties 230 } 231 } 232 } 233 234 return nil 235} 236 237// SavedSearchesListResult the saved search list operation response. 238type SavedSearchesListResult struct { 239 autorest.Response `json:"-"` 240 // Metadata - Unused legacy property, kept here for backward compatibility. 241 Metadata *SearchMetadata `json:"__metadata,omitempty"` 242 // Value - The array of result values. 243 Value *[]SavedSearch `json:"value,omitempty"` 244} 245 246// SavedSearchProperties value object for saved search results. 247type SavedSearchProperties struct { 248 // Category - The category of the saved search. This helps the user to find a saved search faster. 249 Category *string `json:"category,omitempty"` 250 // DisplayName - Saved search display name. 251 DisplayName *string `json:"displayName,omitempty"` 252 // Query - The query expression for the saved search. Please see https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-search-reference for reference. 253 Query *string `json:"query,omitempty"` 254 // Version - The version number of the query language. The current version is 2 and is the default. 255 Version *int64 `json:"version,omitempty"` 256 // Tags - The tags attached to the saved search. 257 Tags *[]Tag `json:"tags,omitempty"` 258} 259 260// SearchGetSchemaResponse the get schema operation response. 261type SearchGetSchemaResponse struct { 262 autorest.Response `json:"-"` 263 // Metadata - The metadata from search results. 264 Metadata *SearchMetadata `json:"metadata,omitempty"` 265 // Value - The array of result values. 266 Value *[]SearchSchemaValue `json:"value,omitempty"` 267} 268 269// SearchMetadata metadata for search results. 270type SearchMetadata struct { 271 // SearchID - The request id of the search. 272 SearchID *string `json:"requestId,omitempty"` 273 // ResultType - The search result type. 274 ResultType *string `json:"resultType,omitempty"` 275 // Total - The total number of search results. 276 Total *int64 `json:"total,omitempty"` 277 // Top - The number of top search results. 278 Top *int64 `json:"top,omitempty"` 279 // ID - The id of the search results request. 280 ID *string `json:"id,omitempty"` 281 // CoreSummaries - The core summaries. 282 CoreSummaries *[]CoreSummary `json:"coreSummaries,omitempty"` 283 // Status - The status of the search results. 284 Status *string `json:"status,omitempty"` 285 // StartTime - The start time for the search. 286 StartTime *date.Time `json:"startTime,omitempty"` 287 // LastUpdated - The time of last update. 288 LastUpdated *date.Time `json:"lastUpdated,omitempty"` 289 // ETag - The ETag of the search results. 290 ETag *string `json:"eTag,omitempty"` 291 // Sort - How the results are sorted. 292 Sort *[]SearchSort `json:"sort,omitempty"` 293 // RequestTime - The request time. 294 RequestTime *int64 `json:"requestTime,omitempty"` 295 // AggregatedValueField - The aggregated value field. 296 AggregatedValueField *string `json:"aggregatedValueField,omitempty"` 297 // AggregatedGroupingFields - The aggregated grouping fields. 298 AggregatedGroupingFields *string `json:"aggregatedGroupingFields,omitempty"` 299 // Sum - The sum of all aggregates returned in the result set. 300 Sum *int64 `json:"sum,omitempty"` 301 // Max - The max of all aggregates returned in the result set. 302 Max *int64 `json:"max,omitempty"` 303 // Schema - The schema. 304 Schema *SearchMetadataSchema `json:"schema,omitempty"` 305} 306 307// SearchMetadataSchema schema metadata for search. 308type SearchMetadataSchema struct { 309 // Name - The name of the metadata schema. 310 Name *string `json:"name,omitempty"` 311 // Version - The version of the metadata schema. 312 Version *int32 `json:"version,omitempty"` 313} 314 315// SearchSchemaValue value object for schema results. 316type SearchSchemaValue struct { 317 // Name - The name of the schema. 318 Name *string `json:"name,omitempty"` 319 // DisplayName - The display name of the schema. 320 DisplayName *string `json:"displayName,omitempty"` 321 // Type - The type. 322 Type *string `json:"type,omitempty"` 323 // Indexed - The boolean that indicates the field is searchable as free text. 324 Indexed *bool `json:"indexed,omitempty"` 325 // Stored - The boolean that indicates whether or not the field is stored. 326 Stored *bool `json:"stored,omitempty"` 327 // Facet - The boolean that indicates whether or not the field is a facet. 328 Facet *bool `json:"facet,omitempty"` 329 // OwnerType - The array of workflows containing the field. 330 OwnerType *[]string `json:"ownerType,omitempty"` 331} 332 333// SearchSort the sort parameters for search. 334type SearchSort struct { 335 // Name - The name of the field the search query is sorted on. 336 Name *string `json:"name,omitempty"` 337 // Order - The sort order of the search. Possible values include: 'Asc', 'Desc' 338 Order SearchSortEnum `json:"order,omitempty"` 339} 340 341// SharedKeys the shared keys for a workspace. 342type SharedKeys struct { 343 autorest.Response `json:"-"` 344 // PrimarySharedKey - The primary shared key of a workspace. 345 PrimarySharedKey *string `json:"primarySharedKey,omitempty"` 346 // SecondarySharedKey - The secondary shared key of a workspace. 347 SecondarySharedKey *string `json:"secondarySharedKey,omitempty"` 348} 349 350// StorageAccount describes a storage account connection. 351type StorageAccount struct { 352 // ID - The Azure Resource Manager ID of the storage account resource. 353 ID *string `json:"id,omitempty"` 354 // Key - The storage account key. 355 Key *string `json:"key,omitempty"` 356} 357 358// StorageInsight the top level storage insight resource container. 359type StorageInsight struct { 360 autorest.Response `json:"-"` 361 // StorageInsightProperties - Storage insight properties. 362 *StorageInsightProperties `json:"properties,omitempty"` 363 // ETag - The ETag of the storage insight. 364 ETag *string `json:"eTag,omitempty"` 365 // ID - READ-ONLY; Resource ID. 366 ID *string `json:"id,omitempty"` 367 // Name - READ-ONLY; Resource name. 368 Name *string `json:"name,omitempty"` 369 // Type - READ-ONLY; Resource type. 370 Type *string `json:"type,omitempty"` 371 // Tags - Resource tags 372 Tags map[string]*string `json:"tags"` 373} 374 375// MarshalJSON is the custom marshaler for StorageInsight. 376func (si StorageInsight) MarshalJSON() ([]byte, error) { 377 objectMap := make(map[string]interface{}) 378 if si.StorageInsightProperties != nil { 379 objectMap["properties"] = si.StorageInsightProperties 380 } 381 if si.ETag != nil { 382 objectMap["eTag"] = si.ETag 383 } 384 if si.Tags != nil { 385 objectMap["tags"] = si.Tags 386 } 387 return json.Marshal(objectMap) 388} 389 390// UnmarshalJSON is the custom unmarshaler for StorageInsight struct. 391func (si *StorageInsight) UnmarshalJSON(body []byte) error { 392 var m map[string]*json.RawMessage 393 err := json.Unmarshal(body, &m) 394 if err != nil { 395 return err 396 } 397 for k, v := range m { 398 switch k { 399 case "properties": 400 if v != nil { 401 var storageInsightProperties StorageInsightProperties 402 err = json.Unmarshal(*v, &storageInsightProperties) 403 if err != nil { 404 return err 405 } 406 si.StorageInsightProperties = &storageInsightProperties 407 } 408 case "eTag": 409 if v != nil { 410 var eTag string 411 err = json.Unmarshal(*v, &eTag) 412 if err != nil { 413 return err 414 } 415 si.ETag = &eTag 416 } 417 case "id": 418 if v != nil { 419 var ID string 420 err = json.Unmarshal(*v, &ID) 421 if err != nil { 422 return err 423 } 424 si.ID = &ID 425 } 426 case "name": 427 if v != nil { 428 var name string 429 err = json.Unmarshal(*v, &name) 430 if err != nil { 431 return err 432 } 433 si.Name = &name 434 } 435 case "type": 436 if v != nil { 437 var typeVar string 438 err = json.Unmarshal(*v, &typeVar) 439 if err != nil { 440 return err 441 } 442 si.Type = &typeVar 443 } 444 case "tags": 445 if v != nil { 446 var tags map[string]*string 447 err = json.Unmarshal(*v, &tags) 448 if err != nil { 449 return err 450 } 451 si.Tags = tags 452 } 453 } 454 } 455 456 return nil 457} 458 459// StorageInsightListResult the list storage insights operation response. 460type StorageInsightListResult struct { 461 autorest.Response `json:"-"` 462 // Value - A list of storage insight items. 463 Value *[]StorageInsight `json:"value,omitempty"` 464 // OdataNextLink - The link (url) to the next page of results. 465 OdataNextLink *string `json:"@odata.nextLink,omitempty"` 466} 467 468// StorageInsightListResultIterator provides access to a complete listing of StorageInsight values. 469type StorageInsightListResultIterator struct { 470 i int 471 page StorageInsightListResultPage 472} 473 474// NextWithContext advances to the next value. If there was an error making 475// the request the iterator does not advance and the error is returned. 476func (iter *StorageInsightListResultIterator) NextWithContext(ctx context.Context) (err error) { 477 if tracing.IsEnabled() { 478 ctx = tracing.StartSpan(ctx, fqdn+"/StorageInsightListResultIterator.NextWithContext") 479 defer func() { 480 sc := -1 481 if iter.Response().Response.Response != nil { 482 sc = iter.Response().Response.Response.StatusCode 483 } 484 tracing.EndSpan(ctx, sc, err) 485 }() 486 } 487 iter.i++ 488 if iter.i < len(iter.page.Values()) { 489 return nil 490 } 491 err = iter.page.NextWithContext(ctx) 492 if err != nil { 493 iter.i-- 494 return err 495 } 496 iter.i = 0 497 return nil 498} 499 500// Next advances to the next value. If there was an error making 501// the request the iterator does not advance and the error is returned. 502// Deprecated: Use NextWithContext() instead. 503func (iter *StorageInsightListResultIterator) Next() error { 504 return iter.NextWithContext(context.Background()) 505} 506 507// NotDone returns true if the enumeration should be started or is not yet complete. 508func (iter StorageInsightListResultIterator) NotDone() bool { 509 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 510} 511 512// Response returns the raw server response from the last page request. 513func (iter StorageInsightListResultIterator) Response() StorageInsightListResult { 514 return iter.page.Response() 515} 516 517// Value returns the current value or a zero-initialized value if the 518// iterator has advanced beyond the end of the collection. 519func (iter StorageInsightListResultIterator) Value() StorageInsight { 520 if !iter.page.NotDone() { 521 return StorageInsight{} 522 } 523 return iter.page.Values()[iter.i] 524} 525 526// Creates a new instance of the StorageInsightListResultIterator type. 527func NewStorageInsightListResultIterator(page StorageInsightListResultPage) StorageInsightListResultIterator { 528 return StorageInsightListResultIterator{page: page} 529} 530 531// IsEmpty returns true if the ListResult contains no values. 532func (silr StorageInsightListResult) IsEmpty() bool { 533 return silr.Value == nil || len(*silr.Value) == 0 534} 535 536// hasNextLink returns true if the NextLink is not empty. 537func (silr StorageInsightListResult) hasNextLink() bool { 538 return silr.OdataNextLink != nil && len(*silr.OdataNextLink) != 0 539} 540 541// storageInsightListResultPreparer prepares a request to retrieve the next set of results. 542// It returns nil if no more results exist. 543func (silr StorageInsightListResult) storageInsightListResultPreparer(ctx context.Context) (*http.Request, error) { 544 if !silr.hasNextLink() { 545 return nil, nil 546 } 547 return autorest.Prepare((&http.Request{}).WithContext(ctx), 548 autorest.AsJSON(), 549 autorest.AsGet(), 550 autorest.WithBaseURL(to.String(silr.OdataNextLink))) 551} 552 553// StorageInsightListResultPage contains a page of StorageInsight values. 554type StorageInsightListResultPage struct { 555 fn func(context.Context, StorageInsightListResult) (StorageInsightListResult, error) 556 silr StorageInsightListResult 557} 558 559// NextWithContext advances to the next page of values. If there was an error making 560// the request the page does not advance and the error is returned. 561func (page *StorageInsightListResultPage) NextWithContext(ctx context.Context) (err error) { 562 if tracing.IsEnabled() { 563 ctx = tracing.StartSpan(ctx, fqdn+"/StorageInsightListResultPage.NextWithContext") 564 defer func() { 565 sc := -1 566 if page.Response().Response.Response != nil { 567 sc = page.Response().Response.Response.StatusCode 568 } 569 tracing.EndSpan(ctx, sc, err) 570 }() 571 } 572 for { 573 next, err := page.fn(ctx, page.silr) 574 if err != nil { 575 return err 576 } 577 page.silr = next 578 if !next.hasNextLink() || !next.IsEmpty() { 579 break 580 } 581 } 582 return nil 583} 584 585// Next advances to the next page of values. If there was an error making 586// the request the page does not advance and the error is returned. 587// Deprecated: Use NextWithContext() instead. 588func (page *StorageInsightListResultPage) Next() error { 589 return page.NextWithContext(context.Background()) 590} 591 592// NotDone returns true if the page enumeration should be started or is not yet complete. 593func (page StorageInsightListResultPage) NotDone() bool { 594 return !page.silr.IsEmpty() 595} 596 597// Response returns the raw server response from the last page request. 598func (page StorageInsightListResultPage) Response() StorageInsightListResult { 599 return page.silr 600} 601 602// Values returns the slice of values for the current page or nil if there are no values. 603func (page StorageInsightListResultPage) Values() []StorageInsight { 604 if page.silr.IsEmpty() { 605 return nil 606 } 607 return *page.silr.Value 608} 609 610// Creates a new instance of the StorageInsightListResultPage type. 611func NewStorageInsightListResultPage(cur StorageInsightListResult, getNextPage func(context.Context, StorageInsightListResult) (StorageInsightListResult, error)) StorageInsightListResultPage { 612 return StorageInsightListResultPage{ 613 fn: getNextPage, 614 silr: cur, 615 } 616} 617 618// StorageInsightProperties storage insight properties. 619type StorageInsightProperties struct { 620 // Containers - The names of the blob containers that the workspace should read 621 Containers *[]string `json:"containers,omitempty"` 622 // Tables - The names of the Azure tables that the workspace should read 623 Tables *[]string `json:"tables,omitempty"` 624 // StorageAccount - The storage account connection details 625 StorageAccount *StorageAccount `json:"storageAccount,omitempty"` 626 // Status - READ-ONLY; The status of the storage insight 627 Status *StorageInsightStatus `json:"status,omitempty"` 628} 629 630// MarshalJSON is the custom marshaler for StorageInsightProperties. 631func (sip StorageInsightProperties) MarshalJSON() ([]byte, error) { 632 objectMap := make(map[string]interface{}) 633 if sip.Containers != nil { 634 objectMap["containers"] = sip.Containers 635 } 636 if sip.Tables != nil { 637 objectMap["tables"] = sip.Tables 638 } 639 if sip.StorageAccount != nil { 640 objectMap["storageAccount"] = sip.StorageAccount 641 } 642 return json.Marshal(objectMap) 643} 644 645// StorageInsightStatus the status of the storage insight. 646type StorageInsightStatus struct { 647 // State - The state of the storage insight connection to the workspace. Possible values include: 'OK', 'ERROR' 648 State StorageInsightState `json:"state,omitempty"` 649 // Description - Description of the state of the storage insight. 650 Description *string `json:"description,omitempty"` 651} 652 653// Tag a tag of a saved search. 654type Tag struct { 655 // Name - The tag name. 656 Name *string `json:"name,omitempty"` 657 // Value - The tag value. 658 Value *string `json:"value,omitempty"` 659} 660 661// WorkspacePurgeBody describes the body of a purge request for an App Insights Workspace 662type WorkspacePurgeBody struct { 663 // Table - Table from which to purge data. 664 Table *string `json:"table,omitempty"` 665 // Filters - The set of columns and filters (queries) to run over them to purge the resulting data. 666 Filters *[]WorkspacePurgeBodyFilters `json:"filters,omitempty"` 667} 668 669// WorkspacePurgeBodyFilters user-defined filters to return data which will be purged from the table. 670type WorkspacePurgeBodyFilters struct { 671 // Column - The column of the table over which the given query should run 672 Column *string `json:"column,omitempty"` 673 // Operator - A query operator to evaluate over the provided column and value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, and have the same behavior as they would in a KQL query. 674 Operator *string `json:"operator,omitempty"` 675 // Value - 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. 676 Value interface{} `json:"value,omitempty"` 677 // Key - When filtering over custom dimensions, this key will be used as the name of the custom dimension. 678 Key *string `json:"key,omitempty"` 679} 680 681// WorkspacePurgeResponse response containing operationId for a specific purge action. 682type WorkspacePurgeResponse struct { 683 autorest.Response `json:"-"` 684 // OperationID - Id to use when querying for status for a particular purge operation. 685 OperationID *string `json:"operationId,omitempty"` 686} 687 688// WorkspacePurgeStatusResponse response containing status for a specific purge operation. 689type WorkspacePurgeStatusResponse struct { 690 autorest.Response `json:"-"` 691 // Status - Status of the operation represented by the requested Id. Possible values include: 'Pending', 'Completed' 692 Status PurgeState `json:"status,omitempty"` 693} 694