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