1package servicefabric
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	"encoding/json"
11	"github.com/Azure/go-autorest/autorest"
12	"github.com/Azure/go-autorest/autorest/date"
13	"github.com/gofrs/uuid"
14)
15
16// The package's fully qualified name.
17const fqdn = "github.com/Azure/azure-sdk-for-go/services/servicefabric/6.3/servicefabric"
18
19// AadMetadata azure Active Directory metadata used for secured connection to cluster.
20type AadMetadata struct {
21	// Authority - The AAD authority url.
22	Authority *string `json:"authority,omitempty"`
23	// Client - The AAD client application Id.
24	Client *string `json:"client,omitempty"`
25	// Cluster - The AAD cluster application Id.
26	Cluster *string `json:"cluster,omitempty"`
27	// Login - The AAD login url.
28	Login *string `json:"login,omitempty"`
29	// Redirect - The client application redirect address.
30	Redirect *string `json:"redirect,omitempty"`
31	// Tenant - The AAD tenant Id.
32	Tenant *string `json:"tenant,omitempty"`
33}
34
35// AadMetadataObject azure Active Directory metadata object used for secured connection to cluster.
36type AadMetadataObject struct {
37	autorest.Response `json:"-"`
38	// Type - The client authentication method.
39	Type *string `json:"type,omitempty"`
40	// Metadata - Azure Active Directory metadata used for secured connection to cluster.
41	Metadata *AadMetadata `json:"metadata,omitempty"`
42}
43
44// AddRemoveIncrementalNamedPartitionScalingMechanism represents a scaling mechanism for adding or removing
45// named partitions of a stateless service. Partition names are in the format '0','1''N-1'
46type AddRemoveIncrementalNamedPartitionScalingMechanism struct {
47	// MinPartitionCount - Minimum number of named partitions of the service.
48	MinPartitionCount *int32 `json:"MinPartitionCount,omitempty"`
49	// MaxPartitionCount - Maximum number of named partitions of the service.
50	MaxPartitionCount *int32 `json:"MaxPartitionCount,omitempty"`
51	// ScaleIncrement - The number of instances to add or remove during a scaling operation.
52	ScaleIncrement *int32 `json:"ScaleIncrement,omitempty"`
53	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
54	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
55}
56
57// MarshalJSON is the custom marshaler for AddRemoveIncrementalNamedPartitionScalingMechanism.
58func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) MarshalJSON() ([]byte, error) {
59	arinpsm.Kind = KindAddRemoveIncrementalNamedPartition
60	objectMap := make(map[string]interface{})
61	if arinpsm.MinPartitionCount != nil {
62		objectMap["MinPartitionCount"] = arinpsm.MinPartitionCount
63	}
64	if arinpsm.MaxPartitionCount != nil {
65		objectMap["MaxPartitionCount"] = arinpsm.MaxPartitionCount
66	}
67	if arinpsm.ScaleIncrement != nil {
68		objectMap["ScaleIncrement"] = arinpsm.ScaleIncrement
69	}
70	if arinpsm.Kind != "" {
71		objectMap["Kind"] = arinpsm.Kind
72	}
73	return json.Marshal(objectMap)
74}
75
76// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
77func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
78	return nil, false
79}
80
81// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
82func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
83	return &arinpsm, true
84}
85
86// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
87func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
88	return nil, false
89}
90
91// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
92func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
93	return &arinpsm, true
94}
95
96// AnalysisEventMetadata metadata about an Analysis Event.
97type AnalysisEventMetadata struct {
98	// Delay - The analysis delay.
99	Delay *string `json:"Delay,omitempty"`
100	// Duration - The duration of analysis.
101	Duration *string `json:"Duration,omitempty"`
102}
103
104// ApplicationBackupConfigurationInfo backup configuration information for a specific Service Fabric
105// application specifying what backup policy is being applied and suspend description, if any.
106type ApplicationBackupConfigurationInfo struct {
107	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
108	ApplicationName *string `json:"ApplicationName,omitempty"`
109	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
110	PolicyName *string `json:"PolicyName,omitempty"`
111	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
112	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
113	// SuspensionInfo - Describes the backup suspension details.
114	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
115	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
116	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
117}
118
119// MarshalJSON is the custom marshaler for ApplicationBackupConfigurationInfo.
120func (abci ApplicationBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
121	abci.Kind = KindBasicBackupConfigurationInfoKindApplication
122	objectMap := make(map[string]interface{})
123	if abci.ApplicationName != nil {
124		objectMap["ApplicationName"] = abci.ApplicationName
125	}
126	if abci.PolicyName != nil {
127		objectMap["PolicyName"] = abci.PolicyName
128	}
129	if abci.PolicyInheritedFrom != "" {
130		objectMap["PolicyInheritedFrom"] = abci.PolicyInheritedFrom
131	}
132	if abci.SuspensionInfo != nil {
133		objectMap["SuspensionInfo"] = abci.SuspensionInfo
134	}
135	if abci.Kind != "" {
136		objectMap["Kind"] = abci.Kind
137	}
138	return json.Marshal(objectMap)
139}
140
141// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
142func (abci ApplicationBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
143	return &abci, true
144}
145
146// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
147func (abci ApplicationBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
148	return nil, false
149}
150
151// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
152func (abci ApplicationBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
153	return nil, false
154}
155
156// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
157func (abci ApplicationBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
158	return nil, false
159}
160
161// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
162func (abci ApplicationBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
163	return &abci, true
164}
165
166// ApplicationBackupEntity identifies the Service Fabric application which is being backed up.
167type ApplicationBackupEntity struct {
168	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
169	ApplicationName *string `json:"ApplicationName,omitempty"`
170	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
171	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
172}
173
174// MarshalJSON is the custom marshaler for ApplicationBackupEntity.
175func (abe ApplicationBackupEntity) MarshalJSON() ([]byte, error) {
176	abe.EntityKind = EntityKindApplication1
177	objectMap := make(map[string]interface{})
178	if abe.ApplicationName != nil {
179		objectMap["ApplicationName"] = abe.ApplicationName
180	}
181	if abe.EntityKind != "" {
182		objectMap["EntityKind"] = abe.EntityKind
183	}
184	return json.Marshal(objectMap)
185}
186
187// AsApplicationBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
188func (abe ApplicationBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
189	return &abe, true
190}
191
192// AsServiceBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
193func (abe ApplicationBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
194	return nil, false
195}
196
197// AsPartitionBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
198func (abe ApplicationBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
199	return nil, false
200}
201
202// AsBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
203func (abe ApplicationBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
204	return nil, false
205}
206
207// AsBasicBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
208func (abe ApplicationBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
209	return &abe, true
210}
211
212// ApplicationCapacityDescription describes capacity information for services of this application. This
213// description can be used for describing the following.
214// - Reserving the capacity for the services on the nodes
215// - Limiting the total number of nodes that services of this application can run on
216// - Limiting the custom capacity metrics to limit the total consumption of this metric by the services of
217// this application
218type ApplicationCapacityDescription struct {
219	// MinimumNodes - The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.
220	MinimumNodes *int64 `json:"MinimumNodes,omitempty"`
221	// MaximumNodes - The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.
222	MaximumNodes *int64 `json:"MaximumNodes,omitempty"`
223	// ApplicationMetrics - List of application capacity metric description.
224	ApplicationMetrics *[]ApplicationMetricDescription `json:"ApplicationMetrics,omitempty"`
225}
226
227// ApplicationCreatedEvent application Created event.
228type ApplicationCreatedEvent struct {
229	// ApplicationTypeName - Application type name.
230	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
231	// ApplicationTypeVersion - Application type version.
232	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
233	// ApplicationDefinitionKind - Application definition kind.
234	ApplicationDefinitionKind *string `json:"ApplicationDefinitionKind,omitempty"`
235	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
236	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
237	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
238	ApplicationID *string `json:"ApplicationId,omitempty"`
239	// EventInstanceID - The identifier for the FabricEvent instance.
240	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
241	// TimeStamp - The time event was logged.
242	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
243	// HasCorrelatedEvents - Shows there is existing related events available.
244	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
245	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
246	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
247}
248
249// MarshalJSON is the custom marshaler for ApplicationCreatedEvent.
250func (ace ApplicationCreatedEvent) MarshalJSON() ([]byte, error) {
251	ace.Kind = KindApplicationCreated
252	objectMap := make(map[string]interface{})
253	if ace.ApplicationTypeName != nil {
254		objectMap["ApplicationTypeName"] = ace.ApplicationTypeName
255	}
256	if ace.ApplicationTypeVersion != nil {
257		objectMap["ApplicationTypeVersion"] = ace.ApplicationTypeVersion
258	}
259	if ace.ApplicationDefinitionKind != nil {
260		objectMap["ApplicationDefinitionKind"] = ace.ApplicationDefinitionKind
261	}
262	if ace.ApplicationID != nil {
263		objectMap["ApplicationId"] = ace.ApplicationID
264	}
265	if ace.EventInstanceID != nil {
266		objectMap["EventInstanceId"] = ace.EventInstanceID
267	}
268	if ace.TimeStamp != nil {
269		objectMap["TimeStamp"] = ace.TimeStamp
270	}
271	if ace.HasCorrelatedEvents != nil {
272		objectMap["HasCorrelatedEvents"] = ace.HasCorrelatedEvents
273	}
274	if ace.Kind != "" {
275		objectMap["Kind"] = ace.Kind
276	}
277	return json.Marshal(objectMap)
278}
279
280// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
281func (ace ApplicationCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
282	return nil, false
283}
284
285// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
286func (ace ApplicationCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
287	return &ace, true
288}
289
290// AsClusterEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
291func (ace ApplicationCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
292	return nil, false
293}
294
295// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
296func (ace ApplicationCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
297	return nil, false
298}
299
300// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
301func (ace ApplicationCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
302	return nil, false
303}
304
305// AsNodeEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
306func (ace ApplicationCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
307	return nil, false
308}
309
310// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
311func (ace ApplicationCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
312	return nil, false
313}
314
315// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
316func (ace ApplicationCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
317	return nil, false
318}
319
320// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
321func (ace ApplicationCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
322	return nil, false
323}
324
325// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
326func (ace ApplicationCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
327	return nil, false
328}
329
330// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
331func (ace ApplicationCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
332	return nil, false
333}
334
335// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
336func (ace ApplicationCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
337	return nil, false
338}
339
340// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
341func (ace ApplicationCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
342	return nil, false
343}
344
345// AsServiceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
346func (ace ApplicationCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
347	return nil, false
348}
349
350// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
351func (ace ApplicationCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
352	return nil, false
353}
354
355// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
356func (ace ApplicationCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
357	return &ace, true
358}
359
360// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
361func (ace ApplicationCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
362	return nil, false
363}
364
365// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
366func (ace ApplicationCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
367	return nil, false
368}
369
370// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
371func (ace ApplicationCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
372	return nil, false
373}
374
375// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
376func (ace ApplicationCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
377	return nil, false
378}
379
380// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
381func (ace ApplicationCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
382	return nil, false
383}
384
385// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
386func (ace ApplicationCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
387	return nil, false
388}
389
390// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
391func (ace ApplicationCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
392	return nil, false
393}
394
395// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
396func (ace ApplicationCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
397	return nil, false
398}
399
400// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
401func (ace ApplicationCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
402	return nil, false
403}
404
405// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
406func (ace ApplicationCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
407	return nil, false
408}
409
410// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
411func (ace ApplicationCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
412	return nil, false
413}
414
415// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
416func (ace ApplicationCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
417	return nil, false
418}
419
420// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
421func (ace ApplicationCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
422	return nil, false
423}
424
425// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
426func (ace ApplicationCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
427	return nil, false
428}
429
430// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
431func (ace ApplicationCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
432	return nil, false
433}
434
435// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
436func (ace ApplicationCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
437	return nil, false
438}
439
440// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
441func (ace ApplicationCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
442	return nil, false
443}
444
445// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
446func (ace ApplicationCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
447	return nil, false
448}
449
450// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
451func (ace ApplicationCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
452	return nil, false
453}
454
455// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
456func (ace ApplicationCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
457	return nil, false
458}
459
460// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
461func (ace ApplicationCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
462	return nil, false
463}
464
465// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
466func (ace ApplicationCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
467	return nil, false
468}
469
470// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
471func (ace ApplicationCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
472	return nil, false
473}
474
475// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
476func (ace ApplicationCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
477	return nil, false
478}
479
480// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
481func (ace ApplicationCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
482	return nil, false
483}
484
485// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
486func (ace ApplicationCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
487	return nil, false
488}
489
490// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
491func (ace ApplicationCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
492	return nil, false
493}
494
495// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
496func (ace ApplicationCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
497	return nil, false
498}
499
500// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
501func (ace ApplicationCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
502	return nil, false
503}
504
505// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
506func (ace ApplicationCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
507	return nil, false
508}
509
510// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
511func (ace ApplicationCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
512	return nil, false
513}
514
515// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
516func (ace ApplicationCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
517	return nil, false
518}
519
520// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
521func (ace ApplicationCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
522	return nil, false
523}
524
525// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
526func (ace ApplicationCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
527	return nil, false
528}
529
530// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
531func (ace ApplicationCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
532	return nil, false
533}
534
535// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
536func (ace ApplicationCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
537	return nil, false
538}
539
540// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
541func (ace ApplicationCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
542	return nil, false
543}
544
545// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
546func (ace ApplicationCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
547	return nil, false
548}
549
550// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
551func (ace ApplicationCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
552	return nil, false
553}
554
555// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
556func (ace ApplicationCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
557	return nil, false
558}
559
560// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
561func (ace ApplicationCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
562	return nil, false
563}
564
565// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
566func (ace ApplicationCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
567	return nil, false
568}
569
570// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
571func (ace ApplicationCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
572	return nil, false
573}
574
575// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
576func (ace ApplicationCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
577	return nil, false
578}
579
580// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
581func (ace ApplicationCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
582	return nil, false
583}
584
585// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
586func (ace ApplicationCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
587	return nil, false
588}
589
590// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
591func (ace ApplicationCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
592	return nil, false
593}
594
595// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
596func (ace ApplicationCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
597	return nil, false
598}
599
600// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
601func (ace ApplicationCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
602	return nil, false
603}
604
605// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
606func (ace ApplicationCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
607	return nil, false
608}
609
610// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
611func (ace ApplicationCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
612	return nil, false
613}
614
615// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
616func (ace ApplicationCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
617	return nil, false
618}
619
620// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
621func (ace ApplicationCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
622	return nil, false
623}
624
625// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
626func (ace ApplicationCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
627	return nil, false
628}
629
630// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
631func (ace ApplicationCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
632	return nil, false
633}
634
635// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
636func (ace ApplicationCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
637	return nil, false
638}
639
640// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
641func (ace ApplicationCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
642	return nil, false
643}
644
645// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
646func (ace ApplicationCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
647	return nil, false
648}
649
650// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
651func (ace ApplicationCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
652	return nil, false
653}
654
655// AsFabricEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
656func (ace ApplicationCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
657	return nil, false
658}
659
660// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
661func (ace ApplicationCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
662	return &ace, true
663}
664
665// ApplicationDeletedEvent application Deleted event.
666type ApplicationDeletedEvent struct {
667	// ApplicationTypeName - Application type name.
668	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
669	// ApplicationTypeVersion - Application type version.
670	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
671	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
672	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
673	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
674	ApplicationID *string `json:"ApplicationId,omitempty"`
675	// EventInstanceID - The identifier for the FabricEvent instance.
676	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
677	// TimeStamp - The time event was logged.
678	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
679	// HasCorrelatedEvents - Shows there is existing related events available.
680	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
681	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
682	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
683}
684
685// MarshalJSON is the custom marshaler for ApplicationDeletedEvent.
686func (ade ApplicationDeletedEvent) MarshalJSON() ([]byte, error) {
687	ade.Kind = KindApplicationDeleted
688	objectMap := make(map[string]interface{})
689	if ade.ApplicationTypeName != nil {
690		objectMap["ApplicationTypeName"] = ade.ApplicationTypeName
691	}
692	if ade.ApplicationTypeVersion != nil {
693		objectMap["ApplicationTypeVersion"] = ade.ApplicationTypeVersion
694	}
695	if ade.ApplicationID != nil {
696		objectMap["ApplicationId"] = ade.ApplicationID
697	}
698	if ade.EventInstanceID != nil {
699		objectMap["EventInstanceId"] = ade.EventInstanceID
700	}
701	if ade.TimeStamp != nil {
702		objectMap["TimeStamp"] = ade.TimeStamp
703	}
704	if ade.HasCorrelatedEvents != nil {
705		objectMap["HasCorrelatedEvents"] = ade.HasCorrelatedEvents
706	}
707	if ade.Kind != "" {
708		objectMap["Kind"] = ade.Kind
709	}
710	return json.Marshal(objectMap)
711}
712
713// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
714func (ade ApplicationDeletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
715	return nil, false
716}
717
718// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
719func (ade ApplicationDeletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
720	return &ade, true
721}
722
723// AsClusterEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
724func (ade ApplicationDeletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
725	return nil, false
726}
727
728// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
729func (ade ApplicationDeletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
730	return nil, false
731}
732
733// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
734func (ade ApplicationDeletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
735	return nil, false
736}
737
738// AsNodeEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
739func (ade ApplicationDeletedEvent) AsNodeEvent() (*NodeEvent, bool) {
740	return nil, false
741}
742
743// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
744func (ade ApplicationDeletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
745	return nil, false
746}
747
748// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
749func (ade ApplicationDeletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
750	return nil, false
751}
752
753// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
754func (ade ApplicationDeletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
755	return nil, false
756}
757
758// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
759func (ade ApplicationDeletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
760	return nil, false
761}
762
763// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
764func (ade ApplicationDeletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
765	return nil, false
766}
767
768// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
769func (ade ApplicationDeletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
770	return nil, false
771}
772
773// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
774func (ade ApplicationDeletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
775	return nil, false
776}
777
778// AsServiceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
779func (ade ApplicationDeletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
780	return nil, false
781}
782
783// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
784func (ade ApplicationDeletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
785	return nil, false
786}
787
788// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
789func (ade ApplicationDeletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
790	return nil, false
791}
792
793// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
794func (ade ApplicationDeletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
795	return &ade, true
796}
797
798// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
799func (ade ApplicationDeletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
800	return nil, false
801}
802
803// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
804func (ade ApplicationDeletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
805	return nil, false
806}
807
808// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
809func (ade ApplicationDeletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
810	return nil, false
811}
812
813// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
814func (ade ApplicationDeletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
815	return nil, false
816}
817
818// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
819func (ade ApplicationDeletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
820	return nil, false
821}
822
823// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
824func (ade ApplicationDeletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
825	return nil, false
826}
827
828// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
829func (ade ApplicationDeletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
830	return nil, false
831}
832
833// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
834func (ade ApplicationDeletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
835	return nil, false
836}
837
838// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
839func (ade ApplicationDeletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
840	return nil, false
841}
842
843// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
844func (ade ApplicationDeletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
845	return nil, false
846}
847
848// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
849func (ade ApplicationDeletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
850	return nil, false
851}
852
853// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
854func (ade ApplicationDeletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
855	return nil, false
856}
857
858// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
859func (ade ApplicationDeletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
860	return nil, false
861}
862
863// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
864func (ade ApplicationDeletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
865	return nil, false
866}
867
868// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
869func (ade ApplicationDeletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
870	return nil, false
871}
872
873// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
874func (ade ApplicationDeletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
875	return nil, false
876}
877
878// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
879func (ade ApplicationDeletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
880	return nil, false
881}
882
883// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
884func (ade ApplicationDeletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
885	return nil, false
886}
887
888// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
889func (ade ApplicationDeletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
890	return nil, false
891}
892
893// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
894func (ade ApplicationDeletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
895	return nil, false
896}
897
898// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
899func (ade ApplicationDeletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
900	return nil, false
901}
902
903// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
904func (ade ApplicationDeletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
905	return nil, false
906}
907
908// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
909func (ade ApplicationDeletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
910	return nil, false
911}
912
913// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
914func (ade ApplicationDeletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
915	return nil, false
916}
917
918// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
919func (ade ApplicationDeletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
920	return nil, false
921}
922
923// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
924func (ade ApplicationDeletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
925	return nil, false
926}
927
928// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
929func (ade ApplicationDeletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
930	return nil, false
931}
932
933// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
934func (ade ApplicationDeletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
935	return nil, false
936}
937
938// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
939func (ade ApplicationDeletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
940	return nil, false
941}
942
943// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
944func (ade ApplicationDeletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
945	return nil, false
946}
947
948// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
949func (ade ApplicationDeletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
950	return nil, false
951}
952
953// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
954func (ade ApplicationDeletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
955	return nil, false
956}
957
958// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
959func (ade ApplicationDeletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
960	return nil, false
961}
962
963// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
964func (ade ApplicationDeletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
965	return nil, false
966}
967
968// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
969func (ade ApplicationDeletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
970	return nil, false
971}
972
973// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
974func (ade ApplicationDeletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
975	return nil, false
976}
977
978// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
979func (ade ApplicationDeletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
980	return nil, false
981}
982
983// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
984func (ade ApplicationDeletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
985	return nil, false
986}
987
988// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
989func (ade ApplicationDeletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
990	return nil, false
991}
992
993// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
994func (ade ApplicationDeletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
995	return nil, false
996}
997
998// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
999func (ade ApplicationDeletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
1000	return nil, false
1001}
1002
1003// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1004func (ade ApplicationDeletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
1005	return nil, false
1006}
1007
1008// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1009func (ade ApplicationDeletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
1010	return nil, false
1011}
1012
1013// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1014func (ade ApplicationDeletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
1015	return nil, false
1016}
1017
1018// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1019func (ade ApplicationDeletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
1020	return nil, false
1021}
1022
1023// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1024func (ade ApplicationDeletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
1025	return nil, false
1026}
1027
1028// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1029func (ade ApplicationDeletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
1030	return nil, false
1031}
1032
1033// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1034func (ade ApplicationDeletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
1035	return nil, false
1036}
1037
1038// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1039func (ade ApplicationDeletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
1040	return nil, false
1041}
1042
1043// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1044func (ade ApplicationDeletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
1045	return nil, false
1046}
1047
1048// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1049func (ade ApplicationDeletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
1050	return nil, false
1051}
1052
1053// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1054func (ade ApplicationDeletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
1055	return nil, false
1056}
1057
1058// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1059func (ade ApplicationDeletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
1060	return nil, false
1061}
1062
1063// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1064func (ade ApplicationDeletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
1065	return nil, false
1066}
1067
1068// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1069func (ade ApplicationDeletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
1070	return nil, false
1071}
1072
1073// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1074func (ade ApplicationDeletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
1075	return nil, false
1076}
1077
1078// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1079func (ade ApplicationDeletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
1080	return nil, false
1081}
1082
1083// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1084func (ade ApplicationDeletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
1085	return nil, false
1086}
1087
1088// AsFabricEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1089func (ade ApplicationDeletedEvent) AsFabricEvent() (*FabricEvent, bool) {
1090	return nil, false
1091}
1092
1093// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
1094func (ade ApplicationDeletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
1095	return &ade, true
1096}
1097
1098// ApplicationDescription describes a Service Fabric application.
1099type ApplicationDescription struct {
1100	// Name - The name of the application, including the 'fabric:' URI scheme.
1101	Name *string `json:"Name,omitempty"`
1102	// TypeName - The application type name as defined in the application manifest.
1103	TypeName *string `json:"TypeName,omitempty"`
1104	// TypeVersion - The version of the application type as defined in the application manifest.
1105	TypeVersion *string `json:"TypeVersion,omitempty"`
1106	// ParameterList - List of application parameters with overridden values from their default values specified in the application manifest.
1107	ParameterList *[]ApplicationParameter `json:"ParameterList,omitempty"`
1108	// ApplicationCapacity - Describes capacity information for services of this application. This description can be used for describing the following.
1109	// - Reserving the capacity for the services on the nodes
1110	// - Limiting the total number of nodes that services of this application can run on
1111	// - Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application
1112	ApplicationCapacity *ApplicationCapacityDescription `json:"ApplicationCapacity,omitempty"`
1113}
1114
1115// BasicApplicationEvent represents the base for all Application Events.
1116type BasicApplicationEvent interface {
1117	AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool)
1118	AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool)
1119	AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool)
1120	AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool)
1121	AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool)
1122	AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool)
1123	AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool)
1124	AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool)
1125	AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool)
1126	AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool)
1127	AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool)
1128	AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool)
1129	AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool)
1130	AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool)
1131	AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool)
1132	AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool)
1133	AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool)
1134	AsApplicationEvent() (*ApplicationEvent, bool)
1135}
1136
1137// ApplicationEvent represents the base for all Application Events.
1138type ApplicationEvent struct {
1139	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
1140	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
1141	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
1142	ApplicationID *string `json:"ApplicationId,omitempty"`
1143	// EventInstanceID - The identifier for the FabricEvent instance.
1144	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
1145	// TimeStamp - The time event was logged.
1146	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
1147	// HasCorrelatedEvents - Shows there is existing related events available.
1148	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
1149	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
1150	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
1151}
1152
1153func unmarshalBasicApplicationEvent(body []byte) (BasicApplicationEvent, error) {
1154	var m map[string]interface{}
1155	err := json.Unmarshal(body, &m)
1156	if err != nil {
1157		return nil, err
1158	}
1159
1160	switch m["Kind"] {
1161	case string(KindApplicationCreated):
1162		var ace ApplicationCreatedEvent
1163		err := json.Unmarshal(body, &ace)
1164		return ace, err
1165	case string(KindApplicationDeleted):
1166		var ade ApplicationDeletedEvent
1167		err := json.Unmarshal(body, &ade)
1168		return ade, err
1169	case string(KindApplicationHealthReportCreated):
1170		var ahrce ApplicationHealthReportCreatedEvent
1171		err := json.Unmarshal(body, &ahrce)
1172		return ahrce, err
1173	case string(KindApplicationHealthReportExpired):
1174		var ahree ApplicationHealthReportExpiredEvent
1175		err := json.Unmarshal(body, &ahree)
1176		return ahree, err
1177	case string(KindApplicationUpgradeComplete):
1178		var auce ApplicationUpgradeCompleteEvent
1179		err := json.Unmarshal(body, &auce)
1180		return auce, err
1181	case string(KindApplicationUpgradeDomainComplete):
1182		var audce ApplicationUpgradeDomainCompleteEvent
1183		err := json.Unmarshal(body, &audce)
1184		return audce, err
1185	case string(KindApplicationUpgradeRollbackComplete):
1186		var aurce ApplicationUpgradeRollbackCompleteEvent
1187		err := json.Unmarshal(body, &aurce)
1188		return aurce, err
1189	case string(KindApplicationUpgradeRollbackStart):
1190		var aurse ApplicationUpgradeRollbackStartEvent
1191		err := json.Unmarshal(body, &aurse)
1192		return aurse, err
1193	case string(KindApplicationUpgradeStart):
1194		var ause ApplicationUpgradeStartEvent
1195		err := json.Unmarshal(body, &ause)
1196		return ause, err
1197	case string(KindDeployedApplicationHealthReportCreated):
1198		var dahrce DeployedApplicationHealthReportCreatedEvent
1199		err := json.Unmarshal(body, &dahrce)
1200		return dahrce, err
1201	case string(KindDeployedApplicationHealthReportExpired):
1202		var dahree DeployedApplicationHealthReportExpiredEvent
1203		err := json.Unmarshal(body, &dahree)
1204		return dahree, err
1205	case string(KindProcessDeactivated):
1206		var pde ProcessDeactivatedEvent
1207		err := json.Unmarshal(body, &pde)
1208		return pde, err
1209	case string(KindContainerDeactivated):
1210		var cde ContainerDeactivatedEvent
1211		err := json.Unmarshal(body, &cde)
1212		return cde, err
1213	case string(KindDeployedServiceHealthReportCreated):
1214		var dshrce DeployedServiceHealthReportCreatedEvent
1215		err := json.Unmarshal(body, &dshrce)
1216		return dshrce, err
1217	case string(KindDeployedServiceHealthReportExpired):
1218		var dshree DeployedServiceHealthReportExpiredEvent
1219		err := json.Unmarshal(body, &dshree)
1220		return dshree, err
1221	case string(KindChaosRestartCodePackageFaultScheduled):
1222		var crcpfse ChaosRestartCodePackageFaultScheduledEvent
1223		err := json.Unmarshal(body, &crcpfse)
1224		return crcpfse, err
1225	case string(KindChaosRestartCodePackageFaultCompleted):
1226		var crcpfce ChaosRestartCodePackageFaultCompletedEvent
1227		err := json.Unmarshal(body, &crcpfce)
1228		return crcpfce, err
1229	default:
1230		var ae ApplicationEvent
1231		err := json.Unmarshal(body, &ae)
1232		return ae, err
1233	}
1234}
1235func unmarshalBasicApplicationEventArray(body []byte) ([]BasicApplicationEvent, error) {
1236	var rawMessages []*json.RawMessage
1237	err := json.Unmarshal(body, &rawMessages)
1238	if err != nil {
1239		return nil, err
1240	}
1241
1242	aeArray := make([]BasicApplicationEvent, len(rawMessages))
1243
1244	for index, rawMessage := range rawMessages {
1245		ae, err := unmarshalBasicApplicationEvent(*rawMessage)
1246		if err != nil {
1247			return nil, err
1248		}
1249		aeArray[index] = ae
1250	}
1251	return aeArray, nil
1252}
1253
1254// MarshalJSON is the custom marshaler for ApplicationEvent.
1255func (ae ApplicationEvent) MarshalJSON() ([]byte, error) {
1256	ae.Kind = KindApplicationEvent
1257	objectMap := make(map[string]interface{})
1258	if ae.ApplicationID != nil {
1259		objectMap["ApplicationId"] = ae.ApplicationID
1260	}
1261	if ae.EventInstanceID != nil {
1262		objectMap["EventInstanceId"] = ae.EventInstanceID
1263	}
1264	if ae.TimeStamp != nil {
1265		objectMap["TimeStamp"] = ae.TimeStamp
1266	}
1267	if ae.HasCorrelatedEvents != nil {
1268		objectMap["HasCorrelatedEvents"] = ae.HasCorrelatedEvents
1269	}
1270	if ae.Kind != "" {
1271		objectMap["Kind"] = ae.Kind
1272	}
1273	return json.Marshal(objectMap)
1274}
1275
1276// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationEvent.
1277func (ae ApplicationEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
1278	return &ae, true
1279}
1280
1281// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationEvent.
1282func (ae ApplicationEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
1283	return &ae, true
1284}
1285
1286// AsClusterEvent is the BasicFabricEvent implementation for ApplicationEvent.
1287func (ae ApplicationEvent) AsClusterEvent() (*ClusterEvent, bool) {
1288	return nil, false
1289}
1290
1291// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationEvent.
1292func (ae ApplicationEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
1293	return nil, false
1294}
1295
1296// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationEvent.
1297func (ae ApplicationEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
1298	return nil, false
1299}
1300
1301// AsNodeEvent is the BasicFabricEvent implementation for ApplicationEvent.
1302func (ae ApplicationEvent) AsNodeEvent() (*NodeEvent, bool) {
1303	return nil, false
1304}
1305
1306// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationEvent.
1307func (ae ApplicationEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
1308	return nil, false
1309}
1310
1311// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
1312func (ae ApplicationEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
1313	return nil, false
1314}
1315
1316// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
1317func (ae ApplicationEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
1318	return nil, false
1319}
1320
1321// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationEvent.
1322func (ae ApplicationEvent) AsPartitionEvent() (*PartitionEvent, bool) {
1323	return nil, false
1324}
1325
1326// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationEvent.
1327func (ae ApplicationEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
1328	return nil, false
1329}
1330
1331// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationEvent.
1332func (ae ApplicationEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
1333	return nil, false
1334}
1335
1336// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationEvent.
1337func (ae ApplicationEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
1338	return nil, false
1339}
1340
1341// AsServiceEvent is the BasicFabricEvent implementation for ApplicationEvent.
1342func (ae ApplicationEvent) AsServiceEvent() (*ServiceEvent, bool) {
1343	return nil, false
1344}
1345
1346// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationEvent.
1347func (ae ApplicationEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
1348	return nil, false
1349}
1350
1351// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1352func (ae ApplicationEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
1353	return nil, false
1354}
1355
1356// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1357func (ae ApplicationEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
1358	return nil, false
1359}
1360
1361// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1362func (ae ApplicationEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
1363	return nil, false
1364}
1365
1366// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1367func (ae ApplicationEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
1368	return nil, false
1369}
1370
1371// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
1372func (ae ApplicationEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
1373	return nil, false
1374}
1375
1376// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
1377func (ae ApplicationEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
1378	return nil, false
1379}
1380
1381// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
1382func (ae ApplicationEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
1383	return nil, false
1384}
1385
1386// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
1387func (ae ApplicationEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
1388	return nil, false
1389}
1390
1391// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
1392func (ae ApplicationEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
1393	return nil, false
1394}
1395
1396// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1397func (ae ApplicationEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
1398	return nil, false
1399}
1400
1401// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1402func (ae ApplicationEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
1403	return nil, false
1404}
1405
1406// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1407func (ae ApplicationEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
1408	return nil, false
1409}
1410
1411// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1412func (ae ApplicationEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
1413	return nil, false
1414}
1415
1416// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1417func (ae ApplicationEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
1418	return nil, false
1419}
1420
1421// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationEvent.
1422func (ae ApplicationEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
1423	return nil, false
1424}
1425
1426// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1427func (ae ApplicationEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
1428	return nil, false
1429}
1430
1431// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationEvent.
1432func (ae ApplicationEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
1433	return nil, false
1434}
1435
1436// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationEvent.
1437func (ae ApplicationEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
1438	return nil, false
1439}
1440
1441// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
1442func (ae ApplicationEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
1443	return nil, false
1444}
1445
1446// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
1447func (ae ApplicationEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
1448	return nil, false
1449}
1450
1451// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationEvent.
1452func (ae ApplicationEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
1453	return nil, false
1454}
1455
1456// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1457func (ae ApplicationEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
1458	return nil, false
1459}
1460
1461// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1462func (ae ApplicationEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
1463	return nil, false
1464}
1465
1466// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationEvent.
1467func (ae ApplicationEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
1468	return nil, false
1469}
1470
1471// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1472func (ae ApplicationEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
1473	return nil, false
1474}
1475
1476// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationEvent.
1477func (ae ApplicationEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
1478	return nil, false
1479}
1480
1481// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1482func (ae ApplicationEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
1483	return nil, false
1484}
1485
1486// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationEvent.
1487func (ae ApplicationEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
1488	return nil, false
1489}
1490
1491// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1492func (ae ApplicationEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
1493	return nil, false
1494}
1495
1496// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1497func (ae ApplicationEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
1498	return nil, false
1499}
1500
1501// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1502func (ae ApplicationEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
1503	return nil, false
1504}
1505
1506// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
1507func (ae ApplicationEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
1508	return nil, false
1509}
1510
1511// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1512func (ae ApplicationEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
1513	return nil, false
1514}
1515
1516// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1517func (ae ApplicationEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
1518	return nil, false
1519}
1520
1521// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1522func (ae ApplicationEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
1523	return nil, false
1524}
1525
1526// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1527func (ae ApplicationEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
1528	return nil, false
1529}
1530
1531// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1532func (ae ApplicationEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
1533	return nil, false
1534}
1535
1536// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1537func (ae ApplicationEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
1538	return nil, false
1539}
1540
1541// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1542func (ae ApplicationEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
1543	return nil, false
1544}
1545
1546// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1547func (ae ApplicationEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
1548	return nil, false
1549}
1550
1551// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1552func (ae ApplicationEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
1553	return nil, false
1554}
1555
1556// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1557func (ae ApplicationEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
1558	return nil, false
1559}
1560
1561// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1562func (ae ApplicationEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
1563	return nil, false
1564}
1565
1566// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
1567func (ae ApplicationEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
1568	return nil, false
1569}
1570
1571// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
1572func (ae ApplicationEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
1573	return nil, false
1574}
1575
1576// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
1577func (ae ApplicationEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
1578	return nil, false
1579}
1580
1581// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
1582func (ae ApplicationEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
1583	return nil, false
1584}
1585
1586// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
1587func (ae ApplicationEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
1588	return nil, false
1589}
1590
1591// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
1592func (ae ApplicationEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
1593	return nil, false
1594}
1595
1596// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1597func (ae ApplicationEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
1598	return nil, false
1599}
1600
1601// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1602func (ae ApplicationEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
1603	return nil, false
1604}
1605
1606// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1607func (ae ApplicationEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
1608	return nil, false
1609}
1610
1611// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
1612func (ae ApplicationEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
1613	return nil, false
1614}
1615
1616// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1617func (ae ApplicationEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
1618	return nil, false
1619}
1620
1621// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
1622func (ae ApplicationEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
1623	return nil, false
1624}
1625
1626// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
1627func (ae ApplicationEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
1628	return nil, false
1629}
1630
1631// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
1632func (ae ApplicationEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
1633	return nil, false
1634}
1635
1636// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
1637func (ae ApplicationEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
1638	return nil, false
1639}
1640
1641// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
1642func (ae ApplicationEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
1643	return nil, false
1644}
1645
1646// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
1647func (ae ApplicationEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
1648	return nil, false
1649}
1650
1651// AsFabricEvent is the BasicFabricEvent implementation for ApplicationEvent.
1652func (ae ApplicationEvent) AsFabricEvent() (*FabricEvent, bool) {
1653	return nil, false
1654}
1655
1656// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationEvent.
1657func (ae ApplicationEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
1658	return &ae, true
1659}
1660
1661// ApplicationHealth represents the health of the application. Contains the application aggregated health
1662// state and the service and deployed application health states.
1663type ApplicationHealth struct {
1664	autorest.Response `json:"-"`
1665	// Name - The name of the application, including the 'fabric:' URI scheme.
1666	Name *string `json:"Name,omitempty"`
1667	// ServiceHealthStates - Service health states as found in the health store.
1668	ServiceHealthStates *[]ServiceHealthState `json:"ServiceHealthStates,omitempty"`
1669	// DeployedApplicationHealthStates - Deployed application health states as found in the health store.
1670	DeployedApplicationHealthStates *[]DeployedApplicationHealthState `json:"DeployedApplicationHealthStates,omitempty"`
1671	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
1672	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
1673	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
1674	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
1675	// HealthEvents - The list of health events reported on the entity.
1676	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
1677	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
1678	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
1679	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
1680	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
1681}
1682
1683// ApplicationHealthEvaluation represents health evaluation for an application, containing information
1684// about the data and the algorithm used by the health store to evaluate health.
1685type ApplicationHealthEvaluation struct {
1686	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
1687	ApplicationName *string `json:"ApplicationName,omitempty"`
1688	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state of the application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation.
1689	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
1690	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
1691	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
1692	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
1693	Description *string `json:"Description,omitempty"`
1694	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
1695	Kind Kind `json:"Kind,omitempty"`
1696}
1697
1698// MarshalJSON is the custom marshaler for ApplicationHealthEvaluation.
1699func (ahe ApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
1700	ahe.Kind = KindApplication
1701	objectMap := make(map[string]interface{})
1702	if ahe.ApplicationName != nil {
1703		objectMap["ApplicationName"] = ahe.ApplicationName
1704	}
1705	if ahe.UnhealthyEvaluations != nil {
1706		objectMap["UnhealthyEvaluations"] = ahe.UnhealthyEvaluations
1707	}
1708	if ahe.AggregatedHealthState != "" {
1709		objectMap["AggregatedHealthState"] = ahe.AggregatedHealthState
1710	}
1711	if ahe.Description != nil {
1712		objectMap["Description"] = ahe.Description
1713	}
1714	if ahe.Kind != "" {
1715		objectMap["Kind"] = ahe.Kind
1716	}
1717	return json.Marshal(objectMap)
1718}
1719
1720// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1721func (ahe ApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
1722	return &ahe, true
1723}
1724
1725// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1726func (ahe ApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
1727	return nil, false
1728}
1729
1730// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1731func (ahe ApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
1732	return nil, false
1733}
1734
1735// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1736func (ahe ApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
1737	return nil, false
1738}
1739
1740// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1741func (ahe ApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
1742	return nil, false
1743}
1744
1745// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1746func (ahe ApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
1747	return nil, false
1748}
1749
1750// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1751func (ahe ApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
1752	return nil, false
1753}
1754
1755// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1756func (ahe ApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
1757	return nil, false
1758}
1759
1760// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1761func (ahe ApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
1762	return nil, false
1763}
1764
1765// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1766func (ahe ApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
1767	return nil, false
1768}
1769
1770// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1771func (ahe ApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
1772	return nil, false
1773}
1774
1775// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1776func (ahe ApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
1777	return nil, false
1778}
1779
1780// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1781func (ahe ApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
1782	return nil, false
1783}
1784
1785// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1786func (ahe ApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
1787	return nil, false
1788}
1789
1790// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1791func (ahe ApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
1792	return nil, false
1793}
1794
1795// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1796func (ahe ApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
1797	return nil, false
1798}
1799
1800// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1801func (ahe ApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
1802	return nil, false
1803}
1804
1805// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1806func (ahe ApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
1807	return nil, false
1808}
1809
1810// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1811func (ahe ApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
1812	return nil, false
1813}
1814
1815// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1816func (ahe ApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
1817	return nil, false
1818}
1819
1820// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1821func (ahe ApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
1822	return nil, false
1823}
1824
1825// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
1826func (ahe ApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
1827	return &ahe, true
1828}
1829
1830// ApplicationHealthPolicies defines the application health policy map used to evaluate the health of an
1831// application or one of its children entities.
1832type ApplicationHealthPolicies struct {
1833	// ApplicationHealthPolicyMap - The wrapper that contains the map with application health policies used to evaluate specific applications in the cluster.
1834	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
1835}
1836
1837// ApplicationHealthPolicy defines a health policy used to evaluate the health of an application or one of
1838// its children entities.
1839type ApplicationHealthPolicy struct {
1840	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors.
1841	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
1842	// MaxPercentUnhealthyDeployedApplications - The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
1843	// The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
1844	// This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.
1845	// The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
1846	MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"`
1847	// DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type.
1848	DefaultServiceTypeHealthPolicy *ServiceTypeHealthPolicy `json:"DefaultServiceTypeHealthPolicy,omitempty"`
1849	// ServiceTypeHealthPolicyMap - The map with service type health policy per service type name. The map is empty by default.
1850	ServiceTypeHealthPolicyMap *[]ServiceTypeHealthPolicyMapItem `json:"ServiceTypeHealthPolicyMap,omitempty"`
1851}
1852
1853// ApplicationHealthPolicyMapItem defines an item in ApplicationHealthPolicyMap.
1854type ApplicationHealthPolicyMapItem struct {
1855	// Key - The key of the application health policy map item. This is the name of the application.
1856	Key *string `json:"Key,omitempty"`
1857	// Value - The value of the application health policy map item. This is the ApplicationHealthPolicy for this application.
1858	Value *ApplicationHealthPolicy `json:"Value,omitempty"`
1859}
1860
1861// ApplicationHealthReportCreatedEvent application Health Report Created event.
1862type ApplicationHealthReportCreatedEvent struct {
1863	// ApplicationInstanceID - Id of Application instance.
1864	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
1865	// SourceID - Id of report source.
1866	SourceID *string `json:"SourceId,omitempty"`
1867	// Property - Describes the property.
1868	Property *string `json:"Property,omitempty"`
1869	// HealthState - Describes the property health state.
1870	HealthState *string `json:"HealthState,omitempty"`
1871	// TimeToLiveMs - Time to live in milli-seconds.
1872	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
1873	// SequenceNumber - Sequence number of report.
1874	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
1875	// Description - Description of report.
1876	Description *string `json:"Description,omitempty"`
1877	// RemoveWhenExpired - Indicates the removal when it expires.
1878	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
1879	// SourceUtcTimestamp - Source time.
1880	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
1881	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
1882	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
1883	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
1884	ApplicationID *string `json:"ApplicationId,omitempty"`
1885	// EventInstanceID - The identifier for the FabricEvent instance.
1886	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
1887	// TimeStamp - The time event was logged.
1888	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
1889	// HasCorrelatedEvents - Shows there is existing related events available.
1890	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
1891	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
1892	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
1893}
1894
1895// MarshalJSON is the custom marshaler for ApplicationHealthReportCreatedEvent.
1896func (ahrce ApplicationHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
1897	ahrce.Kind = KindApplicationHealthReportCreated
1898	objectMap := make(map[string]interface{})
1899	if ahrce.ApplicationInstanceID != nil {
1900		objectMap["ApplicationInstanceId"] = ahrce.ApplicationInstanceID
1901	}
1902	if ahrce.SourceID != nil {
1903		objectMap["SourceId"] = ahrce.SourceID
1904	}
1905	if ahrce.Property != nil {
1906		objectMap["Property"] = ahrce.Property
1907	}
1908	if ahrce.HealthState != nil {
1909		objectMap["HealthState"] = ahrce.HealthState
1910	}
1911	if ahrce.TimeToLiveMs != nil {
1912		objectMap["TimeToLiveMs"] = ahrce.TimeToLiveMs
1913	}
1914	if ahrce.SequenceNumber != nil {
1915		objectMap["SequenceNumber"] = ahrce.SequenceNumber
1916	}
1917	if ahrce.Description != nil {
1918		objectMap["Description"] = ahrce.Description
1919	}
1920	if ahrce.RemoveWhenExpired != nil {
1921		objectMap["RemoveWhenExpired"] = ahrce.RemoveWhenExpired
1922	}
1923	if ahrce.SourceUtcTimestamp != nil {
1924		objectMap["SourceUtcTimestamp"] = ahrce.SourceUtcTimestamp
1925	}
1926	if ahrce.ApplicationID != nil {
1927		objectMap["ApplicationId"] = ahrce.ApplicationID
1928	}
1929	if ahrce.EventInstanceID != nil {
1930		objectMap["EventInstanceId"] = ahrce.EventInstanceID
1931	}
1932	if ahrce.TimeStamp != nil {
1933		objectMap["TimeStamp"] = ahrce.TimeStamp
1934	}
1935	if ahrce.HasCorrelatedEvents != nil {
1936		objectMap["HasCorrelatedEvents"] = ahrce.HasCorrelatedEvents
1937	}
1938	if ahrce.Kind != "" {
1939		objectMap["Kind"] = ahrce.Kind
1940	}
1941	return json.Marshal(objectMap)
1942}
1943
1944// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1945func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
1946	return nil, false
1947}
1948
1949// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1950func (ahrce ApplicationHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
1951	return &ahrce, true
1952}
1953
1954// AsClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1955func (ahrce ApplicationHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
1956	return nil, false
1957}
1958
1959// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1960func (ahrce ApplicationHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
1961	return nil, false
1962}
1963
1964// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1965func (ahrce ApplicationHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
1966	return nil, false
1967}
1968
1969// AsNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1970func (ahrce ApplicationHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
1971	return nil, false
1972}
1973
1974// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1975func (ahrce ApplicationHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
1976	return nil, false
1977}
1978
1979// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1980func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
1981	return nil, false
1982}
1983
1984// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1985func (ahrce ApplicationHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
1986	return nil, false
1987}
1988
1989// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1990func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
1991	return nil, false
1992}
1993
1994// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
1995func (ahrce ApplicationHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
1996	return nil, false
1997}
1998
1999// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2000func (ahrce ApplicationHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
2001	return nil, false
2002}
2003
2004// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2005func (ahrce ApplicationHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
2006	return nil, false
2007}
2008
2009// AsServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2010func (ahrce ApplicationHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
2011	return nil, false
2012}
2013
2014// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2015func (ahrce ApplicationHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
2016	return nil, false
2017}
2018
2019// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2020func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
2021	return nil, false
2022}
2023
2024// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2025func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
2026	return nil, false
2027}
2028
2029// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2030func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
2031	return &ahrce, true
2032}
2033
2034// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2035func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
2036	return nil, false
2037}
2038
2039// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2040func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
2041	return nil, false
2042}
2043
2044// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2045func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
2046	return nil, false
2047}
2048
2049// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2050func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
2051	return nil, false
2052}
2053
2054// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2055func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
2056	return nil, false
2057}
2058
2059// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2060func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
2061	return nil, false
2062}
2063
2064// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2065func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
2066	return nil, false
2067}
2068
2069// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2070func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
2071	return nil, false
2072}
2073
2074// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2075func (ahrce ApplicationHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
2076	return nil, false
2077}
2078
2079// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2080func (ahrce ApplicationHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
2081	return nil, false
2082}
2083
2084// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2085func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
2086	return nil, false
2087}
2088
2089// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2090func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
2091	return nil, false
2092}
2093
2094// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2095func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
2096	return nil, false
2097}
2098
2099// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2100func (ahrce ApplicationHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
2101	return nil, false
2102}
2103
2104// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2105func (ahrce ApplicationHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
2106	return nil, false
2107}
2108
2109// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2110func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
2111	return nil, false
2112}
2113
2114// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2115func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
2116	return nil, false
2117}
2118
2119// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2120func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
2121	return nil, false
2122}
2123
2124// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2125func (ahrce ApplicationHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
2126	return nil, false
2127}
2128
2129// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2130func (ahrce ApplicationHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
2131	return nil, false
2132}
2133
2134// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2135func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
2136	return nil, false
2137}
2138
2139// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2140func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
2141	return nil, false
2142}
2143
2144// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2145func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
2146	return nil, false
2147}
2148
2149// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2150func (ahrce ApplicationHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
2151	return nil, false
2152}
2153
2154// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2155func (ahrce ApplicationHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
2156	return nil, false
2157}
2158
2159// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2160func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
2161	return nil, false
2162}
2163
2164// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2165func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
2166	return nil, false
2167}
2168
2169// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2170func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
2171	return nil, false
2172}
2173
2174// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2175func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
2176	return nil, false
2177}
2178
2179// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2180func (ahrce ApplicationHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
2181	return nil, false
2182}
2183
2184// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2185func (ahrce ApplicationHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
2186	return nil, false
2187}
2188
2189// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2190func (ahrce ApplicationHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
2191	return nil, false
2192}
2193
2194// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2195func (ahrce ApplicationHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
2196	return nil, false
2197}
2198
2199// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2200func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
2201	return nil, false
2202}
2203
2204// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2205func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
2206	return nil, false
2207}
2208
2209// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2210func (ahrce ApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
2211	return nil, false
2212}
2213
2214// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2215func (ahrce ApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
2216	return nil, false
2217}
2218
2219// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2220func (ahrce ApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
2221	return nil, false
2222}
2223
2224// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2225func (ahrce ApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
2226	return nil, false
2227}
2228
2229// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2230func (ahrce ApplicationHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
2231	return nil, false
2232}
2233
2234// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2235func (ahrce ApplicationHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
2236	return nil, false
2237}
2238
2239// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2240func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
2241	return nil, false
2242}
2243
2244// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2245func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
2246	return nil, false
2247}
2248
2249// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2250func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
2251	return nil, false
2252}
2253
2254// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2255func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
2256	return nil, false
2257}
2258
2259// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2260func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
2261	return nil, false
2262}
2263
2264// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2265func (ahrce ApplicationHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
2266	return nil, false
2267}
2268
2269// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2270func (ahrce ApplicationHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
2271	return nil, false
2272}
2273
2274// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2275func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
2276	return nil, false
2277}
2278
2279// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2280func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
2281	return nil, false
2282}
2283
2284// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2285func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
2286	return nil, false
2287}
2288
2289// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2290func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
2291	return nil, false
2292}
2293
2294// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2295func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
2296	return nil, false
2297}
2298
2299// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2300func (ahrce ApplicationHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
2301	return nil, false
2302}
2303
2304// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2305func (ahrce ApplicationHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
2306	return nil, false
2307}
2308
2309// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2310func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
2311	return nil, false
2312}
2313
2314// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2315func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
2316	return nil, false
2317}
2318
2319// AsFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2320func (ahrce ApplicationHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
2321	return nil, false
2322}
2323
2324// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
2325func (ahrce ApplicationHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
2326	return &ahrce, true
2327}
2328
2329// ApplicationHealthReportExpiredEvent application Health Report Expired event.
2330type ApplicationHealthReportExpiredEvent struct {
2331	// ApplicationInstanceID - Id of Application instance.
2332	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
2333	// SourceID - Id of report source.
2334	SourceID *string `json:"SourceId,omitempty"`
2335	// Property - Describes the property.
2336	Property *string `json:"Property,omitempty"`
2337	// HealthState - Describes the property health state.
2338	HealthState *string `json:"HealthState,omitempty"`
2339	// TimeToLiveMs - Time to live in milli-seconds.
2340	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
2341	// SequenceNumber - Sequence number of report.
2342	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
2343	// Description - Description of report.
2344	Description *string `json:"Description,omitempty"`
2345	// RemoveWhenExpired - Indicates the removal when it expires.
2346	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
2347	// SourceUtcTimestamp - Source time.
2348	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
2349	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
2350	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
2351	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
2352	ApplicationID *string `json:"ApplicationId,omitempty"`
2353	// EventInstanceID - The identifier for the FabricEvent instance.
2354	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
2355	// TimeStamp - The time event was logged.
2356	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
2357	// HasCorrelatedEvents - Shows there is existing related events available.
2358	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
2359	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
2360	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
2361}
2362
2363// MarshalJSON is the custom marshaler for ApplicationHealthReportExpiredEvent.
2364func (ahree ApplicationHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
2365	ahree.Kind = KindApplicationHealthReportExpired
2366	objectMap := make(map[string]interface{})
2367	if ahree.ApplicationInstanceID != nil {
2368		objectMap["ApplicationInstanceId"] = ahree.ApplicationInstanceID
2369	}
2370	if ahree.SourceID != nil {
2371		objectMap["SourceId"] = ahree.SourceID
2372	}
2373	if ahree.Property != nil {
2374		objectMap["Property"] = ahree.Property
2375	}
2376	if ahree.HealthState != nil {
2377		objectMap["HealthState"] = ahree.HealthState
2378	}
2379	if ahree.TimeToLiveMs != nil {
2380		objectMap["TimeToLiveMs"] = ahree.TimeToLiveMs
2381	}
2382	if ahree.SequenceNumber != nil {
2383		objectMap["SequenceNumber"] = ahree.SequenceNumber
2384	}
2385	if ahree.Description != nil {
2386		objectMap["Description"] = ahree.Description
2387	}
2388	if ahree.RemoveWhenExpired != nil {
2389		objectMap["RemoveWhenExpired"] = ahree.RemoveWhenExpired
2390	}
2391	if ahree.SourceUtcTimestamp != nil {
2392		objectMap["SourceUtcTimestamp"] = ahree.SourceUtcTimestamp
2393	}
2394	if ahree.ApplicationID != nil {
2395		objectMap["ApplicationId"] = ahree.ApplicationID
2396	}
2397	if ahree.EventInstanceID != nil {
2398		objectMap["EventInstanceId"] = ahree.EventInstanceID
2399	}
2400	if ahree.TimeStamp != nil {
2401		objectMap["TimeStamp"] = ahree.TimeStamp
2402	}
2403	if ahree.HasCorrelatedEvents != nil {
2404		objectMap["HasCorrelatedEvents"] = ahree.HasCorrelatedEvents
2405	}
2406	if ahree.Kind != "" {
2407		objectMap["Kind"] = ahree.Kind
2408	}
2409	return json.Marshal(objectMap)
2410}
2411
2412// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2413func (ahree ApplicationHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
2414	return nil, false
2415}
2416
2417// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2418func (ahree ApplicationHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
2419	return &ahree, true
2420}
2421
2422// AsClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2423func (ahree ApplicationHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
2424	return nil, false
2425}
2426
2427// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2428func (ahree ApplicationHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
2429	return nil, false
2430}
2431
2432// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2433func (ahree ApplicationHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
2434	return nil, false
2435}
2436
2437// AsNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2438func (ahree ApplicationHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
2439	return nil, false
2440}
2441
2442// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2443func (ahree ApplicationHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
2444	return nil, false
2445}
2446
2447// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2448func (ahree ApplicationHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
2449	return nil, false
2450}
2451
2452// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2453func (ahree ApplicationHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
2454	return nil, false
2455}
2456
2457// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2458func (ahree ApplicationHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
2459	return nil, false
2460}
2461
2462// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2463func (ahree ApplicationHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
2464	return nil, false
2465}
2466
2467// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2468func (ahree ApplicationHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
2469	return nil, false
2470}
2471
2472// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2473func (ahree ApplicationHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
2474	return nil, false
2475}
2476
2477// AsServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2478func (ahree ApplicationHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
2479	return nil, false
2480}
2481
2482// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2483func (ahree ApplicationHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
2484	return nil, false
2485}
2486
2487// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2488func (ahree ApplicationHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
2489	return nil, false
2490}
2491
2492// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2493func (ahree ApplicationHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
2494	return nil, false
2495}
2496
2497// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2498func (ahree ApplicationHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
2499	return nil, false
2500}
2501
2502// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2503func (ahree ApplicationHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
2504	return &ahree, true
2505}
2506
2507// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2508func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
2509	return nil, false
2510}
2511
2512// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2513func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
2514	return nil, false
2515}
2516
2517// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2518func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
2519	return nil, false
2520}
2521
2522// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2523func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
2524	return nil, false
2525}
2526
2527// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2528func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
2529	return nil, false
2530}
2531
2532// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2533func (ahree ApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
2534	return nil, false
2535}
2536
2537// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2538func (ahree ApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
2539	return nil, false
2540}
2541
2542// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2543func (ahree ApplicationHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
2544	return nil, false
2545}
2546
2547// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2548func (ahree ApplicationHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
2549	return nil, false
2550}
2551
2552// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2553func (ahree ApplicationHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
2554	return nil, false
2555}
2556
2557// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2558func (ahree ApplicationHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
2559	return nil, false
2560}
2561
2562// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2563func (ahree ApplicationHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
2564	return nil, false
2565}
2566
2567// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2568func (ahree ApplicationHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
2569	return nil, false
2570}
2571
2572// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2573func (ahree ApplicationHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
2574	return nil, false
2575}
2576
2577// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2578func (ahree ApplicationHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
2579	return nil, false
2580}
2581
2582// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2583func (ahree ApplicationHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
2584	return nil, false
2585}
2586
2587// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2588func (ahree ApplicationHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
2589	return nil, false
2590}
2591
2592// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2593func (ahree ApplicationHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
2594	return nil, false
2595}
2596
2597// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2598func (ahree ApplicationHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
2599	return nil, false
2600}
2601
2602// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2603func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
2604	return nil, false
2605}
2606
2607// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2608func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
2609	return nil, false
2610}
2611
2612// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2613func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
2614	return nil, false
2615}
2616
2617// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2618func (ahree ApplicationHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
2619	return nil, false
2620}
2621
2622// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2623func (ahree ApplicationHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
2624	return nil, false
2625}
2626
2627// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2628func (ahree ApplicationHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
2629	return nil, false
2630}
2631
2632// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2633func (ahree ApplicationHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
2634	return nil, false
2635}
2636
2637// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2638func (ahree ApplicationHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
2639	return nil, false
2640}
2641
2642// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2643func (ahree ApplicationHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
2644	return nil, false
2645}
2646
2647// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2648func (ahree ApplicationHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
2649	return nil, false
2650}
2651
2652// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2653func (ahree ApplicationHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
2654	return nil, false
2655}
2656
2657// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2658func (ahree ApplicationHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
2659	return nil, false
2660}
2661
2662// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2663func (ahree ApplicationHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
2664	return nil, false
2665}
2666
2667// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2668func (ahree ApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
2669	return nil, false
2670}
2671
2672// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2673func (ahree ApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
2674	return nil, false
2675}
2676
2677// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2678func (ahree ApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
2679	return nil, false
2680}
2681
2682// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2683func (ahree ApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
2684	return nil, false
2685}
2686
2687// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2688func (ahree ApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
2689	return nil, false
2690}
2691
2692// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2693func (ahree ApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
2694	return nil, false
2695}
2696
2697// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2698func (ahree ApplicationHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
2699	return nil, false
2700}
2701
2702// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2703func (ahree ApplicationHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
2704	return nil, false
2705}
2706
2707// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2708func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
2709	return nil, false
2710}
2711
2712// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2713func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
2714	return nil, false
2715}
2716
2717// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2718func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
2719	return nil, false
2720}
2721
2722// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2723func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
2724	return nil, false
2725}
2726
2727// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2728func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
2729	return nil, false
2730}
2731
2732// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2733func (ahree ApplicationHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
2734	return nil, false
2735}
2736
2737// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2738func (ahree ApplicationHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
2739	return nil, false
2740}
2741
2742// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2743func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
2744	return nil, false
2745}
2746
2747// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2748func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
2749	return nil, false
2750}
2751
2752// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2753func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
2754	return nil, false
2755}
2756
2757// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2758func (ahree ApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
2759	return nil, false
2760}
2761
2762// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2763func (ahree ApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
2764	return nil, false
2765}
2766
2767// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2768func (ahree ApplicationHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
2769	return nil, false
2770}
2771
2772// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2773func (ahree ApplicationHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
2774	return nil, false
2775}
2776
2777// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2778func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
2779	return nil, false
2780}
2781
2782// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2783func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
2784	return nil, false
2785}
2786
2787// AsFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2788func (ahree ApplicationHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
2789	return nil, false
2790}
2791
2792// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
2793func (ahree ApplicationHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
2794	return &ahree, true
2795}
2796
2797// ApplicationHealthState represents the health state of an application, which contains the application
2798// identifier and the aggregated health state.
2799type ApplicationHealthState struct {
2800	// Name - The name of the application, including the 'fabric:' URI scheme.
2801	Name *string `json:"Name,omitempty"`
2802	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
2803	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
2804}
2805
2806// ApplicationHealthStateChunk represents the health state chunk of a application.
2807// The application health state chunk contains the application name, its aggregated health state and any
2808// children services and deployed applications that respect the filters in cluster health chunk query
2809// description.
2810type ApplicationHealthStateChunk struct {
2811	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
2812	ApplicationName *string `json:"ApplicationName,omitempty"`
2813	// ApplicationTypeName - The application type name as defined in the application manifest.
2814	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
2815	// ServiceHealthStateChunks - The list of service health state chunks in the cluster that respect the filters in the cluster health chunk query description.
2816	ServiceHealthStateChunks *ServiceHealthStateChunkList `json:"ServiceHealthStateChunks,omitempty"`
2817	// DeployedApplicationHealthStateChunks - The list of deployed application health state chunks in the cluster that respect the filters in the cluster health chunk query description.
2818	DeployedApplicationHealthStateChunks *DeployedApplicationHealthStateChunkList `json:"DeployedApplicationHealthStateChunks,omitempty"`
2819	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
2820	HealthState HealthState `json:"HealthState,omitempty"`
2821}
2822
2823// ApplicationHealthStateChunkList the list of application health state chunks in the cluster that respect
2824// the input filters in the chunk query. Returned by get cluster health state chunks query.
2825type ApplicationHealthStateChunkList struct {
2826	// Items - The list of application health state chunks that respect the input filters in the chunk query.
2827	Items *[]ApplicationHealthStateChunk `json:"Items,omitempty"`
2828	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
2829	TotalCount *int64 `json:"TotalCount,omitempty"`
2830}
2831
2832// ApplicationHealthStateFilter defines matching criteria to determine whether a application should be
2833// included in the cluster health chunk.
2834// One filter can match zero, one or multiple applications, depending on its properties.
2835type ApplicationHealthStateFilter struct {
2836	// ApplicationNameFilter - The name of the application that matches the filter, as a fabric uri. The filter is applied only to the specified application, if it exists.
2837	// If the application doesn't exist, no application is returned in the cluster health chunk based on this filter.
2838	// If the application exists, it is included in the cluster health chunk if it respects the other filter properties.
2839	// If not specified, all applications are matched against the other filter members, like health state filter.
2840	ApplicationNameFilter *string `json:"ApplicationNameFilter,omitempty"`
2841	// ApplicationTypeNameFilter - The name of the application type that matches the filter.
2842	// If specified, the filter is applied only to applications of the selected application type, if any exists.
2843	// If no applications of the specified application type exists, no application is returned in the cluster health chunk based on this filter.
2844	// Each application of the specified application type is included in the cluster health chunk if it respects the other filter properties.
2845	// If not specified, all applications are matched against the other filter members, like health state filter.
2846	ApplicationTypeNameFilter *string `json:"ApplicationTypeNameFilter,omitempty"`
2847	// HealthStateFilter - The filter for the health state of the applications. It allows selecting applications if they match the desired health states.
2848	// The possible values are integer value of one of the following health states. Only applications that match the filter are returned. All applications are used to evaluate the cluster aggregated health state.
2849	// If not specified, default value is None, unless the application name or the application type name are specified. If the filter has default value and application name is specified, the matching application is returned.
2850	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
2851	// For example, if the provided value is 6, it matches applications with HealthState value of OK (2) and Warning (4).
2852	// - Default - Default value. Matches any HealthState. The value is zero.
2853	// - None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
2854	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
2855	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
2856	// - Error - Filter that matches input with HealthState value Error. The value is 8.
2857	// - All - Filter that matches input with any HealthState value. The value is 65535.
2858	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
2859	// ServiceFilters - Defines a list of filters that specify which services to be included in the returned cluster health chunk as children of the application. The services are returned only if the parent application matches a filter.
2860	// If the list is empty, no services are returned. All the services are used to evaluate the parent application aggregated health state, regardless of the input filters.
2861	// The application filter may specify multiple service filters.
2862	// For example, it can specify a filter to return all services with health state Error and another filter to always include a service identified by its service name.
2863	ServiceFilters *[]ServiceHealthStateFilter `json:"ServiceFilters,omitempty"`
2864	// DeployedApplicationFilters - Defines a list of filters that specify which deployed applications to be included in the returned cluster health chunk as children of the application. The deployed applications are returned only if the parent application matches a filter.
2865	// If the list is empty, no deployed applications are returned. All the deployed applications are used to evaluate the parent application aggregated health state, regardless of the input filters.
2866	// The application filter may specify multiple deployed application filters.
2867	// For example, it can specify a filter to return all deployed applications with health state Error and another filter to always include a deployed application on a specified node.
2868	DeployedApplicationFilters *[]DeployedApplicationHealthStateFilter `json:"DeployedApplicationFilters,omitempty"`
2869}
2870
2871// ApplicationInfo information about a Service Fabric application.
2872type ApplicationInfo struct {
2873	autorest.Response `json:"-"`
2874	// ID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
2875	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
2876	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
2877	ID *string `json:"Id,omitempty"`
2878	// Name - The name of the application, including the 'fabric:' URI scheme.
2879	Name *string `json:"Name,omitempty"`
2880	// TypeName - The application type name as defined in the application manifest.
2881	TypeName *string `json:"TypeName,omitempty"`
2882	// TypeVersion - The version of the application type as defined in the application manifest.
2883	TypeVersion *string `json:"TypeVersion,omitempty"`
2884	// Status - The status of the application. Possible values include: 'ApplicationStatusInvalid', 'ApplicationStatusReady', 'ApplicationStatusUpgrading', 'ApplicationStatusCreating', 'ApplicationStatusDeleting', 'ApplicationStatusFailed'
2885	Status ApplicationStatus `json:"Status,omitempty"`
2886	// Parameters - List of application parameters with overridden values from their default values specified in the application manifest.
2887	Parameters *[]ApplicationParameter `json:"Parameters,omitempty"`
2888	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
2889	HealthState HealthState `json:"HealthState,omitempty"`
2890	// ApplicationDefinitionKind - The mechanism used to define a Service Fabric application. Possible values include: 'Invalid', 'ServiceFabricApplicationDescription', 'Compose'
2891	ApplicationDefinitionKind ApplicationDefinitionKind `json:"ApplicationDefinitionKind,omitempty"`
2892}
2893
2894// ApplicationLoadInfo load Information about a Service Fabric application.
2895type ApplicationLoadInfo struct {
2896	autorest.Response `json:"-"`
2897	// ID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
2898	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
2899	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
2900	ID *string `json:"Id,omitempty"`
2901	// MinimumNodes - The minimum number of nodes for this application.
2902	// It is the number of nodes where Service Fabric will reserve Capacity in the cluster which equals to ReservedLoad * MinimumNodes for this Application instance.
2903	// For applications that do not have application capacity defined this value will be zero.
2904	MinimumNodes *int64 `json:"MinimumNodes,omitempty"`
2905	// MaximumNodes - The maximum number of nodes where this application can be instantiated.
2906	// It is the number of nodes this application is allowed to span.
2907	// For applications that do not have application capacity defined this value will be zero.
2908	MaximumNodes *int64 `json:"MaximumNodes,omitempty"`
2909	// NodeCount - The number of nodes on which this application is instantiated.
2910	// For applications that do not have application capacity defined this value will be zero.
2911	NodeCount *int64 `json:"NodeCount,omitempty"`
2912	// ApplicationLoadMetricInformation - List of application capacity metric description.
2913	ApplicationLoadMetricInformation *[]ApplicationMetricDescription `json:"ApplicationLoadMetricInformation,omitempty"`
2914}
2915
2916// ApplicationMetricDescription describes capacity information for a custom resource balancing metric. This
2917// can be used to limit the total consumption of this metric by the services of this application.
2918type ApplicationMetricDescription struct {
2919	// Name - The name of the metric.
2920	Name *string `json:"Name,omitempty"`
2921	// MaximumCapacity - The maximum node capacity for Service Fabric application.
2922	// This is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.
2923	// If set to zero, capacity for this metric is unlimited on each node.
2924	// When creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
2925	// When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
2926	MaximumCapacity *int64 `json:"MaximumCapacity,omitempty"`
2927	// ReservationCapacity - The node reservation capacity for Service Fabric application.
2928	// This is the amount of load which is reserved on nodes which have instances of this application.
2929	// If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.
2930	// If set to zero, no capacity is reserved for this metric.
2931	// When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.
2932	ReservationCapacity *int64 `json:"ReservationCapacity,omitempty"`
2933	// TotalApplicationCapacity - The total metric capacity for Service Fabric application.
2934	// This is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.
2935	// When creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.
2936	TotalApplicationCapacity *int64 `json:"TotalApplicationCapacity,omitempty"`
2937}
2938
2939// ApplicationNameInfo information about the application name.
2940type ApplicationNameInfo struct {
2941	autorest.Response `json:"-"`
2942	// ID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
2943	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
2944	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
2945	ID *string `json:"Id,omitempty"`
2946	// Name - The name of the application, including the 'fabric:' URI scheme.
2947	Name *string `json:"Name,omitempty"`
2948}
2949
2950// ApplicationParameter describes an application parameter override to be applied when creating or
2951// upgrading an application.
2952type ApplicationParameter struct {
2953	// Key - The name of the parameter.
2954	Key *string `json:"Key,omitempty"`
2955	// Value - The value of the parameter.
2956	Value *string `json:"Value,omitempty"`
2957}
2958
2959// ApplicationProperties this type describes properties of an application resource.
2960type ApplicationProperties struct {
2961	// Description - User readable description of the application.
2962	Description *string `json:"description,omitempty"`
2963	// DebugParams - Internal use.
2964	DebugParams *string `json:"debugParams,omitempty"`
2965	// Services - describes the services in the application.
2966	Services *[]ServiceResourceDescription `json:"services,omitempty"`
2967	// HealthState - READ-ONLY; Describes the health state of an application resource. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
2968	HealthState HealthState `json:"healthState,omitempty"`
2969	// UnhealthyEvaluation - READ-ONLY; When the application's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the application is marked unhealthy.
2970	UnhealthyEvaluation *string `json:"unhealthyEvaluation,omitempty"`
2971	// Status - READ-ONLY; Status of the application resource. Possible values include: 'ApplicationResourceStatusInvalid', 'ApplicationResourceStatusReady', 'ApplicationResourceStatusUpgrading', 'ApplicationResourceStatusCreating', 'ApplicationResourceStatusDeleting', 'ApplicationResourceStatusFailed'
2972	Status ApplicationResourceStatus `json:"status,omitempty"`
2973	// StatusDetails - READ-ONLY; Gives additional information about the current status of the application deployment.
2974	StatusDetails *string `json:"statusDetails,omitempty"`
2975	// ServiceNames - READ-ONLY; Names of the services in the application.
2976	ServiceNames *[]string `json:"serviceNames,omitempty"`
2977	// Diagnostics - Describes the diagnostics definition and usage for an application resource.
2978	Diagnostics *DiagnosticsDescription `json:"diagnostics,omitempty"`
2979}
2980
2981// MarshalJSON is the custom marshaler for ApplicationProperties.
2982func (ap ApplicationProperties) MarshalJSON() ([]byte, error) {
2983	objectMap := make(map[string]interface{})
2984	if ap.Description != nil {
2985		objectMap["description"] = ap.Description
2986	}
2987	if ap.DebugParams != nil {
2988		objectMap["debugParams"] = ap.DebugParams
2989	}
2990	if ap.Services != nil {
2991		objectMap["services"] = ap.Services
2992	}
2993	if ap.Diagnostics != nil {
2994		objectMap["diagnostics"] = ap.Diagnostics
2995	}
2996	return json.Marshal(objectMap)
2997}
2998
2999// ApplicationResourceDescription describes a service fabric application resource.
3000type ApplicationResourceDescription struct {
3001	autorest.Response `json:"-"`
3002	// ApplicationProperties - This type describes properties of an application resource.
3003	*ApplicationProperties `json:"properties,omitempty"`
3004	// Name - Application resource name.
3005	Name *string `json:"name,omitempty"`
3006}
3007
3008// MarshalJSON is the custom marshaler for ApplicationResourceDescription.
3009func (ard ApplicationResourceDescription) MarshalJSON() ([]byte, error) {
3010	objectMap := make(map[string]interface{})
3011	if ard.ApplicationProperties != nil {
3012		objectMap["properties"] = ard.ApplicationProperties
3013	}
3014	if ard.Name != nil {
3015		objectMap["name"] = ard.Name
3016	}
3017	return json.Marshal(objectMap)
3018}
3019
3020// UnmarshalJSON is the custom unmarshaler for ApplicationResourceDescription struct.
3021func (ard *ApplicationResourceDescription) UnmarshalJSON(body []byte) error {
3022	var m map[string]*json.RawMessage
3023	err := json.Unmarshal(body, &m)
3024	if err != nil {
3025		return err
3026	}
3027	for k, v := range m {
3028		switch k {
3029		case "properties":
3030			if v != nil {
3031				var applicationProperties ApplicationProperties
3032				err = json.Unmarshal(*v, &applicationProperties)
3033				if err != nil {
3034					return err
3035				}
3036				ard.ApplicationProperties = &applicationProperties
3037			}
3038		case "name":
3039			if v != nil {
3040				var name string
3041				err = json.Unmarshal(*v, &name)
3042				if err != nil {
3043					return err
3044				}
3045				ard.Name = &name
3046			}
3047		}
3048	}
3049
3050	return nil
3051}
3052
3053// ApplicationsHealthEvaluation represents health evaluation for applications, containing health
3054// evaluations for each unhealthy application that impacted current aggregated health state.
3055type ApplicationsHealthEvaluation struct {
3056	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy.
3057	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
3058	// TotalCount - Total number of applications from the health store.
3059	TotalCount *int64 `json:"TotalCount,omitempty"`
3060	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health.
3061	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
3062	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
3063	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
3064	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
3065	Description *string `json:"Description,omitempty"`
3066	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
3067	Kind Kind `json:"Kind,omitempty"`
3068}
3069
3070// MarshalJSON is the custom marshaler for ApplicationsHealthEvaluation.
3071func (ahe ApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
3072	ahe.Kind = KindApplications
3073	objectMap := make(map[string]interface{})
3074	if ahe.MaxPercentUnhealthyApplications != nil {
3075		objectMap["MaxPercentUnhealthyApplications"] = ahe.MaxPercentUnhealthyApplications
3076	}
3077	if ahe.TotalCount != nil {
3078		objectMap["TotalCount"] = ahe.TotalCount
3079	}
3080	if ahe.UnhealthyEvaluations != nil {
3081		objectMap["UnhealthyEvaluations"] = ahe.UnhealthyEvaluations
3082	}
3083	if ahe.AggregatedHealthState != "" {
3084		objectMap["AggregatedHealthState"] = ahe.AggregatedHealthState
3085	}
3086	if ahe.Description != nil {
3087		objectMap["Description"] = ahe.Description
3088	}
3089	if ahe.Kind != "" {
3090		objectMap["Kind"] = ahe.Kind
3091	}
3092	return json.Marshal(objectMap)
3093}
3094
3095// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3096func (ahe ApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
3097	return nil, false
3098}
3099
3100// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3101func (ahe ApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
3102	return &ahe, true
3103}
3104
3105// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3106func (ahe ApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
3107	return nil, false
3108}
3109
3110// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3111func (ahe ApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
3112	return nil, false
3113}
3114
3115// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3116func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
3117	return nil, false
3118}
3119
3120// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3121func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
3122	return nil, false
3123}
3124
3125// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3126func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
3127	return nil, false
3128}
3129
3130// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3131func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
3132	return nil, false
3133}
3134
3135// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3136func (ahe ApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
3137	return nil, false
3138}
3139
3140// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3141func (ahe ApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
3142	return nil, false
3143}
3144
3145// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3146func (ahe ApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
3147	return nil, false
3148}
3149
3150// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3151func (ahe ApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
3152	return nil, false
3153}
3154
3155// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3156func (ahe ApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
3157	return nil, false
3158}
3159
3160// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3161func (ahe ApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
3162	return nil, false
3163}
3164
3165// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3166func (ahe ApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
3167	return nil, false
3168}
3169
3170// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3171func (ahe ApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
3172	return nil, false
3173}
3174
3175// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3176func (ahe ApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
3177	return nil, false
3178}
3179
3180// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3181func (ahe ApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
3182	return nil, false
3183}
3184
3185// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3186func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
3187	return nil, false
3188}
3189
3190// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3191func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
3192	return nil, false
3193}
3194
3195// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3196func (ahe ApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
3197	return nil, false
3198}
3199
3200// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3201func (ahe ApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
3202	return &ahe, true
3203}
3204
3205// ApplicationTypeApplicationsHealthEvaluation represents health evaluation for applications of a
3206// particular application type. The application type applications evaluation can be returned when cluster
3207// health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health
3208// evaluations for each unhealthy application of the included application type that impacted current
3209// aggregated health state.
3210type ApplicationTypeApplicationsHealthEvaluation struct {
3211	// ApplicationTypeName - The application type name as defined in the application manifest.
3212	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3213	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap.
3214	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
3215	// TotalCount - Total number of applications of the application type found in the health store.
3216	TotalCount *int64 `json:"TotalCount,omitempty"`
3217	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation of this application type that impacted the aggregated health.
3218	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
3219	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
3220	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
3221	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
3222	Description *string `json:"Description,omitempty"`
3223	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
3224	Kind Kind `json:"Kind,omitempty"`
3225}
3226
3227// MarshalJSON is the custom marshaler for ApplicationTypeApplicationsHealthEvaluation.
3228func (atahe ApplicationTypeApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
3229	atahe.Kind = KindApplicationTypeApplications
3230	objectMap := make(map[string]interface{})
3231	if atahe.ApplicationTypeName != nil {
3232		objectMap["ApplicationTypeName"] = atahe.ApplicationTypeName
3233	}
3234	if atahe.MaxPercentUnhealthyApplications != nil {
3235		objectMap["MaxPercentUnhealthyApplications"] = atahe.MaxPercentUnhealthyApplications
3236	}
3237	if atahe.TotalCount != nil {
3238		objectMap["TotalCount"] = atahe.TotalCount
3239	}
3240	if atahe.UnhealthyEvaluations != nil {
3241		objectMap["UnhealthyEvaluations"] = atahe.UnhealthyEvaluations
3242	}
3243	if atahe.AggregatedHealthState != "" {
3244		objectMap["AggregatedHealthState"] = atahe.AggregatedHealthState
3245	}
3246	if atahe.Description != nil {
3247		objectMap["Description"] = atahe.Description
3248	}
3249	if atahe.Kind != "" {
3250		objectMap["Kind"] = atahe.Kind
3251	}
3252	return json.Marshal(objectMap)
3253}
3254
3255// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3256func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
3257	return nil, false
3258}
3259
3260// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3261func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
3262	return nil, false
3263}
3264
3265// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3266func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
3267	return &atahe, true
3268}
3269
3270// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3271func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
3272	return nil, false
3273}
3274
3275// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3276func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
3277	return nil, false
3278}
3279
3280// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3281func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
3282	return nil, false
3283}
3284
3285// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3286func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
3287	return nil, false
3288}
3289
3290// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3291func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
3292	return nil, false
3293}
3294
3295// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3296func (atahe ApplicationTypeApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
3297	return nil, false
3298}
3299
3300// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3301func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
3302	return nil, false
3303}
3304
3305// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3306func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
3307	return nil, false
3308}
3309
3310// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3311func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
3312	return nil, false
3313}
3314
3315// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3316func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
3317	return nil, false
3318}
3319
3320// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3321func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
3322	return nil, false
3323}
3324
3325// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3326func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
3327	return nil, false
3328}
3329
3330// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3331func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
3332	return nil, false
3333}
3334
3335// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3336func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
3337	return nil, false
3338}
3339
3340// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3341func (atahe ApplicationTypeApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
3342	return nil, false
3343}
3344
3345// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3346func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
3347	return nil, false
3348}
3349
3350// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3351func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
3352	return nil, false
3353}
3354
3355// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3356func (atahe ApplicationTypeApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
3357	return nil, false
3358}
3359
3360// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3361func (atahe ApplicationTypeApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
3362	return &atahe, true
3363}
3364
3365// ApplicationTypeHealthPolicyMapItem defines an item in ApplicationTypeHealthPolicyMap.
3366type ApplicationTypeHealthPolicyMapItem struct {
3367	// Key - The key of the application type health policy map item. This is the name of the application type.
3368	Key *string `json:"Key,omitempty"`
3369	// Value - The value of the application type health policy map item.
3370	// The max percent unhealthy applications allowed for the application type. Must be between zero and 100.
3371	Value *int32 `json:"Value,omitempty"`
3372}
3373
3374// ApplicationTypeImageStorePath path description for the application package in the image store specified
3375// during the prior copy operation.
3376type ApplicationTypeImageStorePath struct {
3377	// ApplicationTypeBuildPath - The relative image store path to the application package.
3378	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
3379}
3380
3381// ApplicationTypeInfo information about an application type.
3382type ApplicationTypeInfo struct {
3383	// Name - The application type name as defined in the application manifest.
3384	Name *string `json:"Name,omitempty"`
3385	// Version - The version of the application type as defined in the application manifest.
3386	Version *string `json:"Version,omitempty"`
3387	// DefaultParameterList - List of application type parameters that can be overridden when creating or updating the application.
3388	DefaultParameterList *[]ApplicationParameter `json:"DefaultParameterList,omitempty"`
3389	// Status - The status of the application type. Possible values include: 'ApplicationTypeStatusInvalid', 'ApplicationTypeStatusProvisioning', 'ApplicationTypeStatusAvailable', 'ApplicationTypeStatusUnprovisioning', 'ApplicationTypeStatusFailed'
3390	Status ApplicationTypeStatus `json:"Status,omitempty"`
3391	// StatusDetails - Additional detailed information about the status of the application type.
3392	StatusDetails *string `json:"StatusDetails,omitempty"`
3393	// ApplicationTypeDefinitionKind - The mechanism used to define a Service Fabric application type. Possible values include: 'ApplicationTypeDefinitionKindInvalid', 'ApplicationTypeDefinitionKindServiceFabricApplicationPackage', 'ApplicationTypeDefinitionKindCompose'
3394	ApplicationTypeDefinitionKind ApplicationTypeDefinitionKind `json:"ApplicationTypeDefinitionKind,omitempty"`
3395}
3396
3397// ApplicationTypeManifest contains the manifest describing an application type registered in a Service
3398// Fabric cluster.
3399type ApplicationTypeManifest struct {
3400	autorest.Response `json:"-"`
3401	// Manifest - The XML manifest as a string.
3402	Manifest *string `json:"Manifest,omitempty"`
3403}
3404
3405// ApplicationUpgradeCompleteEvent application Upgrade Complete event.
3406type ApplicationUpgradeCompleteEvent struct {
3407	// ApplicationTypeName - Application type name.
3408	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3409	// ApplicationTypeVersion - Application type version.
3410	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3411	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
3412	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
3413	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
3414	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3415	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3416	ApplicationID *string `json:"ApplicationId,omitempty"`
3417	// EventInstanceID - The identifier for the FabricEvent instance.
3418	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3419	// TimeStamp - The time event was logged.
3420	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3421	// HasCorrelatedEvents - Shows there is existing related events available.
3422	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3423	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
3424	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3425}
3426
3427// MarshalJSON is the custom marshaler for ApplicationUpgradeCompleteEvent.
3428func (auce ApplicationUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
3429	auce.Kind = KindApplicationUpgradeComplete
3430	objectMap := make(map[string]interface{})
3431	if auce.ApplicationTypeName != nil {
3432		objectMap["ApplicationTypeName"] = auce.ApplicationTypeName
3433	}
3434	if auce.ApplicationTypeVersion != nil {
3435		objectMap["ApplicationTypeVersion"] = auce.ApplicationTypeVersion
3436	}
3437	if auce.OverallUpgradeElapsedTimeInMs != nil {
3438		objectMap["OverallUpgradeElapsedTimeInMs"] = auce.OverallUpgradeElapsedTimeInMs
3439	}
3440	if auce.ApplicationID != nil {
3441		objectMap["ApplicationId"] = auce.ApplicationID
3442	}
3443	if auce.EventInstanceID != nil {
3444		objectMap["EventInstanceId"] = auce.EventInstanceID
3445	}
3446	if auce.TimeStamp != nil {
3447		objectMap["TimeStamp"] = auce.TimeStamp
3448	}
3449	if auce.HasCorrelatedEvents != nil {
3450		objectMap["HasCorrelatedEvents"] = auce.HasCorrelatedEvents
3451	}
3452	if auce.Kind != "" {
3453		objectMap["Kind"] = auce.Kind
3454	}
3455	return json.Marshal(objectMap)
3456}
3457
3458// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3459func (auce ApplicationUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3460	return nil, false
3461}
3462
3463// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3464func (auce ApplicationUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3465	return &auce, true
3466}
3467
3468// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3469func (auce ApplicationUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
3470	return nil, false
3471}
3472
3473// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3474func (auce ApplicationUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3475	return nil, false
3476}
3477
3478// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3479func (auce ApplicationUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3480	return nil, false
3481}
3482
3483// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3484func (auce ApplicationUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
3485	return nil, false
3486}
3487
3488// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3489func (auce ApplicationUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3490	return nil, false
3491}
3492
3493// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3494func (auce ApplicationUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3495	return nil, false
3496}
3497
3498// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3499func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3500	return nil, false
3501}
3502
3503// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3504func (auce ApplicationUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3505	return nil, false
3506}
3507
3508// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3509func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3510	return nil, false
3511}
3512
3513// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3514func (auce ApplicationUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3515	return nil, false
3516}
3517
3518// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3519func (auce ApplicationUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
3520	return nil, false
3521}
3522
3523// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3524func (auce ApplicationUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
3525	return nil, false
3526}
3527
3528// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3529func (auce ApplicationUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
3530	return nil, false
3531}
3532
3533// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3534func (auce ApplicationUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
3535	return nil, false
3536}
3537
3538// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3539func (auce ApplicationUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
3540	return nil, false
3541}
3542
3543// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3544func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
3545	return nil, false
3546}
3547
3548// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3549func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
3550	return nil, false
3551}
3552
3553// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3554func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
3555	return &auce, true
3556}
3557
3558// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3559func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
3560	return nil, false
3561}
3562
3563// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3564func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
3565	return nil, false
3566}
3567
3568// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3569func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
3570	return nil, false
3571}
3572
3573// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3574func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
3575	return nil, false
3576}
3577
3578// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3579func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
3580	return nil, false
3581}
3582
3583// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3584func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
3585	return nil, false
3586}
3587
3588// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3589func (auce ApplicationUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
3590	return nil, false
3591}
3592
3593// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3594func (auce ApplicationUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
3595	return nil, false
3596}
3597
3598// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3599func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
3600	return nil, false
3601}
3602
3603// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3604func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
3605	return nil, false
3606}
3607
3608// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3609func (auce ApplicationUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
3610	return nil, false
3611}
3612
3613// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3614func (auce ApplicationUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
3615	return nil, false
3616}
3617
3618// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3619func (auce ApplicationUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
3620	return nil, false
3621}
3622
3623// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3624func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
3625	return nil, false
3626}
3627
3628// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3629func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
3630	return nil, false
3631}
3632
3633// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3634func (auce ApplicationUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
3635	return nil, false
3636}
3637
3638// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3639func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
3640	return nil, false
3641}
3642
3643// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3644func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
3645	return nil, false
3646}
3647
3648// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3649func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
3650	return nil, false
3651}
3652
3653// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3654func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
3655	return nil, false
3656}
3657
3658// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3659func (auce ApplicationUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
3660	return nil, false
3661}
3662
3663// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3664func (auce ApplicationUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
3665	return nil, false
3666}
3667
3668// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3669func (auce ApplicationUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
3670	return nil, false
3671}
3672
3673// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3674func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
3675	return nil, false
3676}
3677
3678// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3679func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
3680	return nil, false
3681}
3682
3683// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3684func (auce ApplicationUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
3685	return nil, false
3686}
3687
3688// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3689func (auce ApplicationUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
3690	return nil, false
3691}
3692
3693// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3694func (auce ApplicationUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
3695	return nil, false
3696}
3697
3698// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3699func (auce ApplicationUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
3700	return nil, false
3701}
3702
3703// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3704func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
3705	return nil, false
3706}
3707
3708// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3709func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
3710	return nil, false
3711}
3712
3713// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3714func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
3715	return nil, false
3716}
3717
3718// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3719func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
3720	return nil, false
3721}
3722
3723// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3724func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
3725	return nil, false
3726}
3727
3728// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3729func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
3730	return nil, false
3731}
3732
3733// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3734func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
3735	return nil, false
3736}
3737
3738// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3739func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
3740	return nil, false
3741}
3742
3743// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3744func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
3745	return nil, false
3746}
3747
3748// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3749func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
3750	return nil, false
3751}
3752
3753// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3754func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
3755	return nil, false
3756}
3757
3758// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3759func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
3760	return nil, false
3761}
3762
3763// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3764func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
3765	return nil, false
3766}
3767
3768// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3769func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
3770	return nil, false
3771}
3772
3773// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3774func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
3775	return nil, false
3776}
3777
3778// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3779func (auce ApplicationUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
3780	return nil, false
3781}
3782
3783// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3784func (auce ApplicationUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
3785	return nil, false
3786}
3787
3788// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3789func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
3790	return nil, false
3791}
3792
3793// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3794func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
3795	return nil, false
3796}
3797
3798// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3799func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
3800	return nil, false
3801}
3802
3803// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3804func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
3805	return nil, false
3806}
3807
3808// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3809func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
3810	return nil, false
3811}
3812
3813// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3814func (auce ApplicationUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
3815	return nil, false
3816}
3817
3818// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3819func (auce ApplicationUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
3820	return nil, false
3821}
3822
3823// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3824func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
3825	return nil, false
3826}
3827
3828// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3829func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
3830	return nil, false
3831}
3832
3833// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3834func (auce ApplicationUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
3835	return nil, false
3836}
3837
3838// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3839func (auce ApplicationUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
3840	return &auce, true
3841}
3842
3843// ApplicationUpgradeDescription describes the parameters for an application upgrade. Note that upgrade
3844// description replaces the existing application description. This means that if the parameters are not
3845// specified, the existing parameters on the applications will be overwritten with the empty parameters
3846// list. This would result in the application using the default value of the parameters from the
3847// application manifest. If you do not want to change any existing parameter values, please get the
3848// application parameters first using the GetApplicationInfo query and then supply those values as
3849// Parameters in this ApplicationUpgradeDescription.
3850type ApplicationUpgradeDescription struct {
3851	// Name - The name of the target application, including the 'fabric:' URI scheme.
3852	Name *string `json:"Name,omitempty"`
3853	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
3854	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
3855	// Parameters - List of application parameters with overridden values from their default values specified in the application manifest.
3856	Parameters *[]ApplicationParameter `json:"Parameters,omitempty"`
3857	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
3858	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
3859	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
3860	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
3861	// UpgradeReplicaSetCheckTimeoutInSeconds - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
3862	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
3863	// ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
3864	ForceRestart *bool `json:"ForceRestart,omitempty"`
3865	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
3866	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
3867	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
3868	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
3869}
3870
3871// ApplicationUpgradeDomainCompleteEvent application Upgrade Domain Complete event.
3872type ApplicationUpgradeDomainCompleteEvent struct {
3873	// ApplicationTypeName - Application type name.
3874	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3875	// CurrentApplicationTypeVersion - Current Application type version.
3876	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
3877	// ApplicationTypeVersion - Target Application type version.
3878	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3879	// UpgradeState - State of upgrade.
3880	UpgradeState *string `json:"UpgradeState,omitempty"`
3881	// UpgradeDomains - Upgrade domains.
3882	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
3883	// UpgradeDomainElapsedTimeInMs - Upgrade time of domain in milli-seconds.
3884	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
3885	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
3886	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3887	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3888	ApplicationID *string `json:"ApplicationId,omitempty"`
3889	// EventInstanceID - The identifier for the FabricEvent instance.
3890	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3891	// TimeStamp - The time event was logged.
3892	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3893	// HasCorrelatedEvents - Shows there is existing related events available.
3894	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3895	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
3896	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3897}
3898
3899// MarshalJSON is the custom marshaler for ApplicationUpgradeDomainCompleteEvent.
3900func (audce ApplicationUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
3901	audce.Kind = KindApplicationUpgradeDomainComplete
3902	objectMap := make(map[string]interface{})
3903	if audce.ApplicationTypeName != nil {
3904		objectMap["ApplicationTypeName"] = audce.ApplicationTypeName
3905	}
3906	if audce.CurrentApplicationTypeVersion != nil {
3907		objectMap["CurrentApplicationTypeVersion"] = audce.CurrentApplicationTypeVersion
3908	}
3909	if audce.ApplicationTypeVersion != nil {
3910		objectMap["ApplicationTypeVersion"] = audce.ApplicationTypeVersion
3911	}
3912	if audce.UpgradeState != nil {
3913		objectMap["UpgradeState"] = audce.UpgradeState
3914	}
3915	if audce.UpgradeDomains != nil {
3916		objectMap["UpgradeDomains"] = audce.UpgradeDomains
3917	}
3918	if audce.UpgradeDomainElapsedTimeInMs != nil {
3919		objectMap["UpgradeDomainElapsedTimeInMs"] = audce.UpgradeDomainElapsedTimeInMs
3920	}
3921	if audce.ApplicationID != nil {
3922		objectMap["ApplicationId"] = audce.ApplicationID
3923	}
3924	if audce.EventInstanceID != nil {
3925		objectMap["EventInstanceId"] = audce.EventInstanceID
3926	}
3927	if audce.TimeStamp != nil {
3928		objectMap["TimeStamp"] = audce.TimeStamp
3929	}
3930	if audce.HasCorrelatedEvents != nil {
3931		objectMap["HasCorrelatedEvents"] = audce.HasCorrelatedEvents
3932	}
3933	if audce.Kind != "" {
3934		objectMap["Kind"] = audce.Kind
3935	}
3936	return json.Marshal(objectMap)
3937}
3938
3939// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3940func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3941	return nil, false
3942}
3943
3944// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3945func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3946	return &audce, true
3947}
3948
3949// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3950func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
3951	return nil, false
3952}
3953
3954// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3955func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3956	return nil, false
3957}
3958
3959// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3960func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3961	return nil, false
3962}
3963
3964// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3965func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
3966	return nil, false
3967}
3968
3969// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3970func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3971	return nil, false
3972}
3973
3974// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3975func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3976	return nil, false
3977}
3978
3979// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3980func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3981	return nil, false
3982}
3983
3984// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3985func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3986	return nil, false
3987}
3988
3989// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3990func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3991	return nil, false
3992}
3993
3994// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3995func (audce ApplicationUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3996	return nil, false
3997}
3998
3999// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4000func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
4001	return nil, false
4002}
4003
4004// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4005func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
4006	return nil, false
4007}
4008
4009// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4010func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4011	return nil, false
4012}
4013
4014// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4015func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4016	return nil, false
4017}
4018
4019// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4020func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4021	return nil, false
4022}
4023
4024// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4025func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4026	return nil, false
4027}
4028
4029// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4030func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4031	return nil, false
4032}
4033
4034// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4035func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4036	return nil, false
4037}
4038
4039// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4040func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4041	return &audce, true
4042}
4043
4044// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4045func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4046	return nil, false
4047}
4048
4049// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4050func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4051	return nil, false
4052}
4053
4054// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4055func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4056	return nil, false
4057}
4058
4059// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4060func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4061	return nil, false
4062}
4063
4064// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4065func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4066	return nil, false
4067}
4068
4069// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4070func (audce ApplicationUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
4071	return nil, false
4072}
4073
4074// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4075func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
4076	return nil, false
4077}
4078
4079// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4080func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
4081	return nil, false
4082}
4083
4084// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4085func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
4086	return nil, false
4087}
4088
4089// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4090func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
4091	return nil, false
4092}
4093
4094// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4095func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4096	return nil, false
4097}
4098
4099// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4100func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4101	return nil, false
4102}
4103
4104// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4105func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4106	return nil, false
4107}
4108
4109// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4110func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4111	return nil, false
4112}
4113
4114// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4115func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4116	return nil, false
4117}
4118
4119// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4120func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4121	return nil, false
4122}
4123
4124// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4125func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4126	return nil, false
4127}
4128
4129// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4130func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4131	return nil, false
4132}
4133
4134// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4135func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4136	return nil, false
4137}
4138
4139// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4140func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4141	return nil, false
4142}
4143
4144// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4145func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4146	return nil, false
4147}
4148
4149// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4150func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4151	return nil, false
4152}
4153
4154// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4155func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4156	return nil, false
4157}
4158
4159// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4160func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4161	return nil, false
4162}
4163
4164// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4165func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4166	return nil, false
4167}
4168
4169// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4170func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4171	return nil, false
4172}
4173
4174// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4175func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4176	return nil, false
4177}
4178
4179// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4180func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4181	return nil, false
4182}
4183
4184// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4185func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4186	return nil, false
4187}
4188
4189// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4190func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4191	return nil, false
4192}
4193
4194// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4195func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4196	return nil, false
4197}
4198
4199// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4200func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4201	return nil, false
4202}
4203
4204// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4205func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4206	return nil, false
4207}
4208
4209// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4210func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4211	return nil, false
4212}
4213
4214// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4215func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4216	return nil, false
4217}
4218
4219// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4220func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4221	return nil, false
4222}
4223
4224// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4225func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4226	return nil, false
4227}
4228
4229// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4230func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4231	return nil, false
4232}
4233
4234// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4235func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4236	return nil, false
4237}
4238
4239// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4240func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4241	return nil, false
4242}
4243
4244// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4245func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4246	return nil, false
4247}
4248
4249// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4250func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4251	return nil, false
4252}
4253
4254// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4255func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4256	return nil, false
4257}
4258
4259// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4260func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4261	return nil, false
4262}
4263
4264// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4265func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4266	return nil, false
4267}
4268
4269// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4270func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4271	return nil, false
4272}
4273
4274// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4275func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4276	return nil, false
4277}
4278
4279// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4280func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4281	return nil, false
4282}
4283
4284// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4285func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4286	return nil, false
4287}
4288
4289// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4290func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4291	return nil, false
4292}
4293
4294// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4295func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4296	return nil, false
4297}
4298
4299// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4300func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4301	return nil, false
4302}
4303
4304// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4305func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4306	return nil, false
4307}
4308
4309// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4310func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4311	return nil, false
4312}
4313
4314// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4315func (audce ApplicationUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
4316	return nil, false
4317}
4318
4319// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4320func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4321	return &audce, true
4322}
4323
4324// ApplicationUpgradeProgressInfo describes the parameters for an application upgrade.
4325type ApplicationUpgradeProgressInfo struct {
4326	autorest.Response `json:"-"`
4327	// Name - The name of the target application, including the 'fabric:' URI scheme.
4328	Name *string `json:"Name,omitempty"`
4329	// TypeName - The application type name as defined in the application manifest.
4330	TypeName *string `json:"TypeName,omitempty"`
4331	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
4332	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
4333	// UpgradeDomains - List of upgrade domains and their statuses.
4334	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
4335	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
4336	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
4337	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
4338	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
4339	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
4340	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
4341	// UpgradeDescription - Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.
4342	UpgradeDescription *ApplicationUpgradeDescription `json:"UpgradeDescription,omitempty"`
4343	// UpgradeDurationInMilliseconds - The estimated total amount of time spent processing the overall upgrade.
4344	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
4345	// UpgradeDomainDurationInMilliseconds - The estimated total amount of time spent processing the current upgrade domain.
4346	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
4347	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
4348	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
4349	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
4350	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
4351	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
4352	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
4353	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
4354	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
4355	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
4356	FailureReason FailureReason `json:"FailureReason,omitempty"`
4357	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
4358	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
4359	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
4360	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
4361}
4362
4363// ApplicationUpgradeRollbackCompleteEvent application Upgrade Rollback Complete event.
4364type ApplicationUpgradeRollbackCompleteEvent struct {
4365	// ApplicationTypeName - Application type name.
4366	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
4367	// ApplicationTypeVersion - Application type version.
4368	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
4369	// FailureReason - Describes reason of failure.
4370	FailureReason *string `json:"FailureReason,omitempty"`
4371	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
4372	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
4373	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
4374	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
4375	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
4376	ApplicationID *string `json:"ApplicationId,omitempty"`
4377	// EventInstanceID - The identifier for the FabricEvent instance.
4378	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
4379	// TimeStamp - The time event was logged.
4380	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
4381	// HasCorrelatedEvents - Shows there is existing related events available.
4382	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
4383	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
4384	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
4385}
4386
4387// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackCompleteEvent.
4388func (aurce ApplicationUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
4389	aurce.Kind = KindApplicationUpgradeRollbackComplete
4390	objectMap := make(map[string]interface{})
4391	if aurce.ApplicationTypeName != nil {
4392		objectMap["ApplicationTypeName"] = aurce.ApplicationTypeName
4393	}
4394	if aurce.ApplicationTypeVersion != nil {
4395		objectMap["ApplicationTypeVersion"] = aurce.ApplicationTypeVersion
4396	}
4397	if aurce.FailureReason != nil {
4398		objectMap["FailureReason"] = aurce.FailureReason
4399	}
4400	if aurce.OverallUpgradeElapsedTimeInMs != nil {
4401		objectMap["OverallUpgradeElapsedTimeInMs"] = aurce.OverallUpgradeElapsedTimeInMs
4402	}
4403	if aurce.ApplicationID != nil {
4404		objectMap["ApplicationId"] = aurce.ApplicationID
4405	}
4406	if aurce.EventInstanceID != nil {
4407		objectMap["EventInstanceId"] = aurce.EventInstanceID
4408	}
4409	if aurce.TimeStamp != nil {
4410		objectMap["TimeStamp"] = aurce.TimeStamp
4411	}
4412	if aurce.HasCorrelatedEvents != nil {
4413		objectMap["HasCorrelatedEvents"] = aurce.HasCorrelatedEvents
4414	}
4415	if aurce.Kind != "" {
4416		objectMap["Kind"] = aurce.Kind
4417	}
4418	return json.Marshal(objectMap)
4419}
4420
4421// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4422func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
4423	return nil, false
4424}
4425
4426// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4427func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
4428	return &aurce, true
4429}
4430
4431// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4432func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
4433	return nil, false
4434}
4435
4436// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4437func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
4438	return nil, false
4439}
4440
4441// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4442func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
4443	return nil, false
4444}
4445
4446// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4447func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
4448	return nil, false
4449}
4450
4451// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4452func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
4453	return nil, false
4454}
4455
4456// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4457func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
4458	return nil, false
4459}
4460
4461// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4462func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
4463	return nil, false
4464}
4465
4466// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4467func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
4468	return nil, false
4469}
4470
4471// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4472func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
4473	return nil, false
4474}
4475
4476// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4477func (aurce ApplicationUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
4478	return nil, false
4479}
4480
4481// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4482func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
4483	return nil, false
4484}
4485
4486// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4487func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
4488	return nil, false
4489}
4490
4491// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4492func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4493	return nil, false
4494}
4495
4496// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4497func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4498	return nil, false
4499}
4500
4501// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4502func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4503	return nil, false
4504}
4505
4506// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4507func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4508	return nil, false
4509}
4510
4511// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4512func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4513	return nil, false
4514}
4515
4516// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4517func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4518	return nil, false
4519}
4520
4521// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4522func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4523	return nil, false
4524}
4525
4526// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4527func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4528	return &aurce, true
4529}
4530
4531// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4532func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4533	return nil, false
4534}
4535
4536// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4537func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4538	return nil, false
4539}
4540
4541// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4542func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4543	return nil, false
4544}
4545
4546// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4547func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4548	return nil, false
4549}
4550
4551// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4552func (aurce ApplicationUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
4553	return nil, false
4554}
4555
4556// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4557func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
4558	return nil, false
4559}
4560
4561// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4562func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
4563	return nil, false
4564}
4565
4566// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4567func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
4568	return nil, false
4569}
4570
4571// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4572func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
4573	return nil, false
4574}
4575
4576// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4577func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4578	return nil, false
4579}
4580
4581// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4582func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4583	return nil, false
4584}
4585
4586// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4587func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4588	return nil, false
4589}
4590
4591// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4592func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4593	return nil, false
4594}
4595
4596// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4597func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4598	return nil, false
4599}
4600
4601// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4602func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4603	return nil, false
4604}
4605
4606// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4607func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4608	return nil, false
4609}
4610
4611// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4612func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4613	return nil, false
4614}
4615
4616// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4617func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4618	return nil, false
4619}
4620
4621// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4622func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4623	return nil, false
4624}
4625
4626// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4627func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4628	return nil, false
4629}
4630
4631// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4632func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4633	return nil, false
4634}
4635
4636// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4637func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4638	return nil, false
4639}
4640
4641// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4642func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4643	return nil, false
4644}
4645
4646// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4647func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4648	return nil, false
4649}
4650
4651// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4652func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4653	return nil, false
4654}
4655
4656// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4657func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4658	return nil, false
4659}
4660
4661// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4662func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4663	return nil, false
4664}
4665
4666// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4667func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4668	return nil, false
4669}
4670
4671// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4672func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4673	return nil, false
4674}
4675
4676// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4677func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4678	return nil, false
4679}
4680
4681// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4682func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4683	return nil, false
4684}
4685
4686// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4687func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4688	return nil, false
4689}
4690
4691// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4692func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4693	return nil, false
4694}
4695
4696// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4697func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4698	return nil, false
4699}
4700
4701// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4702func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4703	return nil, false
4704}
4705
4706// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4707func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4708	return nil, false
4709}
4710
4711// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4712func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4713	return nil, false
4714}
4715
4716// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4717func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4718	return nil, false
4719}
4720
4721// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4722func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4723	return nil, false
4724}
4725
4726// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4727func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4728	return nil, false
4729}
4730
4731// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4732func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4733	return nil, false
4734}
4735
4736// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4737func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4738	return nil, false
4739}
4740
4741// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4742func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4743	return nil, false
4744}
4745
4746// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4747func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4748	return nil, false
4749}
4750
4751// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4752func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4753	return nil, false
4754}
4755
4756// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4757func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4758	return nil, false
4759}
4760
4761// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4762func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4763	return nil, false
4764}
4765
4766// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4767func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4768	return nil, false
4769}
4770
4771// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4772func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4773	return nil, false
4774}
4775
4776// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4777func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4778	return nil, false
4779}
4780
4781// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4782func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4783	return nil, false
4784}
4785
4786// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4787func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4788	return nil, false
4789}
4790
4791// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4792func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4793	return nil, false
4794}
4795
4796// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4797func (aurce ApplicationUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
4798	return nil, false
4799}
4800
4801// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4802func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4803	return &aurce, true
4804}
4805
4806// ApplicationUpgradeRollbackStartEvent application Upgrade Rollback Start event.
4807type ApplicationUpgradeRollbackStartEvent struct {
4808	// ApplicationTypeName - Application type name.
4809	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
4810	// CurrentApplicationTypeVersion - Current Application type version.
4811	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
4812	// ApplicationTypeVersion - Target Application type version.
4813	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
4814	// FailureReason - Describes reason of failure.
4815	FailureReason *string `json:"FailureReason,omitempty"`
4816	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
4817	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
4818	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
4819	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
4820	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
4821	ApplicationID *string `json:"ApplicationId,omitempty"`
4822	// EventInstanceID - The identifier for the FabricEvent instance.
4823	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
4824	// TimeStamp - The time event was logged.
4825	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
4826	// HasCorrelatedEvents - Shows there is existing related events available.
4827	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
4828	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
4829	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
4830}
4831
4832// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackStartEvent.
4833func (aurse ApplicationUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
4834	aurse.Kind = KindApplicationUpgradeRollbackStart
4835	objectMap := make(map[string]interface{})
4836	if aurse.ApplicationTypeName != nil {
4837		objectMap["ApplicationTypeName"] = aurse.ApplicationTypeName
4838	}
4839	if aurse.CurrentApplicationTypeVersion != nil {
4840		objectMap["CurrentApplicationTypeVersion"] = aurse.CurrentApplicationTypeVersion
4841	}
4842	if aurse.ApplicationTypeVersion != nil {
4843		objectMap["ApplicationTypeVersion"] = aurse.ApplicationTypeVersion
4844	}
4845	if aurse.FailureReason != nil {
4846		objectMap["FailureReason"] = aurse.FailureReason
4847	}
4848	if aurse.OverallUpgradeElapsedTimeInMs != nil {
4849		objectMap["OverallUpgradeElapsedTimeInMs"] = aurse.OverallUpgradeElapsedTimeInMs
4850	}
4851	if aurse.ApplicationID != nil {
4852		objectMap["ApplicationId"] = aurse.ApplicationID
4853	}
4854	if aurse.EventInstanceID != nil {
4855		objectMap["EventInstanceId"] = aurse.EventInstanceID
4856	}
4857	if aurse.TimeStamp != nil {
4858		objectMap["TimeStamp"] = aurse.TimeStamp
4859	}
4860	if aurse.HasCorrelatedEvents != nil {
4861		objectMap["HasCorrelatedEvents"] = aurse.HasCorrelatedEvents
4862	}
4863	if aurse.Kind != "" {
4864		objectMap["Kind"] = aurse.Kind
4865	}
4866	return json.Marshal(objectMap)
4867}
4868
4869// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4870func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
4871	return nil, false
4872}
4873
4874// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4875func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
4876	return &aurse, true
4877}
4878
4879// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4880func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
4881	return nil, false
4882}
4883
4884// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4885func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
4886	return nil, false
4887}
4888
4889// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4890func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
4891	return nil, false
4892}
4893
4894// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4895func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
4896	return nil, false
4897}
4898
4899// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4900func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
4901	return nil, false
4902}
4903
4904// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4905func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
4906	return nil, false
4907}
4908
4909// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4910func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
4911	return nil, false
4912}
4913
4914// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4915func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
4916	return nil, false
4917}
4918
4919// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4920func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
4921	return nil, false
4922}
4923
4924// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4925func (aurse ApplicationUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
4926	return nil, false
4927}
4928
4929// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4930func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
4931	return nil, false
4932}
4933
4934// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4935func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
4936	return nil, false
4937}
4938
4939// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4940func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4941	return nil, false
4942}
4943
4944// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4945func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4946	return nil, false
4947}
4948
4949// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4950func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4951	return nil, false
4952}
4953
4954// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4955func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4956	return nil, false
4957}
4958
4959// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4960func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4961	return nil, false
4962}
4963
4964// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4965func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4966	return nil, false
4967}
4968
4969// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4970func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4971	return nil, false
4972}
4973
4974// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4975func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4976	return nil, false
4977}
4978
4979// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4980func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4981	return &aurse, true
4982}
4983
4984// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4985func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4986	return nil, false
4987}
4988
4989// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4990func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4991	return nil, false
4992}
4993
4994// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4995func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4996	return nil, false
4997}
4998
4999// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5000func (aurse ApplicationUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
5001	return nil, false
5002}
5003
5004// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5005func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
5006	return nil, false
5007}
5008
5009// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5010func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
5011	return nil, false
5012}
5013
5014// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5015func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
5016	return nil, false
5017}
5018
5019// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5020func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
5021	return nil, false
5022}
5023
5024// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5025func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
5026	return nil, false
5027}
5028
5029// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5030func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
5031	return nil, false
5032}
5033
5034// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5035func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
5036	return nil, false
5037}
5038
5039// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5040func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
5041	return nil, false
5042}
5043
5044// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5045func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
5046	return nil, false
5047}
5048
5049// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5050func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
5051	return nil, false
5052}
5053
5054// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5055func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
5056	return nil, false
5057}
5058
5059// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5060func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
5061	return nil, false
5062}
5063
5064// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5065func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
5066	return nil, false
5067}
5068
5069// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5070func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
5071	return nil, false
5072}
5073
5074// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5075func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
5076	return nil, false
5077}
5078
5079// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5080func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
5081	return nil, false
5082}
5083
5084// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5085func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
5086	return nil, false
5087}
5088
5089// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5090func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
5091	return nil, false
5092}
5093
5094// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5095func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5096	return nil, false
5097}
5098
5099// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5100func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5101	return nil, false
5102}
5103
5104// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5105func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5106	return nil, false
5107}
5108
5109// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5110func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5111	return nil, false
5112}
5113
5114// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5115func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5116	return nil, false
5117}
5118
5119// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5120func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5121	return nil, false
5122}
5123
5124// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5125func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5126	return nil, false
5127}
5128
5129// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5130func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5131	return nil, false
5132}
5133
5134// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5135func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5136	return nil, false
5137}
5138
5139// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5140func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5141	return nil, false
5142}
5143
5144// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5145func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5146	return nil, false
5147}
5148
5149// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5150func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5151	return nil, false
5152}
5153
5154// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5155func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5156	return nil, false
5157}
5158
5159// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5160func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5161	return nil, false
5162}
5163
5164// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5165func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5166	return nil, false
5167}
5168
5169// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5170func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5171	return nil, false
5172}
5173
5174// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5175func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5176	return nil, false
5177}
5178
5179// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5180func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5181	return nil, false
5182}
5183
5184// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5185func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5186	return nil, false
5187}
5188
5189// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5190func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5191	return nil, false
5192}
5193
5194// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5195func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5196	return nil, false
5197}
5198
5199// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5200func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5201	return nil, false
5202}
5203
5204// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5205func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5206	return nil, false
5207}
5208
5209// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5210func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5211	return nil, false
5212}
5213
5214// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5215func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5216	return nil, false
5217}
5218
5219// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5220func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5221	return nil, false
5222}
5223
5224// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5225func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5226	return nil, false
5227}
5228
5229// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5230func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5231	return nil, false
5232}
5233
5234// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5235func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5236	return nil, false
5237}
5238
5239// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5240func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5241	return nil, false
5242}
5243
5244// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5245func (aurse ApplicationUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
5246	return nil, false
5247}
5248
5249// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5250func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
5251	return &aurse, true
5252}
5253
5254// ApplicationUpgradeStartEvent application Upgrade Start event.
5255type ApplicationUpgradeStartEvent struct {
5256	// ApplicationTypeName - Application type name.
5257	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
5258	// CurrentApplicationTypeVersion - Current Application type version.
5259	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
5260	// ApplicationTypeVersion - Target Application type version.
5261	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
5262	// UpgradeType - Type of upgrade.
5263	UpgradeType *string `json:"UpgradeType,omitempty"`
5264	// RollingUpgradeMode - Mode of upgrade.
5265	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
5266	// FailureAction - Action if failed.
5267	FailureAction *string `json:"FailureAction,omitempty"`
5268	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
5269	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
5270	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
5271	ApplicationID *string `json:"ApplicationId,omitempty"`
5272	// EventInstanceID - The identifier for the FabricEvent instance.
5273	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
5274	// TimeStamp - The time event was logged.
5275	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
5276	// HasCorrelatedEvents - Shows there is existing related events available.
5277	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
5278	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
5279	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
5280}
5281
5282// MarshalJSON is the custom marshaler for ApplicationUpgradeStartEvent.
5283func (ause ApplicationUpgradeStartEvent) MarshalJSON() ([]byte, error) {
5284	ause.Kind = KindApplicationUpgradeStart
5285	objectMap := make(map[string]interface{})
5286	if ause.ApplicationTypeName != nil {
5287		objectMap["ApplicationTypeName"] = ause.ApplicationTypeName
5288	}
5289	if ause.CurrentApplicationTypeVersion != nil {
5290		objectMap["CurrentApplicationTypeVersion"] = ause.CurrentApplicationTypeVersion
5291	}
5292	if ause.ApplicationTypeVersion != nil {
5293		objectMap["ApplicationTypeVersion"] = ause.ApplicationTypeVersion
5294	}
5295	if ause.UpgradeType != nil {
5296		objectMap["UpgradeType"] = ause.UpgradeType
5297	}
5298	if ause.RollingUpgradeMode != nil {
5299		objectMap["RollingUpgradeMode"] = ause.RollingUpgradeMode
5300	}
5301	if ause.FailureAction != nil {
5302		objectMap["FailureAction"] = ause.FailureAction
5303	}
5304	if ause.ApplicationID != nil {
5305		objectMap["ApplicationId"] = ause.ApplicationID
5306	}
5307	if ause.EventInstanceID != nil {
5308		objectMap["EventInstanceId"] = ause.EventInstanceID
5309	}
5310	if ause.TimeStamp != nil {
5311		objectMap["TimeStamp"] = ause.TimeStamp
5312	}
5313	if ause.HasCorrelatedEvents != nil {
5314		objectMap["HasCorrelatedEvents"] = ause.HasCorrelatedEvents
5315	}
5316	if ause.Kind != "" {
5317		objectMap["Kind"] = ause.Kind
5318	}
5319	return json.Marshal(objectMap)
5320}
5321
5322// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5323func (ause ApplicationUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
5324	return nil, false
5325}
5326
5327// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5328func (ause ApplicationUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
5329	return &ause, true
5330}
5331
5332// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5333func (ause ApplicationUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
5334	return nil, false
5335}
5336
5337// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5338func (ause ApplicationUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
5339	return nil, false
5340}
5341
5342// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5343func (ause ApplicationUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
5344	return nil, false
5345}
5346
5347// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5348func (ause ApplicationUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
5349	return nil, false
5350}
5351
5352// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5353func (ause ApplicationUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
5354	return nil, false
5355}
5356
5357// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5358func (ause ApplicationUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
5359	return nil, false
5360}
5361
5362// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5363func (ause ApplicationUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
5364	return nil, false
5365}
5366
5367// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5368func (ause ApplicationUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
5369	return nil, false
5370}
5371
5372// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5373func (ause ApplicationUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
5374	return nil, false
5375}
5376
5377// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5378func (ause ApplicationUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
5379	return nil, false
5380}
5381
5382// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5383func (ause ApplicationUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
5384	return nil, false
5385}
5386
5387// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5388func (ause ApplicationUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
5389	return nil, false
5390}
5391
5392// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5393func (ause ApplicationUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
5394	return nil, false
5395}
5396
5397// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5398func (ause ApplicationUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
5399	return nil, false
5400}
5401
5402// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5403func (ause ApplicationUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
5404	return nil, false
5405}
5406
5407// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5408func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
5409	return nil, false
5410}
5411
5412// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5413func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
5414	return nil, false
5415}
5416
5417// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5418func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
5419	return nil, false
5420}
5421
5422// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5423func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
5424	return nil, false
5425}
5426
5427// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5428func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
5429	return nil, false
5430}
5431
5432// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5433func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
5434	return nil, false
5435}
5436
5437// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5438func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
5439	return &ause, true
5440}
5441
5442// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5443func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
5444	return nil, false
5445}
5446
5447// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5448func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
5449	return nil, false
5450}
5451
5452// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5453func (ause ApplicationUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
5454	return nil, false
5455}
5456
5457// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5458func (ause ApplicationUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
5459	return nil, false
5460}
5461
5462// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5463func (ause ApplicationUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
5464	return nil, false
5465}
5466
5467// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5468func (ause ApplicationUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
5469	return nil, false
5470}
5471
5472// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5473func (ause ApplicationUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
5474	return nil, false
5475}
5476
5477// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5478func (ause ApplicationUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
5479	return nil, false
5480}
5481
5482// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5483func (ause ApplicationUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
5484	return nil, false
5485}
5486
5487// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5488func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
5489	return nil, false
5490}
5491
5492// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5493func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
5494	return nil, false
5495}
5496
5497// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5498func (ause ApplicationUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
5499	return nil, false
5500}
5501
5502// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5503func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
5504	return nil, false
5505}
5506
5507// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5508func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
5509	return nil, false
5510}
5511
5512// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5513func (ause ApplicationUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
5514	return nil, false
5515}
5516
5517// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5518func (ause ApplicationUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
5519	return nil, false
5520}
5521
5522// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5523func (ause ApplicationUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
5524	return nil, false
5525}
5526
5527// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5528func (ause ApplicationUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
5529	return nil, false
5530}
5531
5532// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5533func (ause ApplicationUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
5534	return nil, false
5535}
5536
5537// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5538func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
5539	return nil, false
5540}
5541
5542// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5543func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
5544	return nil, false
5545}
5546
5547// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5548func (ause ApplicationUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5549	return nil, false
5550}
5551
5552// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5553func (ause ApplicationUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5554	return nil, false
5555}
5556
5557// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5558func (ause ApplicationUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5559	return nil, false
5560}
5561
5562// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5563func (ause ApplicationUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5564	return nil, false
5565}
5566
5567// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5568func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5569	return nil, false
5570}
5571
5572// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5573func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5574	return nil, false
5575}
5576
5577// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5578func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5579	return nil, false
5580}
5581
5582// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5583func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5584	return nil, false
5585}
5586
5587// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5588func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5589	return nil, false
5590}
5591
5592// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5593func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5594	return nil, false
5595}
5596
5597// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5598func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5599	return nil, false
5600}
5601
5602// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5603func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5604	return nil, false
5605}
5606
5607// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5608func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5609	return nil, false
5610}
5611
5612// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5613func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5614	return nil, false
5615}
5616
5617// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5618func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5619	return nil, false
5620}
5621
5622// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5623func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5624	return nil, false
5625}
5626
5627// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5628func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5629	return nil, false
5630}
5631
5632// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5633func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5634	return nil, false
5635}
5636
5637// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5638func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5639	return nil, false
5640}
5641
5642// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5643func (ause ApplicationUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5644	return nil, false
5645}
5646
5647// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5648func (ause ApplicationUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5649	return nil, false
5650}
5651
5652// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5653func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5654	return nil, false
5655}
5656
5657// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5658func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5659	return nil, false
5660}
5661
5662// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5663func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5664	return nil, false
5665}
5666
5667// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5668func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5669	return nil, false
5670}
5671
5672// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5673func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5674	return nil, false
5675}
5676
5677// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5678func (ause ApplicationUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5679	return nil, false
5680}
5681
5682// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5683func (ause ApplicationUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5684	return nil, false
5685}
5686
5687// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5688func (ause ApplicationUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5689	return nil, false
5690}
5691
5692// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5693func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5694	return nil, false
5695}
5696
5697// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5698func (ause ApplicationUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
5699	return nil, false
5700}
5701
5702// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5703func (ause ApplicationUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
5704	return &ause, true
5705}
5706
5707// ApplicationUpgradeUpdateDescription describes the parameters for updating an ongoing application
5708// upgrade.
5709type ApplicationUpgradeUpdateDescription struct {
5710	// Name - The name of the application, including the 'fabric:' URI scheme.
5711	Name *string `json:"Name,omitempty"`
5712	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
5713	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
5714	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
5715	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
5716	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
5717	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
5718}
5719
5720// AveragePartitionLoadScalingTrigger represents a scaling trigger related to an average load of a
5721// metric/resource of a partition.
5722type AveragePartitionLoadScalingTrigger struct {
5723	// MetricName - The name of the metric for which usage should be tracked.
5724	MetricName *string `json:"MetricName,omitempty"`
5725	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
5726	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
5727	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
5728	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
5729	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
5730	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
5731	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
5732	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
5733}
5734
5735// MarshalJSON is the custom marshaler for AveragePartitionLoadScalingTrigger.
5736func (aplst AveragePartitionLoadScalingTrigger) MarshalJSON() ([]byte, error) {
5737	aplst.Kind = KindAveragePartitionLoad
5738	objectMap := make(map[string]interface{})
5739	if aplst.MetricName != nil {
5740		objectMap["MetricName"] = aplst.MetricName
5741	}
5742	if aplst.LowerLoadThreshold != nil {
5743		objectMap["LowerLoadThreshold"] = aplst.LowerLoadThreshold
5744	}
5745	if aplst.UpperLoadThreshold != nil {
5746		objectMap["UpperLoadThreshold"] = aplst.UpperLoadThreshold
5747	}
5748	if aplst.ScaleIntervalInSeconds != nil {
5749		objectMap["ScaleIntervalInSeconds"] = aplst.ScaleIntervalInSeconds
5750	}
5751	if aplst.Kind != "" {
5752		objectMap["Kind"] = aplst.Kind
5753	}
5754	return json.Marshal(objectMap)
5755}
5756
5757// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5758func (aplst AveragePartitionLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
5759	return &aplst, true
5760}
5761
5762// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5763func (aplst AveragePartitionLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
5764	return nil, false
5765}
5766
5767// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5768func (aplst AveragePartitionLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
5769	return nil, false
5770}
5771
5772// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5773func (aplst AveragePartitionLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
5774	return &aplst, true
5775}
5776
5777// AverageServiceLoadScalingTrigger represents a scaling policy related to an average load of a
5778// metric/resource of a service.
5779type AverageServiceLoadScalingTrigger struct {
5780	// MetricName - The name of the metric for which usage should be tracked.
5781	MetricName *string `json:"MetricName,omitempty"`
5782	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
5783	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
5784	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
5785	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
5786	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
5787	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
5788	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
5789	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
5790}
5791
5792// MarshalJSON is the custom marshaler for AverageServiceLoadScalingTrigger.
5793func (aslst AverageServiceLoadScalingTrigger) MarshalJSON() ([]byte, error) {
5794	aslst.Kind = KindAverageServiceLoad
5795	objectMap := make(map[string]interface{})
5796	if aslst.MetricName != nil {
5797		objectMap["MetricName"] = aslst.MetricName
5798	}
5799	if aslst.LowerLoadThreshold != nil {
5800		objectMap["LowerLoadThreshold"] = aslst.LowerLoadThreshold
5801	}
5802	if aslst.UpperLoadThreshold != nil {
5803		objectMap["UpperLoadThreshold"] = aslst.UpperLoadThreshold
5804	}
5805	if aslst.ScaleIntervalInSeconds != nil {
5806		objectMap["ScaleIntervalInSeconds"] = aslst.ScaleIntervalInSeconds
5807	}
5808	if aslst.Kind != "" {
5809		objectMap["Kind"] = aslst.Kind
5810	}
5811	return json.Marshal(objectMap)
5812}
5813
5814// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5815func (aslst AverageServiceLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
5816	return nil, false
5817}
5818
5819// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5820func (aslst AverageServiceLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
5821	return &aslst, true
5822}
5823
5824// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5825func (aslst AverageServiceLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
5826	return nil, false
5827}
5828
5829// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5830func (aslst AverageServiceLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
5831	return &aslst, true
5832}
5833
5834// AzureBlobBackupStorageDescription describes the parameters for Azure blob store used for storing and
5835// enumerating backups.
5836type AzureBlobBackupStorageDescription struct {
5837	// ConnectionString - The connection string to connect to the Azure blob store.
5838	ConnectionString *string `json:"ConnectionString,omitempty"`
5839	// ContainerName - The name of the container in the blob store to store and enumerate backups from.
5840	ContainerName *string `json:"ContainerName,omitempty"`
5841	// FriendlyName - Friendly name for this backup storage.
5842	FriendlyName *string `json:"FriendlyName,omitempty"`
5843	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
5844	StorageKind StorageKind `json:"StorageKind,omitempty"`
5845}
5846
5847// MarshalJSON is the custom marshaler for AzureBlobBackupStorageDescription.
5848func (abbsd AzureBlobBackupStorageDescription) MarshalJSON() ([]byte, error) {
5849	abbsd.StorageKind = StorageKindAzureBlobStore
5850	objectMap := make(map[string]interface{})
5851	if abbsd.ConnectionString != nil {
5852		objectMap["ConnectionString"] = abbsd.ConnectionString
5853	}
5854	if abbsd.ContainerName != nil {
5855		objectMap["ContainerName"] = abbsd.ContainerName
5856	}
5857	if abbsd.FriendlyName != nil {
5858		objectMap["FriendlyName"] = abbsd.FriendlyName
5859	}
5860	if abbsd.StorageKind != "" {
5861		objectMap["StorageKind"] = abbsd.StorageKind
5862	}
5863	return json.Marshal(objectMap)
5864}
5865
5866// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5867func (abbsd AzureBlobBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
5868	return &abbsd, true
5869}
5870
5871// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5872func (abbsd AzureBlobBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
5873	return nil, false
5874}
5875
5876// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5877func (abbsd AzureBlobBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
5878	return nil, false
5879}
5880
5881// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5882func (abbsd AzureBlobBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
5883	return &abbsd, true
5884}
5885
5886// BasicBackupConfigurationInfo describes the backup configuration information.
5887type BasicBackupConfigurationInfo interface {
5888	AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool)
5889	AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool)
5890	AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool)
5891	AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool)
5892}
5893
5894// BackupConfigurationInfo describes the backup configuration information.
5895type BackupConfigurationInfo struct {
5896	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
5897	PolicyName *string `json:"PolicyName,omitempty"`
5898	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
5899	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
5900	// SuspensionInfo - Describes the backup suspension details.
5901	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
5902	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
5903	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
5904}
5905
5906func unmarshalBasicBackupConfigurationInfo(body []byte) (BasicBackupConfigurationInfo, error) {
5907	var m map[string]interface{}
5908	err := json.Unmarshal(body, &m)
5909	if err != nil {
5910		return nil, err
5911	}
5912
5913	switch m["Kind"] {
5914	case string(KindBasicBackupConfigurationInfoKindApplication):
5915		var abci ApplicationBackupConfigurationInfo
5916		err := json.Unmarshal(body, &abci)
5917		return abci, err
5918	case string(KindBasicBackupConfigurationInfoKindService):
5919		var sbci ServiceBackupConfigurationInfo
5920		err := json.Unmarshal(body, &sbci)
5921		return sbci, err
5922	case string(KindBasicBackupConfigurationInfoKindPartition):
5923		var pbci PartitionBackupConfigurationInfo
5924		err := json.Unmarshal(body, &pbci)
5925		return pbci, err
5926	default:
5927		var bci BackupConfigurationInfo
5928		err := json.Unmarshal(body, &bci)
5929		return bci, err
5930	}
5931}
5932func unmarshalBasicBackupConfigurationInfoArray(body []byte) ([]BasicBackupConfigurationInfo, error) {
5933	var rawMessages []*json.RawMessage
5934	err := json.Unmarshal(body, &rawMessages)
5935	if err != nil {
5936		return nil, err
5937	}
5938
5939	bciArray := make([]BasicBackupConfigurationInfo, len(rawMessages))
5940
5941	for index, rawMessage := range rawMessages {
5942		bci, err := unmarshalBasicBackupConfigurationInfo(*rawMessage)
5943		if err != nil {
5944			return nil, err
5945		}
5946		bciArray[index] = bci
5947	}
5948	return bciArray, nil
5949}
5950
5951// MarshalJSON is the custom marshaler for BackupConfigurationInfo.
5952func (bci BackupConfigurationInfo) MarshalJSON() ([]byte, error) {
5953	bci.Kind = KindBasicBackupConfigurationInfoKindBackupConfigurationInfo
5954	objectMap := make(map[string]interface{})
5955	if bci.PolicyName != nil {
5956		objectMap["PolicyName"] = bci.PolicyName
5957	}
5958	if bci.PolicyInheritedFrom != "" {
5959		objectMap["PolicyInheritedFrom"] = bci.PolicyInheritedFrom
5960	}
5961	if bci.SuspensionInfo != nil {
5962		objectMap["SuspensionInfo"] = bci.SuspensionInfo
5963	}
5964	if bci.Kind != "" {
5965		objectMap["Kind"] = bci.Kind
5966	}
5967	return json.Marshal(objectMap)
5968}
5969
5970// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5971func (bci BackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
5972	return nil, false
5973}
5974
5975// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5976func (bci BackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
5977	return nil, false
5978}
5979
5980// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5981func (bci BackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
5982	return nil, false
5983}
5984
5985// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5986func (bci BackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
5987	return &bci, true
5988}
5989
5990// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5991func (bci BackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
5992	return &bci, true
5993}
5994
5995// BasicBackupEntity describes the Service Fabric entity that is configured for backup.
5996type BasicBackupEntity interface {
5997	AsApplicationBackupEntity() (*ApplicationBackupEntity, bool)
5998	AsServiceBackupEntity() (*ServiceBackupEntity, bool)
5999	AsPartitionBackupEntity() (*PartitionBackupEntity, bool)
6000	AsBackupEntity() (*BackupEntity, bool)
6001}
6002
6003// BackupEntity describes the Service Fabric entity that is configured for backup.
6004type BackupEntity struct {
6005	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
6006	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
6007}
6008
6009func unmarshalBasicBackupEntity(body []byte) (BasicBackupEntity, error) {
6010	var m map[string]interface{}
6011	err := json.Unmarshal(body, &m)
6012	if err != nil {
6013		return nil, err
6014	}
6015
6016	switch m["EntityKind"] {
6017	case string(EntityKindApplication1):
6018		var abe ApplicationBackupEntity
6019		err := json.Unmarshal(body, &abe)
6020		return abe, err
6021	case string(EntityKindService1):
6022		var sbe ServiceBackupEntity
6023		err := json.Unmarshal(body, &sbe)
6024		return sbe, err
6025	case string(EntityKindPartition1):
6026		var pbe PartitionBackupEntity
6027		err := json.Unmarshal(body, &pbe)
6028		return pbe, err
6029	default:
6030		var be BackupEntity
6031		err := json.Unmarshal(body, &be)
6032		return be, err
6033	}
6034}
6035func unmarshalBasicBackupEntityArray(body []byte) ([]BasicBackupEntity, error) {
6036	var rawMessages []*json.RawMessage
6037	err := json.Unmarshal(body, &rawMessages)
6038	if err != nil {
6039		return nil, err
6040	}
6041
6042	beArray := make([]BasicBackupEntity, len(rawMessages))
6043
6044	for index, rawMessage := range rawMessages {
6045		be, err := unmarshalBasicBackupEntity(*rawMessage)
6046		if err != nil {
6047			return nil, err
6048		}
6049		beArray[index] = be
6050	}
6051	return beArray, nil
6052}
6053
6054// MarshalJSON is the custom marshaler for BackupEntity.
6055func (be BackupEntity) MarshalJSON() ([]byte, error) {
6056	be.EntityKind = EntityKindBackupEntity
6057	objectMap := make(map[string]interface{})
6058	if be.EntityKind != "" {
6059		objectMap["EntityKind"] = be.EntityKind
6060	}
6061	return json.Marshal(objectMap)
6062}
6063
6064// AsApplicationBackupEntity is the BasicBackupEntity implementation for BackupEntity.
6065func (be BackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
6066	return nil, false
6067}
6068
6069// AsServiceBackupEntity is the BasicBackupEntity implementation for BackupEntity.
6070func (be BackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
6071	return nil, false
6072}
6073
6074// AsPartitionBackupEntity is the BasicBackupEntity implementation for BackupEntity.
6075func (be BackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
6076	return nil, false
6077}
6078
6079// AsBackupEntity is the BasicBackupEntity implementation for BackupEntity.
6080func (be BackupEntity) AsBackupEntity() (*BackupEntity, bool) {
6081	return &be, true
6082}
6083
6084// AsBasicBackupEntity is the BasicBackupEntity implementation for BackupEntity.
6085func (be BackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
6086	return &be, true
6087}
6088
6089// BackupEpoch an Epoch is a configuration number for the partition as a whole. When the configuration of
6090// the replica set changes, for example when the Primary replica changes, the operations that are
6091// replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the
6092// old Primary replica.
6093type BackupEpoch struct {
6094	// ConfigurationNumber - The current configuration number of this Epoch. The configuration number is an increasing value that is updated whenever the configuration of this replica set changes.
6095	ConfigurationNumber *string `json:"ConfigurationNumber,omitempty"`
6096	// DataLossNumber - The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica.
6097	DataLossNumber *string `json:"DataLossNumber,omitempty"`
6098}
6099
6100// BackupInfo represents a backup point which can be used to trigger a restore.
6101type BackupInfo struct {
6102	// BackupID - Unique backup ID .
6103	BackupID *uuid.UUID `json:"BackupId,omitempty"`
6104	// BackupChainID - Unique backup chain ID. All backups part of the same chain has the same backup chain id. A backup chain is comprised of 1 full backup and multiple incremental backups.
6105	BackupChainID *uuid.UUID `json:"BackupChainId,omitempty"`
6106	// ApplicationName - Name of the Service Fabric application this partition backup belongs to.
6107	ApplicationName *string `json:"ApplicationName,omitempty"`
6108	// ServiceName - Name of the Service Fabric service this partition backup belongs to.
6109	ServiceName *string `json:"ServiceName,omitempty"`
6110	// PartitionInformation - Information about the partition to which this backup belongs to
6111	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
6112	// BackupLocation - Location of the backup, relative to the backup store.
6113	BackupLocation *string `json:"BackupLocation,omitempty"`
6114	// BackupType - Describes the type of backup, whether its full or incremental. Possible values include: 'BackupTypeInvalid', 'BackupTypeFull', 'BackupTypeIncremental'
6115	BackupType BackupType `json:"BackupType,omitempty"`
6116	// EpochOfLastBackupRecord - Epoch of the last record in this backup.
6117	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
6118	// LsnOfLastBackupRecord - LSN of the last record in this backup.
6119	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
6120	// CreationTimeUtc - The date time when this backup was taken.
6121	CreationTimeUtc *date.Time `json:"CreationTimeUtc,omitempty"`
6122	// FailureError - Denotes the failure encountered in getting backup point information.
6123	FailureError *FabricErrorError `json:"FailureError,omitempty"`
6124}
6125
6126// UnmarshalJSON is the custom unmarshaler for BackupInfo struct.
6127func (bi *BackupInfo) UnmarshalJSON(body []byte) error {
6128	var m map[string]*json.RawMessage
6129	err := json.Unmarshal(body, &m)
6130	if err != nil {
6131		return err
6132	}
6133	for k, v := range m {
6134		switch k {
6135		case "BackupId":
6136			if v != nil {
6137				var backupID uuid.UUID
6138				err = json.Unmarshal(*v, &backupID)
6139				if err != nil {
6140					return err
6141				}
6142				bi.BackupID = &backupID
6143			}
6144		case "BackupChainId":
6145			if v != nil {
6146				var backupChainID uuid.UUID
6147				err = json.Unmarshal(*v, &backupChainID)
6148				if err != nil {
6149					return err
6150				}
6151				bi.BackupChainID = &backupChainID
6152			}
6153		case "ApplicationName":
6154			if v != nil {
6155				var applicationName string
6156				err = json.Unmarshal(*v, &applicationName)
6157				if err != nil {
6158					return err
6159				}
6160				bi.ApplicationName = &applicationName
6161			}
6162		case "ServiceName":
6163			if v != nil {
6164				var serviceName string
6165				err = json.Unmarshal(*v, &serviceName)
6166				if err != nil {
6167					return err
6168				}
6169				bi.ServiceName = &serviceName
6170			}
6171		case "PartitionInformation":
6172			if v != nil {
6173				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
6174				if err != nil {
6175					return err
6176				}
6177				bi.PartitionInformation = partitionInformation
6178			}
6179		case "BackupLocation":
6180			if v != nil {
6181				var backupLocation string
6182				err = json.Unmarshal(*v, &backupLocation)
6183				if err != nil {
6184					return err
6185				}
6186				bi.BackupLocation = &backupLocation
6187			}
6188		case "BackupType":
6189			if v != nil {
6190				var backupType BackupType
6191				err = json.Unmarshal(*v, &backupType)
6192				if err != nil {
6193					return err
6194				}
6195				bi.BackupType = backupType
6196			}
6197		case "EpochOfLastBackupRecord":
6198			if v != nil {
6199				var epochOfLastBackupRecord BackupEpoch
6200				err = json.Unmarshal(*v, &epochOfLastBackupRecord)
6201				if err != nil {
6202					return err
6203				}
6204				bi.EpochOfLastBackupRecord = &epochOfLastBackupRecord
6205			}
6206		case "LsnOfLastBackupRecord":
6207			if v != nil {
6208				var lsnOfLastBackupRecord string
6209				err = json.Unmarshal(*v, &lsnOfLastBackupRecord)
6210				if err != nil {
6211					return err
6212				}
6213				bi.LsnOfLastBackupRecord = &lsnOfLastBackupRecord
6214			}
6215		case "CreationTimeUtc":
6216			if v != nil {
6217				var creationTimeUtc date.Time
6218				err = json.Unmarshal(*v, &creationTimeUtc)
6219				if err != nil {
6220					return err
6221				}
6222				bi.CreationTimeUtc = &creationTimeUtc
6223			}
6224		case "FailureError":
6225			if v != nil {
6226				var failureError FabricErrorError
6227				err = json.Unmarshal(*v, &failureError)
6228				if err != nil {
6229					return err
6230				}
6231				bi.FailureError = &failureError
6232			}
6233		}
6234	}
6235
6236	return nil
6237}
6238
6239// BackupPartitionDescription describes the parameters for triggering partition's backup.
6240type BackupPartitionDescription struct {
6241	// BackupStorage - Specifies the details of the backup storage where to save the backup.
6242	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
6243}
6244
6245// UnmarshalJSON is the custom unmarshaler for BackupPartitionDescription struct.
6246func (bpd *BackupPartitionDescription) UnmarshalJSON(body []byte) error {
6247	var m map[string]*json.RawMessage
6248	err := json.Unmarshal(body, &m)
6249	if err != nil {
6250		return err
6251	}
6252	for k, v := range m {
6253		switch k {
6254		case "BackupStorage":
6255			if v != nil {
6256				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
6257				if err != nil {
6258					return err
6259				}
6260				bpd.BackupStorage = backupStorage
6261			}
6262		}
6263	}
6264
6265	return nil
6266}
6267
6268// BackupPolicyDescription describes a backup policy for configuring periodic backup.
6269type BackupPolicyDescription struct {
6270	autorest.Response `json:"-"`
6271	// Name - The unique name identifying this backup policy.
6272	Name *string `json:"Name,omitempty"`
6273	// AutoRestoreOnDataLoss - Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event.
6274	AutoRestoreOnDataLoss *bool `json:"AutoRestoreOnDataLoss,omitempty"`
6275	// MaxIncrementalBackups - Defines the maximum number of incremental backups to be taken between two full backups. This is just the upper limit. A full backup may be taken before specified number of incremental backups are completed in one of the following conditions
6276	// - The replica has never taken a full backup since it has become primary,
6277	// - Some of the log records since the last backup has been truncated, or
6278	// - Replica passed the MaxAccumulatedBackupLogSizeInMB limit.
6279	MaxIncrementalBackups *int32 `json:"MaxIncrementalBackups,omitempty"`
6280	// Schedule - Describes the backup schedule parameters.
6281	Schedule BasicBackupScheduleDescription `json:"Schedule,omitempty"`
6282	// Storage - Describes the details of backup storage where to store the periodic backups.
6283	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
6284}
6285
6286// UnmarshalJSON is the custom unmarshaler for BackupPolicyDescription struct.
6287func (bpd *BackupPolicyDescription) UnmarshalJSON(body []byte) error {
6288	var m map[string]*json.RawMessage
6289	err := json.Unmarshal(body, &m)
6290	if err != nil {
6291		return err
6292	}
6293	for k, v := range m {
6294		switch k {
6295		case "Name":
6296			if v != nil {
6297				var name string
6298				err = json.Unmarshal(*v, &name)
6299				if err != nil {
6300					return err
6301				}
6302				bpd.Name = &name
6303			}
6304		case "AutoRestoreOnDataLoss":
6305			if v != nil {
6306				var autoRestoreOnDataLoss bool
6307				err = json.Unmarshal(*v, &autoRestoreOnDataLoss)
6308				if err != nil {
6309					return err
6310				}
6311				bpd.AutoRestoreOnDataLoss = &autoRestoreOnDataLoss
6312			}
6313		case "MaxIncrementalBackups":
6314			if v != nil {
6315				var maxIncrementalBackups int32
6316				err = json.Unmarshal(*v, &maxIncrementalBackups)
6317				if err != nil {
6318					return err
6319				}
6320				bpd.MaxIncrementalBackups = &maxIncrementalBackups
6321			}
6322		case "Schedule":
6323			if v != nil {
6324				schedule, err := unmarshalBasicBackupScheduleDescription(*v)
6325				if err != nil {
6326					return err
6327				}
6328				bpd.Schedule = schedule
6329			}
6330		case "Storage":
6331			if v != nil {
6332				storage, err := unmarshalBasicBackupStorageDescription(*v)
6333				if err != nil {
6334					return err
6335				}
6336				bpd.Storage = storage
6337			}
6338		}
6339	}
6340
6341	return nil
6342}
6343
6344// BackupProgressInfo describes the progress of a partition's backup.
6345type BackupProgressInfo struct {
6346	autorest.Response `json:"-"`
6347	// BackupState - Represents the current state of the partition backup operation. Possible values include: 'BackupStateInvalid', 'BackupStateAccepted', 'BackupStateBackupInProgress', 'BackupStateSuccess', 'BackupStateFailure', 'BackupStateTimeout'
6348	BackupState BackupState `json:"BackupState,omitempty"`
6349	// TimeStampUtc - TimeStamp in UTC when operation succeeded or failed.
6350	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
6351	// BackupID - Unique ID of the newly created backup.
6352	BackupID *uuid.UUID `json:"BackupId,omitempty"`
6353	// BackupLocation - Location, relative to the backup store, of the newly created backup.
6354	BackupLocation *string `json:"BackupLocation,omitempty"`
6355	// EpochOfLastBackupRecord - Specifies the epoch of the last record included in backup.
6356	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
6357	// LsnOfLastBackupRecord - The LSN of last record included in backup.
6358	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
6359	// FailureError - Denotes the failure encountered in performing backup operation.
6360	FailureError *FabricErrorError `json:"FailureError,omitempty"`
6361}
6362
6363// BasicBackupScheduleDescription describes the backup schedule parameters.
6364type BasicBackupScheduleDescription interface {
6365	AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool)
6366	AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool)
6367	AsBackupScheduleDescription() (*BackupScheduleDescription, bool)
6368}
6369
6370// BackupScheduleDescription describes the backup schedule parameters.
6371type BackupScheduleDescription struct {
6372	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
6373	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
6374}
6375
6376func unmarshalBasicBackupScheduleDescription(body []byte) (BasicBackupScheduleDescription, error) {
6377	var m map[string]interface{}
6378	err := json.Unmarshal(body, &m)
6379	if err != nil {
6380		return nil, err
6381	}
6382
6383	switch m["ScheduleKind"] {
6384	case string(ScheduleKindFrequencyBased):
6385		var fbbsd FrequencyBasedBackupScheduleDescription
6386		err := json.Unmarshal(body, &fbbsd)
6387		return fbbsd, err
6388	case string(ScheduleKindTimeBased):
6389		var tbbsd TimeBasedBackupScheduleDescription
6390		err := json.Unmarshal(body, &tbbsd)
6391		return tbbsd, err
6392	default:
6393		var bsd BackupScheduleDescription
6394		err := json.Unmarshal(body, &bsd)
6395		return bsd, err
6396	}
6397}
6398func unmarshalBasicBackupScheduleDescriptionArray(body []byte) ([]BasicBackupScheduleDescription, error) {
6399	var rawMessages []*json.RawMessage
6400	err := json.Unmarshal(body, &rawMessages)
6401	if err != nil {
6402		return nil, err
6403	}
6404
6405	bsdArray := make([]BasicBackupScheduleDescription, len(rawMessages))
6406
6407	for index, rawMessage := range rawMessages {
6408		bsd, err := unmarshalBasicBackupScheduleDescription(*rawMessage)
6409		if err != nil {
6410			return nil, err
6411		}
6412		bsdArray[index] = bsd
6413	}
6414	return bsdArray, nil
6415}
6416
6417// MarshalJSON is the custom marshaler for BackupScheduleDescription.
6418func (bsd BackupScheduleDescription) MarshalJSON() ([]byte, error) {
6419	bsd.ScheduleKind = ScheduleKindBackupScheduleDescription
6420	objectMap := make(map[string]interface{})
6421	if bsd.ScheduleKind != "" {
6422		objectMap["ScheduleKind"] = bsd.ScheduleKind
6423	}
6424	return json.Marshal(objectMap)
6425}
6426
6427// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6428func (bsd BackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
6429	return nil, false
6430}
6431
6432// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6433func (bsd BackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
6434	return nil, false
6435}
6436
6437// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6438func (bsd BackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
6439	return &bsd, true
6440}
6441
6442// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6443func (bsd BackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
6444	return &bsd, true
6445}
6446
6447// BasicBackupStorageDescription describes the parameters for the backup storage.
6448type BasicBackupStorageDescription interface {
6449	AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool)
6450	AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool)
6451	AsBackupStorageDescription() (*BackupStorageDescription, bool)
6452}
6453
6454// BackupStorageDescription describes the parameters for the backup storage.
6455type BackupStorageDescription struct {
6456	// FriendlyName - Friendly name for this backup storage.
6457	FriendlyName *string `json:"FriendlyName,omitempty"`
6458	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
6459	StorageKind StorageKind `json:"StorageKind,omitempty"`
6460}
6461
6462func unmarshalBasicBackupStorageDescription(body []byte) (BasicBackupStorageDescription, error) {
6463	var m map[string]interface{}
6464	err := json.Unmarshal(body, &m)
6465	if err != nil {
6466		return nil, err
6467	}
6468
6469	switch m["StorageKind"] {
6470	case string(StorageKindAzureBlobStore):
6471		var abbsd AzureBlobBackupStorageDescription
6472		err := json.Unmarshal(body, &abbsd)
6473		return abbsd, err
6474	case string(StorageKindFileShare):
6475		var fsbsd FileShareBackupStorageDescription
6476		err := json.Unmarshal(body, &fsbsd)
6477		return fsbsd, err
6478	default:
6479		var bsd BackupStorageDescription
6480		err := json.Unmarshal(body, &bsd)
6481		return bsd, err
6482	}
6483}
6484func unmarshalBasicBackupStorageDescriptionArray(body []byte) ([]BasicBackupStorageDescription, error) {
6485	var rawMessages []*json.RawMessage
6486	err := json.Unmarshal(body, &rawMessages)
6487	if err != nil {
6488		return nil, err
6489	}
6490
6491	bsdArray := make([]BasicBackupStorageDescription, len(rawMessages))
6492
6493	for index, rawMessage := range rawMessages {
6494		bsd, err := unmarshalBasicBackupStorageDescription(*rawMessage)
6495		if err != nil {
6496			return nil, err
6497		}
6498		bsdArray[index] = bsd
6499	}
6500	return bsdArray, nil
6501}
6502
6503// MarshalJSON is the custom marshaler for BackupStorageDescription.
6504func (bsd BackupStorageDescription) MarshalJSON() ([]byte, error) {
6505	bsd.StorageKind = StorageKindBackupStorageDescription
6506	objectMap := make(map[string]interface{})
6507	if bsd.FriendlyName != nil {
6508		objectMap["FriendlyName"] = bsd.FriendlyName
6509	}
6510	if bsd.StorageKind != "" {
6511		objectMap["StorageKind"] = bsd.StorageKind
6512	}
6513	return json.Marshal(objectMap)
6514}
6515
6516// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6517func (bsd BackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
6518	return nil, false
6519}
6520
6521// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6522func (bsd BackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
6523	return nil, false
6524}
6525
6526// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6527func (bsd BackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
6528	return &bsd, true
6529}
6530
6531// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6532func (bsd BackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
6533	return &bsd, true
6534}
6535
6536// BackupSuspensionInfo describes the backup suspension details.
6537type BackupSuspensionInfo struct {
6538	// IsSuspended - Indicates whether periodic backup is suspended at this level or not.
6539	IsSuspended *bool `json:"IsSuspended,omitempty"`
6540	// SuspensionInheritedFrom - Specifies the scope at which the backup suspension was applied. Possible values include: 'BackupSuspensionScopeInvalid', 'BackupSuspensionScopePartition', 'BackupSuspensionScopeService', 'BackupSuspensionScopeApplication'
6541	SuspensionInheritedFrom BackupSuspensionScope `json:"SuspensionInheritedFrom,omitempty"`
6542}
6543
6544// BinaryPropertyValue describes a Service Fabric property value of type Binary.
6545type BinaryPropertyValue struct {
6546	// Data - Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.
6547	Data *[]int32 `json:"Data,omitempty"`
6548	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
6549	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
6550}
6551
6552// MarshalJSON is the custom marshaler for BinaryPropertyValue.
6553func (bpv BinaryPropertyValue) MarshalJSON() ([]byte, error) {
6554	bpv.Kind = KindBinary
6555	objectMap := make(map[string]interface{})
6556	if bpv.Data != nil {
6557		objectMap["Data"] = bpv.Data
6558	}
6559	if bpv.Kind != "" {
6560		objectMap["Kind"] = bpv.Kind
6561	}
6562	return json.Marshal(objectMap)
6563}
6564
6565// AsBinaryPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6566func (bpv BinaryPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
6567	return &bpv, true
6568}
6569
6570// AsInt64PropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6571func (bpv BinaryPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
6572	return nil, false
6573}
6574
6575// AsDoublePropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6576func (bpv BinaryPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
6577	return nil, false
6578}
6579
6580// AsStringPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6581func (bpv BinaryPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
6582	return nil, false
6583}
6584
6585// AsGUIDPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6586func (bpv BinaryPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
6587	return nil, false
6588}
6589
6590// AsPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6591func (bpv BinaryPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
6592	return nil, false
6593}
6594
6595// AsBasicPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6596func (bpv BinaryPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
6597	return &bpv, true
6598}
6599
6600// Chaos contains a description of Chaos.
6601type Chaos struct {
6602	autorest.Response `json:"-"`
6603	// ChaosParameters - If Chaos is running, these are the parameters Chaos is running with.
6604	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
6605	// Status - Current status of the Chaos run. Possible values include: 'ChaosStatusInvalid', 'ChaosStatusRunning', 'ChaosStatusStopped'
6606	Status ChaosStatus `json:"Status,omitempty"`
6607	// ScheduleStatus - Current status of the schedule. Possible values include: 'ChaosScheduleStatusInvalid', 'ChaosScheduleStatusStopped', 'ChaosScheduleStatusActive', 'ChaosScheduleStatusExpired', 'ChaosScheduleStatusPending'
6608	ScheduleStatus ChaosScheduleStatus `json:"ScheduleStatus,omitempty"`
6609}
6610
6611// ChaosContext describes a map, which is a collection of (string, string) type key-value pairs. The map
6612// can be used to record information about
6613// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most
6614// 4095 characters long.
6615// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
6616type ChaosContext struct {
6617	// Map - Describes a map that contains a collection of ChaosContextMapItem's.
6618	Map map[string]*string `json:"Map"`
6619}
6620
6621// MarshalJSON is the custom marshaler for ChaosContext.
6622func (cc ChaosContext) MarshalJSON() ([]byte, error) {
6623	objectMap := make(map[string]interface{})
6624	if cc.Map != nil {
6625		objectMap["Map"] = cc.Map
6626	}
6627	return json.Marshal(objectMap)
6628}
6629
6630// BasicChaosEvent represents an event generated during a Chaos run.
6631type BasicChaosEvent interface {
6632	AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool)
6633	AsStartedChaosEvent() (*StartedChaosEvent, bool)
6634	AsStoppedChaosEvent() (*StoppedChaosEvent, bool)
6635	AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool)
6636	AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool)
6637	AsWaitingChaosEvent() (*WaitingChaosEvent, bool)
6638	AsChaosEvent() (*ChaosEvent, bool)
6639}
6640
6641// ChaosEvent represents an event generated during a Chaos run.
6642type ChaosEvent struct {
6643	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
6644	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
6645	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
6646	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
6647}
6648
6649func unmarshalBasicChaosEvent(body []byte) (BasicChaosEvent, error) {
6650	var m map[string]interface{}
6651	err := json.Unmarshal(body, &m)
6652	if err != nil {
6653		return nil, err
6654	}
6655
6656	switch m["Kind"] {
6657	case string(KindExecutingFaults):
6658		var efce ExecutingFaultsChaosEvent
6659		err := json.Unmarshal(body, &efce)
6660		return efce, err
6661	case string(KindStarted):
6662		var sce StartedChaosEvent
6663		err := json.Unmarshal(body, &sce)
6664		return sce, err
6665	case string(KindStopped):
6666		var sce StoppedChaosEvent
6667		err := json.Unmarshal(body, &sce)
6668		return sce, err
6669	case string(KindTestError):
6670		var tece TestErrorChaosEvent
6671		err := json.Unmarshal(body, &tece)
6672		return tece, err
6673	case string(KindValidationFailed):
6674		var vfce ValidationFailedChaosEvent
6675		err := json.Unmarshal(body, &vfce)
6676		return vfce, err
6677	case string(KindWaiting):
6678		var wce WaitingChaosEvent
6679		err := json.Unmarshal(body, &wce)
6680		return wce, err
6681	default:
6682		var ce ChaosEvent
6683		err := json.Unmarshal(body, &ce)
6684		return ce, err
6685	}
6686}
6687func unmarshalBasicChaosEventArray(body []byte) ([]BasicChaosEvent, error) {
6688	var rawMessages []*json.RawMessage
6689	err := json.Unmarshal(body, &rawMessages)
6690	if err != nil {
6691		return nil, err
6692	}
6693
6694	ceArray := make([]BasicChaosEvent, len(rawMessages))
6695
6696	for index, rawMessage := range rawMessages {
6697		ce, err := unmarshalBasicChaosEvent(*rawMessage)
6698		if err != nil {
6699			return nil, err
6700		}
6701		ceArray[index] = ce
6702	}
6703	return ceArray, nil
6704}
6705
6706// MarshalJSON is the custom marshaler for ChaosEvent.
6707func (ce ChaosEvent) MarshalJSON() ([]byte, error) {
6708	ce.Kind = KindChaosEvent
6709	objectMap := make(map[string]interface{})
6710	if ce.TimeStampUtc != nil {
6711		objectMap["TimeStampUtc"] = ce.TimeStampUtc
6712	}
6713	if ce.Kind != "" {
6714		objectMap["Kind"] = ce.Kind
6715	}
6716	return json.Marshal(objectMap)
6717}
6718
6719// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6720func (ce ChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
6721	return nil, false
6722}
6723
6724// AsStartedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6725func (ce ChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
6726	return nil, false
6727}
6728
6729// AsStoppedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6730func (ce ChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
6731	return nil, false
6732}
6733
6734// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6735func (ce ChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
6736	return nil, false
6737}
6738
6739// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6740func (ce ChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
6741	return nil, false
6742}
6743
6744// AsWaitingChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6745func (ce ChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
6746	return nil, false
6747}
6748
6749// AsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6750func (ce ChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
6751	return &ce, true
6752}
6753
6754// AsBasicChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6755func (ce ChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
6756	return &ce, true
6757}
6758
6759// ChaosEventsSegment contains the list of Chaos events and the continuation token to get the next segment.
6760type ChaosEventsSegment struct {
6761	autorest.Response `json:"-"`
6762	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
6763	ContinuationToken *string `json:"ContinuationToken,omitempty"`
6764	// History - List of Chaos events that meet the user-supplied criteria.
6765	History *[]ChaosEventWrapper `json:"History,omitempty"`
6766}
6767
6768// ChaosEventWrapper wrapper object for Chaos event.
6769type ChaosEventWrapper struct {
6770	// ChaosEvent - Represents an event generated during a Chaos run.
6771	ChaosEvent BasicChaosEvent `json:"ChaosEvent,omitempty"`
6772}
6773
6774// UnmarshalJSON is the custom unmarshaler for ChaosEventWrapper struct.
6775func (cew *ChaosEventWrapper) UnmarshalJSON(body []byte) error {
6776	var m map[string]*json.RawMessage
6777	err := json.Unmarshal(body, &m)
6778	if err != nil {
6779		return err
6780	}
6781	for k, v := range m {
6782		switch k {
6783		case "ChaosEvent":
6784			if v != nil {
6785				chaosEvent, err := unmarshalBasicChaosEvent(*v)
6786				if err != nil {
6787					return err
6788				}
6789				cew.ChaosEvent = chaosEvent
6790			}
6791		}
6792	}
6793
6794	return nil
6795}
6796
6797// ChaosMovePrimaryFaultScheduledEvent chaos Move Primary Fault Scheduled event.
6798type ChaosMovePrimaryFaultScheduledEvent struct {
6799	// FaultGroupID - Id of fault group.
6800	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
6801	// FaultID - Id of fault.
6802	FaultID *uuid.UUID `json:"FaultId,omitempty"`
6803	// ServiceName - Service name.
6804	ServiceName *string `json:"ServiceName,omitempty"`
6805	// NodeTo - The name of a Service Fabric node.
6806	NodeTo *string `json:"NodeTo,omitempty"`
6807	// ForcedMove - Indicates a forced move.
6808	ForcedMove *bool `json:"ForcedMove,omitempty"`
6809	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
6810	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
6811	// EventInstanceID - The identifier for the FabricEvent instance.
6812	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
6813	// TimeStamp - The time event was logged.
6814	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
6815	// HasCorrelatedEvents - Shows there is existing related events available.
6816	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
6817	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
6818	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
6819}
6820
6821// MarshalJSON is the custom marshaler for ChaosMovePrimaryFaultScheduledEvent.
6822func (cmpfse ChaosMovePrimaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
6823	cmpfse.Kind = KindChaosMovePrimaryFaultScheduled
6824	objectMap := make(map[string]interface{})
6825	if cmpfse.FaultGroupID != nil {
6826		objectMap["FaultGroupId"] = cmpfse.FaultGroupID
6827	}
6828	if cmpfse.FaultID != nil {
6829		objectMap["FaultId"] = cmpfse.FaultID
6830	}
6831	if cmpfse.ServiceName != nil {
6832		objectMap["ServiceName"] = cmpfse.ServiceName
6833	}
6834	if cmpfse.NodeTo != nil {
6835		objectMap["NodeTo"] = cmpfse.NodeTo
6836	}
6837	if cmpfse.ForcedMove != nil {
6838		objectMap["ForcedMove"] = cmpfse.ForcedMove
6839	}
6840	if cmpfse.PartitionID != nil {
6841		objectMap["PartitionId"] = cmpfse.PartitionID
6842	}
6843	if cmpfse.EventInstanceID != nil {
6844		objectMap["EventInstanceId"] = cmpfse.EventInstanceID
6845	}
6846	if cmpfse.TimeStamp != nil {
6847		objectMap["TimeStamp"] = cmpfse.TimeStamp
6848	}
6849	if cmpfse.HasCorrelatedEvents != nil {
6850		objectMap["HasCorrelatedEvents"] = cmpfse.HasCorrelatedEvents
6851	}
6852	if cmpfse.Kind != "" {
6853		objectMap["Kind"] = cmpfse.Kind
6854	}
6855	return json.Marshal(objectMap)
6856}
6857
6858// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6859func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
6860	return nil, false
6861}
6862
6863// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6864func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
6865	return nil, false
6866}
6867
6868// AsClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6869func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
6870	return nil, false
6871}
6872
6873// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6874func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
6875	return nil, false
6876}
6877
6878// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6879func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
6880	return nil, false
6881}
6882
6883// AsNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6884func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
6885	return nil, false
6886}
6887
6888// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6889func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
6890	return nil, false
6891}
6892
6893// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6894func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
6895	return nil, false
6896}
6897
6898// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6899func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
6900	return nil, false
6901}
6902
6903// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6904func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
6905	return nil, false
6906}
6907
6908// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6909func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
6910	return &cmpfse, true
6911}
6912
6913// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6914func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
6915	return nil, false
6916}
6917
6918// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6919func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
6920	return nil, false
6921}
6922
6923// AsServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6924func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
6925	return nil, false
6926}
6927
6928// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6929func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
6930	return nil, false
6931}
6932
6933// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6934func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
6935	return nil, false
6936}
6937
6938// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6939func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
6940	return nil, false
6941}
6942
6943// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6944func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
6945	return nil, false
6946}
6947
6948// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6949func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
6950	return nil, false
6951}
6952
6953// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6954func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
6955	return nil, false
6956}
6957
6958// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6959func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
6960	return nil, false
6961}
6962
6963// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6964func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
6965	return nil, false
6966}
6967
6968// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6969func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
6970	return nil, false
6971}
6972
6973// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6974func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
6975	return nil, false
6976}
6977
6978// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6979func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
6980	return nil, false
6981}
6982
6983// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6984func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
6985	return nil, false
6986}
6987
6988// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6989func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
6990	return nil, false
6991}
6992
6993// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6994func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
6995	return nil, false
6996}
6997
6998// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6999func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7000	return nil, false
7001}
7002
7003// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7004func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7005	return nil, false
7006}
7007
7008// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7009func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7010	return nil, false
7011}
7012
7013// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7014func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7015	return nil, false
7016}
7017
7018// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7019func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7020	return nil, false
7021}
7022
7023// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7024func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7025	return nil, false
7026}
7027
7028// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7029func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7030	return nil, false
7031}
7032
7033// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7034func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7035	return nil, false
7036}
7037
7038// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7039func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7040	return nil, false
7041}
7042
7043// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7044func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7045	return nil, false
7046}
7047
7048// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7049func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7050	return nil, false
7051}
7052
7053// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7054func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7055	return nil, false
7056}
7057
7058// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7059func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7060	return nil, false
7061}
7062
7063// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7064func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7065	return nil, false
7066}
7067
7068// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7069func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7070	return nil, false
7071}
7072
7073// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7074func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7075	return nil, false
7076}
7077
7078// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7079func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7080	return nil, false
7081}
7082
7083// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7084func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7085	return nil, false
7086}
7087
7088// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7089func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7090	return nil, false
7091}
7092
7093// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7094func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7095	return nil, false
7096}
7097
7098// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7099func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7100	return nil, false
7101}
7102
7103// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7104func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7105	return nil, false
7106}
7107
7108// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7109func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7110	return nil, false
7111}
7112
7113// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7114func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7115	return nil, false
7116}
7117
7118// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7119func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7120	return nil, false
7121}
7122
7123// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7124func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7125	return nil, false
7126}
7127
7128// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7129func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7130	return nil, false
7131}
7132
7133// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7134func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7135	return nil, false
7136}
7137
7138// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7139func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7140	return nil, false
7141}
7142
7143// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7144func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7145	return nil, false
7146}
7147
7148// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7149func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7150	return nil, false
7151}
7152
7153// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7154func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7155	return nil, false
7156}
7157
7158// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7159func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7160	return nil, false
7161}
7162
7163// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7164func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7165	return nil, false
7166}
7167
7168// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7169func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7170	return nil, false
7171}
7172
7173// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7174func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7175	return nil, false
7176}
7177
7178// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7179func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7180	return nil, false
7181}
7182
7183// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7184func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7185	return nil, false
7186}
7187
7188// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7189func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7190	return nil, false
7191}
7192
7193// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7194func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7195	return nil, false
7196}
7197
7198// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7199func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7200	return nil, false
7201}
7202
7203// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7204func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7205	return nil, false
7206}
7207
7208// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7209func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7210	return nil, false
7211}
7212
7213// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7214func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7215	return nil, false
7216}
7217
7218// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7219func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7220	return &cmpfse, true
7221}
7222
7223// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7224func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7225	return nil, false
7226}
7227
7228// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7229func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7230	return nil, false
7231}
7232
7233// AsFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7234func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
7235	return nil, false
7236}
7237
7238// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7239func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7240	return &cmpfse, true
7241}
7242
7243// ChaosMoveSecondaryFaultScheduledEvent chaos Move Secondary Fault Scheduled event.
7244type ChaosMoveSecondaryFaultScheduledEvent struct {
7245	// FaultGroupID - Id of fault group.
7246	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
7247	// FaultID - Id of fault.
7248	FaultID *uuid.UUID `json:"FaultId,omitempty"`
7249	// ServiceName - Service name.
7250	ServiceName *string `json:"ServiceName,omitempty"`
7251	// SourceNode - The name of a Service Fabric node.
7252	SourceNode *string `json:"SourceNode,omitempty"`
7253	// DestinationNode - The name of a Service Fabric node.
7254	DestinationNode *string `json:"DestinationNode,omitempty"`
7255	// ForcedMove - Indicates a forced move.
7256	ForcedMove *bool `json:"ForcedMove,omitempty"`
7257	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
7258	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
7259	// EventInstanceID - The identifier for the FabricEvent instance.
7260	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7261	// TimeStamp - The time event was logged.
7262	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7263	// HasCorrelatedEvents - Shows there is existing related events available.
7264	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7265	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
7266	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7267}
7268
7269// MarshalJSON is the custom marshaler for ChaosMoveSecondaryFaultScheduledEvent.
7270func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
7271	cmsfse.Kind = KindChaosMoveSecondaryFaultScheduled
7272	objectMap := make(map[string]interface{})
7273	if cmsfse.FaultGroupID != nil {
7274		objectMap["FaultGroupId"] = cmsfse.FaultGroupID
7275	}
7276	if cmsfse.FaultID != nil {
7277		objectMap["FaultId"] = cmsfse.FaultID
7278	}
7279	if cmsfse.ServiceName != nil {
7280		objectMap["ServiceName"] = cmsfse.ServiceName
7281	}
7282	if cmsfse.SourceNode != nil {
7283		objectMap["SourceNode"] = cmsfse.SourceNode
7284	}
7285	if cmsfse.DestinationNode != nil {
7286		objectMap["DestinationNode"] = cmsfse.DestinationNode
7287	}
7288	if cmsfse.ForcedMove != nil {
7289		objectMap["ForcedMove"] = cmsfse.ForcedMove
7290	}
7291	if cmsfse.PartitionID != nil {
7292		objectMap["PartitionId"] = cmsfse.PartitionID
7293	}
7294	if cmsfse.EventInstanceID != nil {
7295		objectMap["EventInstanceId"] = cmsfse.EventInstanceID
7296	}
7297	if cmsfse.TimeStamp != nil {
7298		objectMap["TimeStamp"] = cmsfse.TimeStamp
7299	}
7300	if cmsfse.HasCorrelatedEvents != nil {
7301		objectMap["HasCorrelatedEvents"] = cmsfse.HasCorrelatedEvents
7302	}
7303	if cmsfse.Kind != "" {
7304		objectMap["Kind"] = cmsfse.Kind
7305	}
7306	return json.Marshal(objectMap)
7307}
7308
7309// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7310func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7311	return nil, false
7312}
7313
7314// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7315func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7316	return nil, false
7317}
7318
7319// AsClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7320func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
7321	return nil, false
7322}
7323
7324// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7325func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7326	return nil, false
7327}
7328
7329// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7330func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7331	return nil, false
7332}
7333
7334// AsNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7335func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
7336	return nil, false
7337}
7338
7339// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7340func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7341	return nil, false
7342}
7343
7344// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7345func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7346	return nil, false
7347}
7348
7349// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7350func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7351	return nil, false
7352}
7353
7354// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7355func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7356	return nil, false
7357}
7358
7359// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7360func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7361	return &cmsfse, true
7362}
7363
7364// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7365func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7366	return nil, false
7367}
7368
7369// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7370func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7371	return nil, false
7372}
7373
7374// AsServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7375func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
7376	return nil, false
7377}
7378
7379// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7380func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7381	return nil, false
7382}
7383
7384// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7385func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7386	return nil, false
7387}
7388
7389// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7390func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7391	return nil, false
7392}
7393
7394// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7395func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7396	return nil, false
7397}
7398
7399// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7400func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7401	return nil, false
7402}
7403
7404// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7405func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7406	return nil, false
7407}
7408
7409// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7410func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7411	return nil, false
7412}
7413
7414// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7415func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7416	return nil, false
7417}
7418
7419// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7420func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7421	return nil, false
7422}
7423
7424// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7425func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7426	return nil, false
7427}
7428
7429// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7430func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7431	return nil, false
7432}
7433
7434// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7435func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7436	return nil, false
7437}
7438
7439// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7440func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7441	return nil, false
7442}
7443
7444// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7445func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7446	return nil, false
7447}
7448
7449// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7450func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7451	return nil, false
7452}
7453
7454// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7455func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7456	return nil, false
7457}
7458
7459// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7460func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7461	return nil, false
7462}
7463
7464// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7465func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7466	return nil, false
7467}
7468
7469// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7470func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7471	return nil, false
7472}
7473
7474// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7475func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7476	return nil, false
7477}
7478
7479// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7480func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7481	return nil, false
7482}
7483
7484// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7485func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7486	return nil, false
7487}
7488
7489// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7490func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7491	return nil, false
7492}
7493
7494// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7495func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7496	return nil, false
7497}
7498
7499// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7500func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7501	return nil, false
7502}
7503
7504// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7505func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7506	return nil, false
7507}
7508
7509// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7510func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7511	return nil, false
7512}
7513
7514// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7515func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7516	return nil, false
7517}
7518
7519// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7520func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7521	return nil, false
7522}
7523
7524// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7525func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7526	return nil, false
7527}
7528
7529// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7530func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7531	return nil, false
7532}
7533
7534// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7535func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7536	return nil, false
7537}
7538
7539// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7540func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7541	return nil, false
7542}
7543
7544// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7545func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7546	return nil, false
7547}
7548
7549// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7550func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7551	return nil, false
7552}
7553
7554// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7555func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7556	return nil, false
7557}
7558
7559// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7560func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7561	return nil, false
7562}
7563
7564// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7565func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7566	return nil, false
7567}
7568
7569// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7570func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7571	return nil, false
7572}
7573
7574// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7575func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7576	return nil, false
7577}
7578
7579// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7580func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7581	return nil, false
7582}
7583
7584// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7585func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7586	return nil, false
7587}
7588
7589// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7590func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7591	return nil, false
7592}
7593
7594// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7595func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7596	return nil, false
7597}
7598
7599// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7600func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7601	return nil, false
7602}
7603
7604// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7605func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7606	return nil, false
7607}
7608
7609// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7610func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7611	return nil, false
7612}
7613
7614// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7615func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7616	return nil, false
7617}
7618
7619// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7620func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7621	return nil, false
7622}
7623
7624// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7625func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7626	return nil, false
7627}
7628
7629// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7630func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7631	return nil, false
7632}
7633
7634// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7635func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7636	return nil, false
7637}
7638
7639// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7640func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7641	return nil, false
7642}
7643
7644// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7645func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7646	return nil, false
7647}
7648
7649// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7650func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7651	return nil, false
7652}
7653
7654// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7655func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7656	return nil, false
7657}
7658
7659// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7660func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7661	return nil, false
7662}
7663
7664// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7665func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7666	return &cmsfse, true
7667}
7668
7669// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7670func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7671	return nil, false
7672}
7673
7674// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7675func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7676	return nil, false
7677}
7678
7679// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7680func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7681	return nil, false
7682}
7683
7684// AsFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7685func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
7686	return nil, false
7687}
7688
7689// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7690func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7691	return &cmsfse, true
7692}
7693
7694// ChaosParameters defines all the parameters to configure a Chaos run.
7695type ChaosParameters struct {
7696	// TimeToRunInSeconds - Total time (in seconds) for which Chaos will run before automatically stopping. The maximum allowed value is 4,294,967,295 (System.UInt32.MaxValue).
7697	TimeToRunInSeconds *string `json:"TimeToRunInSeconds,omitempty"`
7698	// MaxClusterStabilizationTimeoutInSeconds - The maximum amount of time to wait for all cluster entities to become stable and healthy. Chaos executes in iterations and at the start of each iteration it validates the health of cluster entities.
7699	// During validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.
7700	MaxClusterStabilizationTimeoutInSeconds *int64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
7701	// MaxConcurrentFaults - MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.
7702	// Chaos executes in iterations and two consecutive iterations are separated by a validation phase.
7703	// The higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.
7704	// The recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.
7705	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
7706	// EnableMoveReplicaFaults - Enables or disables the move primary and move secondary faults.
7707	EnableMoveReplicaFaults *bool `json:"EnableMoveReplicaFaults,omitempty"`
7708	// WaitTimeBetweenFaultsInSeconds - Wait time (in seconds) between consecutive faults within a single iteration.
7709	// The larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.
7710	// The recommendation is to start with a value between 1 and 5 and exercise caution while moving up.
7711	WaitTimeBetweenFaultsInSeconds *int64 `json:"WaitTimeBetweenFaultsInSeconds,omitempty"`
7712	// WaitTimeBetweenIterationsInSeconds - Time-separation (in seconds) between two consecutive iterations of Chaos.
7713	// The larger the value, the lower the fault injection rate.
7714	WaitTimeBetweenIterationsInSeconds *int64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
7715	// ClusterHealthPolicy - Passed-in cluster health policy is used to validate health of the cluster in between Chaos iterations. If the cluster health is in error or if an unexpected exception happens during fault execution--to provide the cluster with some time to recuperate--Chaos will wait for 30 minutes before the next health-check.
7716	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
7717	// Context - Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about
7718	// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.
7719	// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
7720	Context *ChaosContext `json:"Context,omitempty"`
7721	// ChaosTargetFilter - List of cluster entities to target for Chaos faults.
7722	// This filter can be used to target Chaos faults only to certain node types or only to certain application instances. If ChaosTargetFilter is not used, Chaos faults all cluster entities.
7723	// If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification.
7724	ChaosTargetFilter *ChaosTargetFilter `json:"ChaosTargetFilter,omitempty"`
7725}
7726
7727// ChaosParametersDictionaryItem defines an item in ChaosParametersDictionary of the Chaos Schedule.
7728type ChaosParametersDictionaryItem struct {
7729	// Key - The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs.
7730	Key *string `json:"Key,omitempty"`
7731	// Value - Defines all the parameters to configure a Chaos run.
7732	Value *ChaosParameters `json:"Value,omitempty"`
7733}
7734
7735// ChaosRemoveReplicaFaultCompletedEvent chaos Remove Replica Fault Completed event.
7736type ChaosRemoveReplicaFaultCompletedEvent struct {
7737	// FaultGroupID - Id of fault group.
7738	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
7739	// FaultID - Id of fault.
7740	FaultID *uuid.UUID `json:"FaultId,omitempty"`
7741	// ServiceURI - Service name.
7742	ServiceURI *string `json:"ServiceUri,omitempty"`
7743	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
7744	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
7745	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
7746	ReplicaID *int64 `json:"ReplicaId,omitempty"`
7747	// EventInstanceID - The identifier for the FabricEvent instance.
7748	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7749	// TimeStamp - The time event was logged.
7750	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7751	// HasCorrelatedEvents - Shows there is existing related events available.
7752	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7753	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
7754	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7755}
7756
7757// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultCompletedEvent.
7758func (crrfce ChaosRemoveReplicaFaultCompletedEvent) MarshalJSON() ([]byte, error) {
7759	crrfce.Kind = KindChaosRemoveReplicaFaultCompleted
7760	objectMap := make(map[string]interface{})
7761	if crrfce.FaultGroupID != nil {
7762		objectMap["FaultGroupId"] = crrfce.FaultGroupID
7763	}
7764	if crrfce.FaultID != nil {
7765		objectMap["FaultId"] = crrfce.FaultID
7766	}
7767	if crrfce.ServiceURI != nil {
7768		objectMap["ServiceUri"] = crrfce.ServiceURI
7769	}
7770	if crrfce.PartitionID != nil {
7771		objectMap["PartitionId"] = crrfce.PartitionID
7772	}
7773	if crrfce.ReplicaID != nil {
7774		objectMap["ReplicaId"] = crrfce.ReplicaID
7775	}
7776	if crrfce.EventInstanceID != nil {
7777		objectMap["EventInstanceId"] = crrfce.EventInstanceID
7778	}
7779	if crrfce.TimeStamp != nil {
7780		objectMap["TimeStamp"] = crrfce.TimeStamp
7781	}
7782	if crrfce.HasCorrelatedEvents != nil {
7783		objectMap["HasCorrelatedEvents"] = crrfce.HasCorrelatedEvents
7784	}
7785	if crrfce.Kind != "" {
7786		objectMap["Kind"] = crrfce.Kind
7787	}
7788	return json.Marshal(objectMap)
7789}
7790
7791// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7792func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7793	return nil, false
7794}
7795
7796// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7797func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7798	return nil, false
7799}
7800
7801// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7802func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
7803	return nil, false
7804}
7805
7806// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7807func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7808	return nil, false
7809}
7810
7811// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7812func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7813	return nil, false
7814}
7815
7816// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7817func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
7818	return nil, false
7819}
7820
7821// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7822func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7823	return nil, false
7824}
7825
7826// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7827func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7828	return nil, false
7829}
7830
7831// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7832func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7833	return nil, false
7834}
7835
7836// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7837func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7838	return nil, false
7839}
7840
7841// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7842func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7843	return nil, false
7844}
7845
7846// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7847func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7848	return nil, false
7849}
7850
7851// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7852func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7853	return &crrfce, true
7854}
7855
7856// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7857func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
7858	return nil, false
7859}
7860
7861// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7862func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7863	return nil, false
7864}
7865
7866// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7867func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7868	return nil, false
7869}
7870
7871// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7872func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7873	return nil, false
7874}
7875
7876// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7877func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7878	return nil, false
7879}
7880
7881// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7882func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7883	return nil, false
7884}
7885
7886// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7887func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7888	return nil, false
7889}
7890
7891// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7892func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7893	return nil, false
7894}
7895
7896// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7897func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7898	return nil, false
7899}
7900
7901// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7902func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7903	return nil, false
7904}
7905
7906// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7907func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7908	return nil, false
7909}
7910
7911// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7912func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7913	return nil, false
7914}
7915
7916// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7917func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7918	return nil, false
7919}
7920
7921// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7922func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7923	return nil, false
7924}
7925
7926// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7927func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7928	return nil, false
7929}
7930
7931// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7932func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7933	return nil, false
7934}
7935
7936// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7937func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7938	return nil, false
7939}
7940
7941// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7942func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7943	return nil, false
7944}
7945
7946// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7947func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7948	return nil, false
7949}
7950
7951// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7952func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7953	return nil, false
7954}
7955
7956// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7957func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7958	return nil, false
7959}
7960
7961// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7962func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7963	return nil, false
7964}
7965
7966// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7967func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7968	return nil, false
7969}
7970
7971// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7972func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7973	return nil, false
7974}
7975
7976// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7977func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7978	return nil, false
7979}
7980
7981// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7982func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7983	return nil, false
7984}
7985
7986// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7987func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7988	return nil, false
7989}
7990
7991// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7992func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7993	return nil, false
7994}
7995
7996// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7997func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7998	return nil, false
7999}
8000
8001// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8002func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8003	return nil, false
8004}
8005
8006// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8007func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8008	return nil, false
8009}
8010
8011// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8012func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8013	return nil, false
8014}
8015
8016// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8017func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8018	return nil, false
8019}
8020
8021// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8022func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8023	return nil, false
8024}
8025
8026// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8027func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8028	return nil, false
8029}
8030
8031// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8032func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8033	return nil, false
8034}
8035
8036// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8037func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8038	return nil, false
8039}
8040
8041// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8042func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8043	return nil, false
8044}
8045
8046// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8047func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8048	return nil, false
8049}
8050
8051// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8052func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8053	return nil, false
8054}
8055
8056// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8057func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8058	return nil, false
8059}
8060
8061// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8062func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8063	return nil, false
8064}
8065
8066// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8067func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8068	return nil, false
8069}
8070
8071// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8072func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8073	return nil, false
8074}
8075
8076// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8077func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8078	return nil, false
8079}
8080
8081// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8082func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8083	return nil, false
8084}
8085
8086// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8087func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8088	return nil, false
8089}
8090
8091// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8092func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8093	return nil, false
8094}
8095
8096// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8097func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8098	return nil, false
8099}
8100
8101// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8102func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8103	return nil, false
8104}
8105
8106// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8107func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8108	return nil, false
8109}
8110
8111// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8112func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8113	return nil, false
8114}
8115
8116// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8117func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8118	return nil, false
8119}
8120
8121// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8122func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8123	return nil, false
8124}
8125
8126// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8127func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8128	return nil, false
8129}
8130
8131// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8132func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8133	return nil, false
8134}
8135
8136// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8137func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8138	return nil, false
8139}
8140
8141// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8142func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8143	return &crrfce, true
8144}
8145
8146// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8147func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8148	return nil, false
8149}
8150
8151// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8152func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8153	return nil, false
8154}
8155
8156// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8157func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8158	return nil, false
8159}
8160
8161// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8162func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8163	return nil, false
8164}
8165
8166// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8167func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
8168	return nil, false
8169}
8170
8171// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8172func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8173	return &crrfce, true
8174}
8175
8176// ChaosRemoveReplicaFaultScheduledEvent chaos Remove Replica Fault Scheduled event.
8177type ChaosRemoveReplicaFaultScheduledEvent struct {
8178	// FaultGroupID - Id of fault group.
8179	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
8180	// FaultID - Id of fault.
8181	FaultID *uuid.UUID `json:"FaultId,omitempty"`
8182	// ServiceURI - Service name.
8183	ServiceURI *string `json:"ServiceUri,omitempty"`
8184	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
8185	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
8186	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
8187	ReplicaID *int64 `json:"ReplicaId,omitempty"`
8188	// EventInstanceID - The identifier for the FabricEvent instance.
8189	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8190	// TimeStamp - The time event was logged.
8191	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8192	// HasCorrelatedEvents - Shows there is existing related events available.
8193	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
8194	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
8195	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
8196}
8197
8198// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultScheduledEvent.
8199func (crrfse ChaosRemoveReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
8200	crrfse.Kind = KindChaosRemoveReplicaFaultScheduled
8201	objectMap := make(map[string]interface{})
8202	if crrfse.FaultGroupID != nil {
8203		objectMap["FaultGroupId"] = crrfse.FaultGroupID
8204	}
8205	if crrfse.FaultID != nil {
8206		objectMap["FaultId"] = crrfse.FaultID
8207	}
8208	if crrfse.ServiceURI != nil {
8209		objectMap["ServiceUri"] = crrfse.ServiceURI
8210	}
8211	if crrfse.PartitionID != nil {
8212		objectMap["PartitionId"] = crrfse.PartitionID
8213	}
8214	if crrfse.ReplicaID != nil {
8215		objectMap["ReplicaId"] = crrfse.ReplicaID
8216	}
8217	if crrfse.EventInstanceID != nil {
8218		objectMap["EventInstanceId"] = crrfse.EventInstanceID
8219	}
8220	if crrfse.TimeStamp != nil {
8221		objectMap["TimeStamp"] = crrfse.TimeStamp
8222	}
8223	if crrfse.HasCorrelatedEvents != nil {
8224		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
8225	}
8226	if crrfse.Kind != "" {
8227		objectMap["Kind"] = crrfse.Kind
8228	}
8229	return json.Marshal(objectMap)
8230}
8231
8232// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8233func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
8234	return nil, false
8235}
8236
8237// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8238func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
8239	return nil, false
8240}
8241
8242// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8243func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
8244	return nil, false
8245}
8246
8247// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8248func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
8249	return nil, false
8250}
8251
8252// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8253func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
8254	return nil, false
8255}
8256
8257// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8258func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
8259	return nil, false
8260}
8261
8262// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8263func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
8264	return nil, false
8265}
8266
8267// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8268func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
8269	return nil, false
8270}
8271
8272// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8273func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
8274	return nil, false
8275}
8276
8277// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8278func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
8279	return nil, false
8280}
8281
8282// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8283func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
8284	return nil, false
8285}
8286
8287// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8288func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
8289	return nil, false
8290}
8291
8292// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8293func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
8294	return &crrfse, true
8295}
8296
8297// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8298func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
8299	return nil, false
8300}
8301
8302// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8303func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
8304	return nil, false
8305}
8306
8307// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8308func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
8309	return nil, false
8310}
8311
8312// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8313func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
8314	return nil, false
8315}
8316
8317// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8318func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
8319	return nil, false
8320}
8321
8322// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8323func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
8324	return nil, false
8325}
8326
8327// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8328func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
8329	return nil, false
8330}
8331
8332// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8333func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
8334	return nil, false
8335}
8336
8337// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8338func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
8339	return nil, false
8340}
8341
8342// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8343func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
8344	return nil, false
8345}
8346
8347// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8348func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8349	return nil, false
8350}
8351
8352// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8353func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8354	return nil, false
8355}
8356
8357// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8358func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8359	return nil, false
8360}
8361
8362// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8363func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8364	return nil, false
8365}
8366
8367// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8368func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8369	return nil, false
8370}
8371
8372// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8373func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8374	return nil, false
8375}
8376
8377// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8378func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8379	return nil, false
8380}
8381
8382// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8383func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8384	return nil, false
8385}
8386
8387// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8388func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8389	return nil, false
8390}
8391
8392// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8393func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8394	return nil, false
8395}
8396
8397// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8398func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8399	return nil, false
8400}
8401
8402// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8403func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8404	return nil, false
8405}
8406
8407// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8408func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8409	return nil, false
8410}
8411
8412// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8413func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8414	return nil, false
8415}
8416
8417// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8418func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8419	return nil, false
8420}
8421
8422// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8423func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8424	return nil, false
8425}
8426
8427// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8428func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8429	return nil, false
8430}
8431
8432// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8433func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8434	return nil, false
8435}
8436
8437// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8438func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8439	return nil, false
8440}
8441
8442// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8443func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8444	return nil, false
8445}
8446
8447// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8448func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8449	return nil, false
8450}
8451
8452// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8453func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8454	return nil, false
8455}
8456
8457// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8458func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8459	return nil, false
8460}
8461
8462// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8463func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8464	return nil, false
8465}
8466
8467// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8468func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8469	return nil, false
8470}
8471
8472// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8473func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8474	return nil, false
8475}
8476
8477// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8478func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8479	return nil, false
8480}
8481
8482// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8483func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8484	return nil, false
8485}
8486
8487// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8488func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8489	return nil, false
8490}
8491
8492// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8493func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8494	return nil, false
8495}
8496
8497// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8498func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8499	return nil, false
8500}
8501
8502// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8503func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8504	return nil, false
8505}
8506
8507// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8508func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8509	return nil, false
8510}
8511
8512// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8513func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8514	return nil, false
8515}
8516
8517// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8518func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8519	return nil, false
8520}
8521
8522// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8523func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8524	return nil, false
8525}
8526
8527// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8528func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8529	return nil, false
8530}
8531
8532// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8533func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8534	return nil, false
8535}
8536
8537// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8538func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8539	return nil, false
8540}
8541
8542// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8543func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8544	return nil, false
8545}
8546
8547// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8548func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8549	return nil, false
8550}
8551
8552// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8553func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8554	return nil, false
8555}
8556
8557// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8558func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8559	return nil, false
8560}
8561
8562// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8563func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8564	return nil, false
8565}
8566
8567// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8568func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8569	return nil, false
8570}
8571
8572// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8573func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8574	return nil, false
8575}
8576
8577// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8578func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8579	return &crrfse, true
8580}
8581
8582// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8583func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8584	return nil, false
8585}
8586
8587// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8588func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8589	return nil, false
8590}
8591
8592// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8593func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8594	return nil, false
8595}
8596
8597// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8598func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8599	return nil, false
8600}
8601
8602// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8603func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8604	return nil, false
8605}
8606
8607// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8608func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
8609	return nil, false
8610}
8611
8612// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8613func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8614	return &crrfse, true
8615}
8616
8617// ChaosRestartCodePackageFaultCompletedEvent chaos Restart Code Package Fault Completed event.
8618type ChaosRestartCodePackageFaultCompletedEvent struct {
8619	// FaultGroupID - Id of fault group.
8620	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
8621	// FaultID - Id of fault.
8622	FaultID *uuid.UUID `json:"FaultId,omitempty"`
8623	// NodeName - The name of a Service Fabric node.
8624	NodeName *string `json:"NodeName,omitempty"`
8625	// ServiceManifestName - Service manifest name.
8626	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
8627	// CodePackageName - Code package name.
8628	CodePackageName *string `json:"CodePackageName,omitempty"`
8629	// ServicePackageActivationID - Id of Service package activation.
8630	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
8631	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
8632	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
8633	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
8634	ApplicationID *string `json:"ApplicationId,omitempty"`
8635	// EventInstanceID - The identifier for the FabricEvent instance.
8636	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8637	// TimeStamp - The time event was logged.
8638	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8639	// HasCorrelatedEvents - Shows there is existing related events available.
8640	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
8641	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
8642	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
8643}
8644
8645// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultCompletedEvent.
8646func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) MarshalJSON() ([]byte, error) {
8647	crcpfce.Kind = KindChaosRestartCodePackageFaultCompleted
8648	objectMap := make(map[string]interface{})
8649	if crcpfce.FaultGroupID != nil {
8650		objectMap["FaultGroupId"] = crcpfce.FaultGroupID
8651	}
8652	if crcpfce.FaultID != nil {
8653		objectMap["FaultId"] = crcpfce.FaultID
8654	}
8655	if crcpfce.NodeName != nil {
8656		objectMap["NodeName"] = crcpfce.NodeName
8657	}
8658	if crcpfce.ServiceManifestName != nil {
8659		objectMap["ServiceManifestName"] = crcpfce.ServiceManifestName
8660	}
8661	if crcpfce.CodePackageName != nil {
8662		objectMap["CodePackageName"] = crcpfce.CodePackageName
8663	}
8664	if crcpfce.ServicePackageActivationID != nil {
8665		objectMap["ServicePackageActivationId"] = crcpfce.ServicePackageActivationID
8666	}
8667	if crcpfce.ApplicationID != nil {
8668		objectMap["ApplicationId"] = crcpfce.ApplicationID
8669	}
8670	if crcpfce.EventInstanceID != nil {
8671		objectMap["EventInstanceId"] = crcpfce.EventInstanceID
8672	}
8673	if crcpfce.TimeStamp != nil {
8674		objectMap["TimeStamp"] = crcpfce.TimeStamp
8675	}
8676	if crcpfce.HasCorrelatedEvents != nil {
8677		objectMap["HasCorrelatedEvents"] = crcpfce.HasCorrelatedEvents
8678	}
8679	if crcpfce.Kind != "" {
8680		objectMap["Kind"] = crcpfce.Kind
8681	}
8682	return json.Marshal(objectMap)
8683}
8684
8685// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8686func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
8687	return nil, false
8688}
8689
8690// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8691func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
8692	return &crcpfce, true
8693}
8694
8695// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8696func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
8697	return nil, false
8698}
8699
8700// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8701func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
8702	return nil, false
8703}
8704
8705// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8706func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
8707	return nil, false
8708}
8709
8710// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8711func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
8712	return nil, false
8713}
8714
8715// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8716func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
8717	return nil, false
8718}
8719
8720// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8721func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
8722	return nil, false
8723}
8724
8725// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8726func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
8727	return nil, false
8728}
8729
8730// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8731func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
8732	return nil, false
8733}
8734
8735// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8736func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
8737	return nil, false
8738}
8739
8740// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8741func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
8742	return nil, false
8743}
8744
8745// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8746func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
8747	return nil, false
8748}
8749
8750// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8751func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
8752	return nil, false
8753}
8754
8755// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8756func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
8757	return nil, false
8758}
8759
8760// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8761func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
8762	return nil, false
8763}
8764
8765// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8766func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
8767	return nil, false
8768}
8769
8770// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8771func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
8772	return nil, false
8773}
8774
8775// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8776func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
8777	return nil, false
8778}
8779
8780// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8781func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
8782	return nil, false
8783}
8784
8785// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8786func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
8787	return nil, false
8788}
8789
8790// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8791func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
8792	return nil, false
8793}
8794
8795// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8796func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
8797	return nil, false
8798}
8799
8800// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8801func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8802	return nil, false
8803}
8804
8805// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8806func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8807	return nil, false
8808}
8809
8810// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8811func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8812	return nil, false
8813}
8814
8815// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8816func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8817	return nil, false
8818}
8819
8820// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8821func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8822	return nil, false
8823}
8824
8825// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8826func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8827	return nil, false
8828}
8829
8830// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8831func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8832	return nil, false
8833}
8834
8835// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8836func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8837	return nil, false
8838}
8839
8840// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8841func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8842	return nil, false
8843}
8844
8845// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8846func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8847	return nil, false
8848}
8849
8850// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8851func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8852	return nil, false
8853}
8854
8855// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8856func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8857	return nil, false
8858}
8859
8860// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8861func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8862	return nil, false
8863}
8864
8865// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8866func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8867	return nil, false
8868}
8869
8870// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8871func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8872	return nil, false
8873}
8874
8875// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8876func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8877	return nil, false
8878}
8879
8880// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8881func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8882	return nil, false
8883}
8884
8885// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8886func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8887	return nil, false
8888}
8889
8890// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8891func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8892	return nil, false
8893}
8894
8895// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8896func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8897	return nil, false
8898}
8899
8900// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8901func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8902	return nil, false
8903}
8904
8905// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8906func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8907	return nil, false
8908}
8909
8910// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8911func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8912	return nil, false
8913}
8914
8915// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8916func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8917	return nil, false
8918}
8919
8920// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8921func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8922	return nil, false
8923}
8924
8925// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8926func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8927	return nil, false
8928}
8929
8930// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8931func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8932	return nil, false
8933}
8934
8935// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8936func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8937	return nil, false
8938}
8939
8940// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8941func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8942	return nil, false
8943}
8944
8945// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8946func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8947	return nil, false
8948}
8949
8950// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8951func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8952	return nil, false
8953}
8954
8955// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8956func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8957	return nil, false
8958}
8959
8960// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8961func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8962	return nil, false
8963}
8964
8965// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8966func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8967	return nil, false
8968}
8969
8970// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8971func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8972	return nil, false
8973}
8974
8975// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8976func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8977	return nil, false
8978}
8979
8980// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8981func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8982	return nil, false
8983}
8984
8985// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8986func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8987	return nil, false
8988}
8989
8990// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8991func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8992	return nil, false
8993}
8994
8995// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8996func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8997	return nil, false
8998}
8999
9000// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9001func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
9002	return nil, false
9003}
9004
9005// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9006func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
9007	return nil, false
9008}
9009
9010// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9011func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
9012	return nil, false
9013}
9014
9015// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9016func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
9017	return nil, false
9018}
9019
9020// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9021func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
9022	return nil, false
9023}
9024
9025// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9026func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
9027	return &crcpfce, true
9028}
9029
9030// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9031func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
9032	return nil, false
9033}
9034
9035// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9036func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
9037	return nil, false
9038}
9039
9040// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9041func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
9042	return nil, false
9043}
9044
9045// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9046func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
9047	return nil, false
9048}
9049
9050// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9051func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
9052	return nil, false
9053}
9054
9055// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9056func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
9057	return nil, false
9058}
9059
9060// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9061func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
9062	return nil, false
9063}
9064
9065// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
9066func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
9067	return &crcpfce, true
9068}
9069
9070// ChaosRestartCodePackageFaultScheduledEvent chaos Restart Code Package Fault Scheduled event.
9071type ChaosRestartCodePackageFaultScheduledEvent struct {
9072	// FaultGroupID - Id of fault group.
9073	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
9074	// FaultID - Id of fault.
9075	FaultID *uuid.UUID `json:"FaultId,omitempty"`
9076	// NodeName - The name of a Service Fabric node.
9077	NodeName *string `json:"NodeName,omitempty"`
9078	// ServiceManifestName - Service manifest name.
9079	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
9080	// CodePackageName - Code package name.
9081	CodePackageName *string `json:"CodePackageName,omitempty"`
9082	// ServicePackageActivationID - Id of Service package activation.
9083	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
9084	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
9085	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
9086	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
9087	ApplicationID *string `json:"ApplicationId,omitempty"`
9088	// EventInstanceID - The identifier for the FabricEvent instance.
9089	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
9090	// TimeStamp - The time event was logged.
9091	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
9092	// HasCorrelatedEvents - Shows there is existing related events available.
9093	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
9094	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
9095	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
9096}
9097
9098// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultScheduledEvent.
9099func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) MarshalJSON() ([]byte, error) {
9100	crcpfse.Kind = KindChaosRestartCodePackageFaultScheduled
9101	objectMap := make(map[string]interface{})
9102	if crcpfse.FaultGroupID != nil {
9103		objectMap["FaultGroupId"] = crcpfse.FaultGroupID
9104	}
9105	if crcpfse.FaultID != nil {
9106		objectMap["FaultId"] = crcpfse.FaultID
9107	}
9108	if crcpfse.NodeName != nil {
9109		objectMap["NodeName"] = crcpfse.NodeName
9110	}
9111	if crcpfse.ServiceManifestName != nil {
9112		objectMap["ServiceManifestName"] = crcpfse.ServiceManifestName
9113	}
9114	if crcpfse.CodePackageName != nil {
9115		objectMap["CodePackageName"] = crcpfse.CodePackageName
9116	}
9117	if crcpfse.ServicePackageActivationID != nil {
9118		objectMap["ServicePackageActivationId"] = crcpfse.ServicePackageActivationID
9119	}
9120	if crcpfse.ApplicationID != nil {
9121		objectMap["ApplicationId"] = crcpfse.ApplicationID
9122	}
9123	if crcpfse.EventInstanceID != nil {
9124		objectMap["EventInstanceId"] = crcpfse.EventInstanceID
9125	}
9126	if crcpfse.TimeStamp != nil {
9127		objectMap["TimeStamp"] = crcpfse.TimeStamp
9128	}
9129	if crcpfse.HasCorrelatedEvents != nil {
9130		objectMap["HasCorrelatedEvents"] = crcpfse.HasCorrelatedEvents
9131	}
9132	if crcpfse.Kind != "" {
9133		objectMap["Kind"] = crcpfse.Kind
9134	}
9135	return json.Marshal(objectMap)
9136}
9137
9138// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9139func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
9140	return nil, false
9141}
9142
9143// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9144func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
9145	return &crcpfse, true
9146}
9147
9148// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9149func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
9150	return nil, false
9151}
9152
9153// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9154func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
9155	return nil, false
9156}
9157
9158// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9159func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
9160	return nil, false
9161}
9162
9163// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9164func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
9165	return nil, false
9166}
9167
9168// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9169func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
9170	return nil, false
9171}
9172
9173// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9174func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
9175	return nil, false
9176}
9177
9178// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9179func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
9180	return nil, false
9181}
9182
9183// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9184func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
9185	return nil, false
9186}
9187
9188// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9189func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
9190	return nil, false
9191}
9192
9193// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9194func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
9195	return nil, false
9196}
9197
9198// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9199func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
9200	return nil, false
9201}
9202
9203// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9204func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
9205	return nil, false
9206}
9207
9208// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9209func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
9210	return nil, false
9211}
9212
9213// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9214func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
9215	return nil, false
9216}
9217
9218// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9219func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
9220	return nil, false
9221}
9222
9223// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9224func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
9225	return nil, false
9226}
9227
9228// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9229func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
9230	return nil, false
9231}
9232
9233// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9234func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
9235	return nil, false
9236}
9237
9238// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9239func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
9240	return nil, false
9241}
9242
9243// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9244func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
9245	return nil, false
9246}
9247
9248// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9249func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
9250	return nil, false
9251}
9252
9253// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9254func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
9255	return nil, false
9256}
9257
9258// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9259func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
9260	return nil, false
9261}
9262
9263// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9264func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
9265	return nil, false
9266}
9267
9268// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9269func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
9270	return nil, false
9271}
9272
9273// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9274func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
9275	return nil, false
9276}
9277
9278// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9279func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
9280	return nil, false
9281}
9282
9283// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9284func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
9285	return nil, false
9286}
9287
9288// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9289func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
9290	return nil, false
9291}
9292
9293// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9294func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
9295	return nil, false
9296}
9297
9298// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9299func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
9300	return nil, false
9301}
9302
9303// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9304func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
9305	return nil, false
9306}
9307
9308// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9309func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
9310	return nil, false
9311}
9312
9313// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9314func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
9315	return nil, false
9316}
9317
9318// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9319func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
9320	return nil, false
9321}
9322
9323// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9324func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
9325	return nil, false
9326}
9327
9328// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9329func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
9330	return nil, false
9331}
9332
9333// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9334func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
9335	return nil, false
9336}
9337
9338// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9339func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
9340	return nil, false
9341}
9342
9343// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9344func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
9345	return nil, false
9346}
9347
9348// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9349func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
9350	return nil, false
9351}
9352
9353// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9354func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
9355	return nil, false
9356}
9357
9358// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9359func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
9360	return nil, false
9361}
9362
9363// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9364func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
9365	return nil, false
9366}
9367
9368// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9369func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
9370	return nil, false
9371}
9372
9373// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9374func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
9375	return nil, false
9376}
9377
9378// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9379func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
9380	return nil, false
9381}
9382
9383// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9384func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
9385	return nil, false
9386}
9387
9388// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9389func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
9390	return nil, false
9391}
9392
9393// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9394func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
9395	return nil, false
9396}
9397
9398// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9399func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
9400	return nil, false
9401}
9402
9403// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9404func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
9405	return nil, false
9406}
9407
9408// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9409func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
9410	return nil, false
9411}
9412
9413// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9414func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
9415	return nil, false
9416}
9417
9418// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9419func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
9420	return nil, false
9421}
9422
9423// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9424func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
9425	return nil, false
9426}
9427
9428// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9429func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
9430	return nil, false
9431}
9432
9433// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9434func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
9435	return nil, false
9436}
9437
9438// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9439func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
9440	return nil, false
9441}
9442
9443// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9444func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
9445	return nil, false
9446}
9447
9448// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9449func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
9450	return nil, false
9451}
9452
9453// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9454func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
9455	return nil, false
9456}
9457
9458// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9459func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
9460	return nil, false
9461}
9462
9463// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9464func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
9465	return nil, false
9466}
9467
9468// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9469func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
9470	return nil, false
9471}
9472
9473// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9474func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
9475	return &crcpfse, true
9476}
9477
9478// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9479func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
9480	return nil, false
9481}
9482
9483// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9484func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
9485	return nil, false
9486}
9487
9488// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9489func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
9490	return nil, false
9491}
9492
9493// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9494func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
9495	return nil, false
9496}
9497
9498// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9499func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
9500	return nil, false
9501}
9502
9503// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9504func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
9505	return nil, false
9506}
9507
9508// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9509func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
9510	return nil, false
9511}
9512
9513// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9514func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
9515	return nil, false
9516}
9517
9518// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9519func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
9520	return &crcpfse, true
9521}
9522
9523// ChaosRestartNodeFaultCompletedEvent chaos Restart Node Fault Completed event.
9524type ChaosRestartNodeFaultCompletedEvent struct {
9525	// NodeInstanceID - Id of Node instance.
9526	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
9527	// FaultGroupID - Id of fault group.
9528	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
9529	// FaultID - Id of fault.
9530	FaultID *uuid.UUID `json:"FaultId,omitempty"`
9531	// NodeName - The name of a Service Fabric node.
9532	NodeName *string `json:"NodeName,omitempty"`
9533	// EventInstanceID - The identifier for the FabricEvent instance.
9534	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
9535	// TimeStamp - The time event was logged.
9536	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
9537	// HasCorrelatedEvents - Shows there is existing related events available.
9538	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
9539	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
9540	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
9541}
9542
9543// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultCompletedEvent.
9544func (crnfce ChaosRestartNodeFaultCompletedEvent) MarshalJSON() ([]byte, error) {
9545	crnfce.Kind = KindChaosRestartNodeFaultCompleted
9546	objectMap := make(map[string]interface{})
9547	if crnfce.NodeInstanceID != nil {
9548		objectMap["NodeInstanceId"] = crnfce.NodeInstanceID
9549	}
9550	if crnfce.FaultGroupID != nil {
9551		objectMap["FaultGroupId"] = crnfce.FaultGroupID
9552	}
9553	if crnfce.FaultID != nil {
9554		objectMap["FaultId"] = crnfce.FaultID
9555	}
9556	if crnfce.NodeName != nil {
9557		objectMap["NodeName"] = crnfce.NodeName
9558	}
9559	if crnfce.EventInstanceID != nil {
9560		objectMap["EventInstanceId"] = crnfce.EventInstanceID
9561	}
9562	if crnfce.TimeStamp != nil {
9563		objectMap["TimeStamp"] = crnfce.TimeStamp
9564	}
9565	if crnfce.HasCorrelatedEvents != nil {
9566		objectMap["HasCorrelatedEvents"] = crnfce.HasCorrelatedEvents
9567	}
9568	if crnfce.Kind != "" {
9569		objectMap["Kind"] = crnfce.Kind
9570	}
9571	return json.Marshal(objectMap)
9572}
9573
9574// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9575func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
9576	return nil, false
9577}
9578
9579// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9580func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
9581	return nil, false
9582}
9583
9584// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9585func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
9586	return nil, false
9587}
9588
9589// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9590func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
9591	return nil, false
9592}
9593
9594// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9595func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
9596	return nil, false
9597}
9598
9599// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9600func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
9601	return nil, false
9602}
9603
9604// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9605func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
9606	return &crnfce, true
9607}
9608
9609// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9610func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
9611	return nil, false
9612}
9613
9614// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9615func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
9616	return nil, false
9617}
9618
9619// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9620func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
9621	return nil, false
9622}
9623
9624// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9625func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
9626	return nil, false
9627}
9628
9629// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9630func (crnfce ChaosRestartNodeFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
9631	return nil, false
9632}
9633
9634// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9635func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
9636	return nil, false
9637}
9638
9639// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9640func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
9641	return nil, false
9642}
9643
9644// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9645func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
9646	return nil, false
9647}
9648
9649// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9650func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
9651	return nil, false
9652}
9653
9654// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9655func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
9656	return nil, false
9657}
9658
9659// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9660func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
9661	return nil, false
9662}
9663
9664// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9665func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
9666	return nil, false
9667}
9668
9669// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9670func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
9671	return nil, false
9672}
9673
9674// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9675func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
9676	return nil, false
9677}
9678
9679// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9680func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
9681	return nil, false
9682}
9683
9684// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9685func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
9686	return nil, false
9687}
9688
9689// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9690func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
9691	return nil, false
9692}
9693
9694// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9695func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
9696	return nil, false
9697}
9698
9699// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9700func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
9701	return nil, false
9702}
9703
9704// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9705func (crnfce ChaosRestartNodeFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
9706	return nil, false
9707}
9708
9709// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9710func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
9711	return nil, false
9712}
9713
9714// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9715func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
9716	return nil, false
9717}
9718
9719// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9720func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
9721	return nil, false
9722}
9723
9724// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9725func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
9726	return nil, false
9727}
9728
9729// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9730func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
9731	return nil, false
9732}
9733
9734// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9735func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
9736	return nil, false
9737}
9738
9739// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9740func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
9741	return nil, false
9742}
9743
9744// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9745func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
9746	return nil, false
9747}
9748
9749// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9750func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
9751	return nil, false
9752}
9753
9754// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9755func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
9756	return nil, false
9757}
9758
9759// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9760func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
9761	return nil, false
9762}
9763
9764// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9765func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
9766	return nil, false
9767}
9768
9769// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9770func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
9771	return nil, false
9772}
9773
9774// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9775func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
9776	return nil, false
9777}
9778
9779// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9780func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
9781	return nil, false
9782}
9783
9784// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9785func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
9786	return nil, false
9787}
9788
9789// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9790func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
9791	return nil, false
9792}
9793
9794// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9795func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
9796	return nil, false
9797}
9798
9799// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9800func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
9801	return nil, false
9802}
9803
9804// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9805func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
9806	return nil, false
9807}
9808
9809// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9810func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
9811	return nil, false
9812}
9813
9814// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9815func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
9816	return nil, false
9817}
9818
9819// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9820func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
9821	return nil, false
9822}
9823
9824// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9825func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
9826	return nil, false
9827}
9828
9829// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9830func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
9831	return nil, false
9832}
9833
9834// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9835func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
9836	return nil, false
9837}
9838
9839// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9840func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
9841	return nil, false
9842}
9843
9844// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9845func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
9846	return nil, false
9847}
9848
9849// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9850func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
9851	return nil, false
9852}
9853
9854// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9855func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
9856	return nil, false
9857}
9858
9859// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9860func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
9861	return nil, false
9862}
9863
9864// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9865func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
9866	return nil, false
9867}
9868
9869// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9870func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
9871	return nil, false
9872}
9873
9874// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9875func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
9876	return nil, false
9877}
9878
9879// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9880func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
9881	return nil, false
9882}
9883
9884// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9885func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
9886	return nil, false
9887}
9888
9889// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9890func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
9891	return nil, false
9892}
9893
9894// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9895func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
9896	return nil, false
9897}
9898
9899// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9900func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
9901	return nil, false
9902}
9903
9904// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9905func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
9906	return &crnfce, true
9907}
9908
9909// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9910func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
9911	return nil, false
9912}
9913
9914// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9915func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
9916	return nil, false
9917}
9918
9919// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9920func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
9921	return nil, false
9922}
9923
9924// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9925func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
9926	return nil, false
9927}
9928
9929// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9930func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
9931	return nil, false
9932}
9933
9934// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9935func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
9936	return nil, false
9937}
9938
9939// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9940func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
9941	return nil, false
9942}
9943
9944// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9945func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
9946	return nil, false
9947}
9948
9949// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9950func (crnfce ChaosRestartNodeFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
9951	return nil, false
9952}
9953
9954// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9955func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
9956	return &crnfce, true
9957}
9958
9959// ChaosRestartNodeFaultScheduledEvent chaos Restart Node Fault Scheduled event.
9960type ChaosRestartNodeFaultScheduledEvent struct {
9961	// NodeInstanceID - Id of Node instance.
9962	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
9963	// FaultGroupID - Id of fault group.
9964	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
9965	// FaultID - Id of fault.
9966	FaultID *uuid.UUID `json:"FaultId,omitempty"`
9967	// NodeName - The name of a Service Fabric node.
9968	NodeName *string `json:"NodeName,omitempty"`
9969	// EventInstanceID - The identifier for the FabricEvent instance.
9970	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
9971	// TimeStamp - The time event was logged.
9972	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
9973	// HasCorrelatedEvents - Shows there is existing related events available.
9974	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
9975	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
9976	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
9977}
9978
9979// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultScheduledEvent.
9980func (crnfse ChaosRestartNodeFaultScheduledEvent) MarshalJSON() ([]byte, error) {
9981	crnfse.Kind = KindChaosRestartNodeFaultScheduled
9982	objectMap := make(map[string]interface{})
9983	if crnfse.NodeInstanceID != nil {
9984		objectMap["NodeInstanceId"] = crnfse.NodeInstanceID
9985	}
9986	if crnfse.FaultGroupID != nil {
9987		objectMap["FaultGroupId"] = crnfse.FaultGroupID
9988	}
9989	if crnfse.FaultID != nil {
9990		objectMap["FaultId"] = crnfse.FaultID
9991	}
9992	if crnfse.NodeName != nil {
9993		objectMap["NodeName"] = crnfse.NodeName
9994	}
9995	if crnfse.EventInstanceID != nil {
9996		objectMap["EventInstanceId"] = crnfse.EventInstanceID
9997	}
9998	if crnfse.TimeStamp != nil {
9999		objectMap["TimeStamp"] = crnfse.TimeStamp
10000	}
10001	if crnfse.HasCorrelatedEvents != nil {
10002		objectMap["HasCorrelatedEvents"] = crnfse.HasCorrelatedEvents
10003	}
10004	if crnfse.Kind != "" {
10005		objectMap["Kind"] = crnfse.Kind
10006	}
10007	return json.Marshal(objectMap)
10008}
10009
10010// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10011func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10012	return nil, false
10013}
10014
10015// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10016func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10017	return nil, false
10018}
10019
10020// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10021func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
10022	return nil, false
10023}
10024
10025// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10026func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10027	return nil, false
10028}
10029
10030// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10031func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10032	return nil, false
10033}
10034
10035// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10036func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
10037	return nil, false
10038}
10039
10040// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10041func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10042	return &crnfse, true
10043}
10044
10045// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10046func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10047	return nil, false
10048}
10049
10050// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10051func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10052	return nil, false
10053}
10054
10055// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10056func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10057	return nil, false
10058}
10059
10060// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10061func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10062	return nil, false
10063}
10064
10065// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10066func (crnfse ChaosRestartNodeFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10067	return nil, false
10068}
10069
10070// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10071func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10072	return nil, false
10073}
10074
10075// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10076func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
10077	return nil, false
10078}
10079
10080// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10081func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10082	return nil, false
10083}
10084
10085// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10086func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10087	return nil, false
10088}
10089
10090// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10091func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10092	return nil, false
10093}
10094
10095// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10096func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10097	return nil, false
10098}
10099
10100// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10101func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10102	return nil, false
10103}
10104
10105// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10106func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10107	return nil, false
10108}
10109
10110// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10111func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10112	return nil, false
10113}
10114
10115// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10116func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10117	return nil, false
10118}
10119
10120// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10121func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10122	return nil, false
10123}
10124
10125// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10126func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10127	return nil, false
10128}
10129
10130// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10131func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10132	return nil, false
10133}
10134
10135// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10136func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10137	return nil, false
10138}
10139
10140// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10141func (crnfse ChaosRestartNodeFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10142	return nil, false
10143}
10144
10145// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10146func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10147	return nil, false
10148}
10149
10150// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10151func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10152	return nil, false
10153}
10154
10155// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10156func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10157	return nil, false
10158}
10159
10160// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10161func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10162	return nil, false
10163}
10164
10165// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10166func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10167	return nil, false
10168}
10169
10170// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10171func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10172	return nil, false
10173}
10174
10175// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10176func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10177	return nil, false
10178}
10179
10180// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10181func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10182	return nil, false
10183}
10184
10185// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10186func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10187	return nil, false
10188}
10189
10190// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10191func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10192	return nil, false
10193}
10194
10195// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10196func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10197	return nil, false
10198}
10199
10200// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10201func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10202	return nil, false
10203}
10204
10205// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10206func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10207	return nil, false
10208}
10209
10210// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10211func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10212	return nil, false
10213}
10214
10215// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10216func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10217	return nil, false
10218}
10219
10220// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10221func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10222	return nil, false
10223}
10224
10225// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10226func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10227	return nil, false
10228}
10229
10230// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10231func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10232	return nil, false
10233}
10234
10235// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10236func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10237	return nil, false
10238}
10239
10240// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10241func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10242	return nil, false
10243}
10244
10245// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10246func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10247	return nil, false
10248}
10249
10250// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10251func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10252	return nil, false
10253}
10254
10255// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10256func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10257	return nil, false
10258}
10259
10260// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10261func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10262	return nil, false
10263}
10264
10265// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10266func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10267	return nil, false
10268}
10269
10270// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10271func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10272	return nil, false
10273}
10274
10275// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10276func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10277	return nil, false
10278}
10279
10280// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10281func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10282	return nil, false
10283}
10284
10285// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10286func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10287	return nil, false
10288}
10289
10290// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10291func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10292	return nil, false
10293}
10294
10295// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10296func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10297	return nil, false
10298}
10299
10300// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10301func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10302	return nil, false
10303}
10304
10305// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10306func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10307	return nil, false
10308}
10309
10310// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10311func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10312	return nil, false
10313}
10314
10315// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10316func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10317	return nil, false
10318}
10319
10320// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10321func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10322	return nil, false
10323}
10324
10325// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10326func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10327	return nil, false
10328}
10329
10330// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10331func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10332	return nil, false
10333}
10334
10335// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10336func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10337	return nil, false
10338}
10339
10340// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10341func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10342	return nil, false
10343}
10344
10345// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10346func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10347	return nil, false
10348}
10349
10350// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10351func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10352	return nil, false
10353}
10354
10355// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10356func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10357	return nil, false
10358}
10359
10360// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10361func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10362	return nil, false
10363}
10364
10365// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10366func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10367	return nil, false
10368}
10369
10370// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10371func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10372	return nil, false
10373}
10374
10375// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10376func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10377	return nil, false
10378}
10379
10380// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10381func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10382	return &crnfse, true
10383}
10384
10385// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10386func (crnfse ChaosRestartNodeFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10387	return nil, false
10388}
10389
10390// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10391func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10392	return &crnfse, true
10393}
10394
10395// ChaosRestartReplicaFaultScheduledEvent chaos Restart Replica Fault Scheduled event.
10396type ChaosRestartReplicaFaultScheduledEvent struct {
10397	// FaultGroupID - Id of fault group.
10398	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
10399	// FaultID - Id of fault.
10400	FaultID *uuid.UUID `json:"FaultId,omitempty"`
10401	// ServiceURI - Service name.
10402	ServiceURI *string `json:"ServiceUri,omitempty"`
10403	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
10404	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
10405	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
10406	ReplicaID *int64 `json:"ReplicaId,omitempty"`
10407	// EventInstanceID - The identifier for the FabricEvent instance.
10408	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10409	// TimeStamp - The time event was logged.
10410	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10411	// HasCorrelatedEvents - Shows there is existing related events available.
10412	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10413	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
10414	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10415}
10416
10417// MarshalJSON is the custom marshaler for ChaosRestartReplicaFaultScheduledEvent.
10418func (crrfse ChaosRestartReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
10419	crrfse.Kind = KindChaosRestartReplicaFaultScheduled
10420	objectMap := make(map[string]interface{})
10421	if crrfse.FaultGroupID != nil {
10422		objectMap["FaultGroupId"] = crrfse.FaultGroupID
10423	}
10424	if crrfse.FaultID != nil {
10425		objectMap["FaultId"] = crrfse.FaultID
10426	}
10427	if crrfse.ServiceURI != nil {
10428		objectMap["ServiceUri"] = crrfse.ServiceURI
10429	}
10430	if crrfse.PartitionID != nil {
10431		objectMap["PartitionId"] = crrfse.PartitionID
10432	}
10433	if crrfse.ReplicaID != nil {
10434		objectMap["ReplicaId"] = crrfse.ReplicaID
10435	}
10436	if crrfse.EventInstanceID != nil {
10437		objectMap["EventInstanceId"] = crrfse.EventInstanceID
10438	}
10439	if crrfse.TimeStamp != nil {
10440		objectMap["TimeStamp"] = crrfse.TimeStamp
10441	}
10442	if crrfse.HasCorrelatedEvents != nil {
10443		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
10444	}
10445	if crrfse.Kind != "" {
10446		objectMap["Kind"] = crrfse.Kind
10447	}
10448	return json.Marshal(objectMap)
10449}
10450
10451// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10452func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10453	return nil, false
10454}
10455
10456// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10457func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10458	return nil, false
10459}
10460
10461// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10462func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
10463	return nil, false
10464}
10465
10466// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10467func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10468	return nil, false
10469}
10470
10471// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10472func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10473	return nil, false
10474}
10475
10476// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10477func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
10478	return nil, false
10479}
10480
10481// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10482func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10483	return nil, false
10484}
10485
10486// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10487func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10488	return nil, false
10489}
10490
10491// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10492func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10493	return nil, false
10494}
10495
10496// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10497func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10498	return nil, false
10499}
10500
10501// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10502func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10503	return nil, false
10504}
10505
10506// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10507func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10508	return nil, false
10509}
10510
10511// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10512func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10513	return &crrfse, true
10514}
10515
10516// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10517func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
10518	return nil, false
10519}
10520
10521// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10522func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10523	return nil, false
10524}
10525
10526// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10527func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10528	return nil, false
10529}
10530
10531// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10532func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10533	return nil, false
10534}
10535
10536// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10537func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10538	return nil, false
10539}
10540
10541// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10542func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10543	return nil, false
10544}
10545
10546// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10547func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10548	return nil, false
10549}
10550
10551// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10552func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10553	return nil, false
10554}
10555
10556// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10557func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10558	return nil, false
10559}
10560
10561// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10562func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10563	return nil, false
10564}
10565
10566// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10567func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10568	return nil, false
10569}
10570
10571// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10572func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10573	return nil, false
10574}
10575
10576// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10577func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10578	return nil, false
10579}
10580
10581// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10582func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10583	return nil, false
10584}
10585
10586// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10587func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10588	return nil, false
10589}
10590
10591// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10592func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10593	return nil, false
10594}
10595
10596// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10597func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10598	return nil, false
10599}
10600
10601// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10602func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10603	return nil, false
10604}
10605
10606// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10607func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10608	return nil, false
10609}
10610
10611// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10612func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10613	return nil, false
10614}
10615
10616// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10617func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10618	return nil, false
10619}
10620
10621// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10622func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10623	return nil, false
10624}
10625
10626// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10627func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10628	return nil, false
10629}
10630
10631// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10632func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10633	return nil, false
10634}
10635
10636// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10637func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10638	return nil, false
10639}
10640
10641// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10642func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10643	return nil, false
10644}
10645
10646// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10647func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10648	return nil, false
10649}
10650
10651// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10652func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10653	return nil, false
10654}
10655
10656// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10657func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10658	return nil, false
10659}
10660
10661// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10662func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10663	return nil, false
10664}
10665
10666// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10667func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10668	return nil, false
10669}
10670
10671// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10672func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10673	return nil, false
10674}
10675
10676// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10677func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10678	return nil, false
10679}
10680
10681// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10682func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10683	return nil, false
10684}
10685
10686// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10687func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10688	return nil, false
10689}
10690
10691// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10692func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10693	return nil, false
10694}
10695
10696// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10697func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10698	return nil, false
10699}
10700
10701// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10702func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10703	return nil, false
10704}
10705
10706// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10707func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10708	return nil, false
10709}
10710
10711// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10712func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10713	return nil, false
10714}
10715
10716// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10717func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10718	return nil, false
10719}
10720
10721// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10722func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10723	return nil, false
10724}
10725
10726// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10727func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10728	return nil, false
10729}
10730
10731// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10732func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10733	return nil, false
10734}
10735
10736// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10737func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10738	return nil, false
10739}
10740
10741// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10742func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10743	return nil, false
10744}
10745
10746// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10747func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10748	return nil, false
10749}
10750
10751// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10752func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10753	return nil, false
10754}
10755
10756// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10757func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10758	return nil, false
10759}
10760
10761// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10762func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10763	return nil, false
10764}
10765
10766// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10767func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10768	return nil, false
10769}
10770
10771// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10772func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10773	return nil, false
10774}
10775
10776// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10777func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10778	return nil, false
10779}
10780
10781// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10782func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10783	return nil, false
10784}
10785
10786// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10787func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10788	return nil, false
10789}
10790
10791// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10792func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10793	return nil, false
10794}
10795
10796// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10797func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10798	return nil, false
10799}
10800
10801// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10802func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10803	return nil, false
10804}
10805
10806// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10807func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10808	return nil, false
10809}
10810
10811// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10812func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10813	return nil, false
10814}
10815
10816// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10817func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10818	return &crrfse, true
10819}
10820
10821// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10822func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10823	return nil, false
10824}
10825
10826// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10827func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10828	return nil, false
10829}
10830
10831// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10832func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10833	return &crrfse, true
10834}
10835
10836// ChaosSchedule defines the schedule used by Chaos.
10837type ChaosSchedule struct {
10838	// StartDate - The date and time Chaos will start using this schedule.
10839	StartDate *date.Time `json:"StartDate,omitempty"`
10840	// ExpiryDate - The date and time Chaos will continue to use this schedule until.
10841	ExpiryDate *date.Time `json:"ExpiryDate,omitempty"`
10842	// ChaosParametersDictionary - A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.
10843	ChaosParametersDictionary *[]ChaosParametersDictionaryItem `json:"ChaosParametersDictionary,omitempty"`
10844	// Jobs - A list of all Chaos Schedule Jobs that will be automated by the schedule.
10845	Jobs *[]ChaosScheduleJob `json:"Jobs,omitempty"`
10846}
10847
10848// ChaosScheduleDescription defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule.
10849// The version value wraps back to 0 after surpassing 2,147,483,647.
10850type ChaosScheduleDescription struct {
10851	autorest.Response `json:"-"`
10852	// Version - The version number of the Schedule.
10853	Version *int32 `json:"Version,omitempty"`
10854	// Schedule - Defines the schedule used by Chaos.
10855	Schedule *ChaosSchedule `json:"Schedule,omitempty"`
10856}
10857
10858// ChaosScheduleJob defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.
10859type ChaosScheduleJob struct {
10860	// ChaosParameters - A reference to which Chaos Parameters of the Chaos Schedule to use.
10861	ChaosParameters *string `json:"ChaosParameters,omitempty"`
10862	// Days - Defines the days of the week that a Chaos Schedule Job will run for.
10863	Days *ChaosScheduleJobActiveDaysOfWeek `json:"Days,omitempty"`
10864	// Times - A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.
10865	Times *[]TimeRange `json:"Times,omitempty"`
10866}
10867
10868// ChaosScheduleJobActiveDaysOfWeek defines the days of the week that a Chaos Schedule Job will run for.
10869type ChaosScheduleJobActiveDaysOfWeek struct {
10870	// Sunday - Indicates if the Chaos Schedule Job will run on Sunday
10871	Sunday *bool `json:"Sunday,omitempty"`
10872	// Monday - Indicates if the Chaos Schedule Job will run on Monday
10873	Monday *bool `json:"Monday,omitempty"`
10874	// Tuesday - Indicates if the Chaos Schedule Job will run on Tuesday
10875	Tuesday *bool `json:"Tuesday,omitempty"`
10876	// Wednesday - Indicates if the Chaos Schedule Job will run on Wednesday
10877	Wednesday *bool `json:"Wednesday,omitempty"`
10878	// Thursday - Indicates if the Chaos Schedule Job will run on Thursday
10879	Thursday *bool `json:"Thursday,omitempty"`
10880	// Friday - Indicates if the Chaos Schedule Job will run on Friday
10881	Friday *bool `json:"Friday,omitempty"`
10882	// Saturday - Indicates if the Chaos Schedule Job will run on Saturday
10883	Saturday *bool `json:"Saturday,omitempty"`
10884}
10885
10886// ChaosStartedEvent chaos Started event.
10887type ChaosStartedEvent struct {
10888	// MaxConcurrentFaults - Maximum number of concurrent faults.
10889	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
10890	// TimeToRunInSeconds - Time to run in seconds.
10891	TimeToRunInSeconds *float64 `json:"TimeToRunInSeconds,omitempty"`
10892	// MaxClusterStabilizationTimeoutInSeconds - Maximum timeout for cluster stabilization in seconds.
10893	MaxClusterStabilizationTimeoutInSeconds *float64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
10894	// WaitTimeBetweenIterationsInSeconds - Wait time between iterations in seconds.
10895	WaitTimeBetweenIterationsInSeconds *float64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
10896	// WaitTimeBetweenFautlsInSeconds - Wait time between faults in seconds.
10897	WaitTimeBetweenFautlsInSeconds *float64 `json:"WaitTimeBetweenFautlsInSeconds,omitempty"`
10898	// MoveReplicaFaultEnabled - Indicates MoveReplica fault is enabled.
10899	MoveReplicaFaultEnabled *bool `json:"MoveReplicaFaultEnabled,omitempty"`
10900	// IncludedNodeTypeList - List of included Node types.
10901	IncludedNodeTypeList *string `json:"IncludedNodeTypeList,omitempty"`
10902	// IncludedApplicationList - List of included Applications.
10903	IncludedApplicationList *string `json:"IncludedApplicationList,omitempty"`
10904	// ClusterHealthPolicy - Health policy.
10905	ClusterHealthPolicy *string `json:"ClusterHealthPolicy,omitempty"`
10906	// ChaosContext - Chaos Context.
10907	ChaosContext *string `json:"ChaosContext,omitempty"`
10908	// EventInstanceID - The identifier for the FabricEvent instance.
10909	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10910	// TimeStamp - The time event was logged.
10911	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10912	// HasCorrelatedEvents - Shows there is existing related events available.
10913	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10914	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
10915	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10916}
10917
10918// MarshalJSON is the custom marshaler for ChaosStartedEvent.
10919func (cse ChaosStartedEvent) MarshalJSON() ([]byte, error) {
10920	cse.Kind = KindChaosStarted
10921	objectMap := make(map[string]interface{})
10922	if cse.MaxConcurrentFaults != nil {
10923		objectMap["MaxConcurrentFaults"] = cse.MaxConcurrentFaults
10924	}
10925	if cse.TimeToRunInSeconds != nil {
10926		objectMap["TimeToRunInSeconds"] = cse.TimeToRunInSeconds
10927	}
10928	if cse.MaxClusterStabilizationTimeoutInSeconds != nil {
10929		objectMap["MaxClusterStabilizationTimeoutInSeconds"] = cse.MaxClusterStabilizationTimeoutInSeconds
10930	}
10931	if cse.WaitTimeBetweenIterationsInSeconds != nil {
10932		objectMap["WaitTimeBetweenIterationsInSeconds"] = cse.WaitTimeBetweenIterationsInSeconds
10933	}
10934	if cse.WaitTimeBetweenFautlsInSeconds != nil {
10935		objectMap["WaitTimeBetweenFautlsInSeconds"] = cse.WaitTimeBetweenFautlsInSeconds
10936	}
10937	if cse.MoveReplicaFaultEnabled != nil {
10938		objectMap["MoveReplicaFaultEnabled"] = cse.MoveReplicaFaultEnabled
10939	}
10940	if cse.IncludedNodeTypeList != nil {
10941		objectMap["IncludedNodeTypeList"] = cse.IncludedNodeTypeList
10942	}
10943	if cse.IncludedApplicationList != nil {
10944		objectMap["IncludedApplicationList"] = cse.IncludedApplicationList
10945	}
10946	if cse.ClusterHealthPolicy != nil {
10947		objectMap["ClusterHealthPolicy"] = cse.ClusterHealthPolicy
10948	}
10949	if cse.ChaosContext != nil {
10950		objectMap["ChaosContext"] = cse.ChaosContext
10951	}
10952	if cse.EventInstanceID != nil {
10953		objectMap["EventInstanceId"] = cse.EventInstanceID
10954	}
10955	if cse.TimeStamp != nil {
10956		objectMap["TimeStamp"] = cse.TimeStamp
10957	}
10958	if cse.HasCorrelatedEvents != nil {
10959		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
10960	}
10961	if cse.Kind != "" {
10962		objectMap["Kind"] = cse.Kind
10963	}
10964	return json.Marshal(objectMap)
10965}
10966
10967// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10968func (cse ChaosStartedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10969	return nil, false
10970}
10971
10972// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10973func (cse ChaosStartedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10974	return nil, false
10975}
10976
10977// AsClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10978func (cse ChaosStartedEvent) AsClusterEvent() (*ClusterEvent, bool) {
10979	return nil, false
10980}
10981
10982// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10983func (cse ChaosStartedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10984	return &cse, true
10985}
10986
10987// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10988func (cse ChaosStartedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10989	return nil, false
10990}
10991
10992// AsNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10993func (cse ChaosStartedEvent) AsNodeEvent() (*NodeEvent, bool) {
10994	return nil, false
10995}
10996
10997// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10998func (cse ChaosStartedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10999	return nil, false
11000}
11001
11002// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11003func (cse ChaosStartedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11004	return nil, false
11005}
11006
11007// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11008func (cse ChaosStartedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11009	return nil, false
11010}
11011
11012// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11013func (cse ChaosStartedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11014	return nil, false
11015}
11016
11017// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11018func (cse ChaosStartedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11019	return nil, false
11020}
11021
11022// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11023func (cse ChaosStartedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11024	return nil, false
11025}
11026
11027// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11028func (cse ChaosStartedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11029	return nil, false
11030}
11031
11032// AsServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11033func (cse ChaosStartedEvent) AsServiceEvent() (*ServiceEvent, bool) {
11034	return nil, false
11035}
11036
11037// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11038func (cse ChaosStartedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11039	return nil, false
11040}
11041
11042// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11043func (cse ChaosStartedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11044	return nil, false
11045}
11046
11047// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11048func (cse ChaosStartedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11049	return nil, false
11050}
11051
11052// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11053func (cse ChaosStartedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11054	return nil, false
11055}
11056
11057// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11058func (cse ChaosStartedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11059	return nil, false
11060}
11061
11062// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11063func (cse ChaosStartedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11064	return nil, false
11065}
11066
11067// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11068func (cse ChaosStartedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11069	return nil, false
11070}
11071
11072// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11073func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11074	return nil, false
11075}
11076
11077// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11078func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11079	return nil, false
11080}
11081
11082// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11083func (cse ChaosStartedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11084	return nil, false
11085}
11086
11087// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11088func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
11089	return nil, false
11090}
11091
11092// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11093func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11094	return nil, false
11095}
11096
11097// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11098func (cse ChaosStartedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11099	return nil, false
11100}
11101
11102// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11103func (cse ChaosStartedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11104	return nil, false
11105}
11106
11107// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11108func (cse ChaosStartedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11109	return nil, false
11110}
11111
11112// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11113func (cse ChaosStartedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11114	return nil, false
11115}
11116
11117// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11118func (cse ChaosStartedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11119	return nil, false
11120}
11121
11122// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11123func (cse ChaosStartedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11124	return nil, false
11125}
11126
11127// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11128func (cse ChaosStartedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11129	return nil, false
11130}
11131
11132// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11133func (cse ChaosStartedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11134	return nil, false
11135}
11136
11137// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11138func (cse ChaosStartedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11139	return nil, false
11140}
11141
11142// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11143func (cse ChaosStartedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11144	return nil, false
11145}
11146
11147// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11148func (cse ChaosStartedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11149	return nil, false
11150}
11151
11152// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11153func (cse ChaosStartedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11154	return nil, false
11155}
11156
11157// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11158func (cse ChaosStartedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11159	return nil, false
11160}
11161
11162// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11163func (cse ChaosStartedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11164	return nil, false
11165}
11166
11167// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11168func (cse ChaosStartedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11169	return nil, false
11170}
11171
11172// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11173func (cse ChaosStartedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11174	return nil, false
11175}
11176
11177// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11178func (cse ChaosStartedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11179	return nil, false
11180}
11181
11182// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11183func (cse ChaosStartedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11184	return nil, false
11185}
11186
11187// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11188func (cse ChaosStartedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11189	return nil, false
11190}
11191
11192// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11193func (cse ChaosStartedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11194	return nil, false
11195}
11196
11197// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11198func (cse ChaosStartedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11199	return nil, false
11200}
11201
11202// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11203func (cse ChaosStartedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11204	return nil, false
11205}
11206
11207// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11208func (cse ChaosStartedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11209	return nil, false
11210}
11211
11212// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11213func (cse ChaosStartedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11214	return nil, false
11215}
11216
11217// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11218func (cse ChaosStartedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11219	return nil, false
11220}
11221
11222// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11223func (cse ChaosStartedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11224	return nil, false
11225}
11226
11227// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11228func (cse ChaosStartedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11229	return nil, false
11230}
11231
11232// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11233func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11234	return nil, false
11235}
11236
11237// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11238func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11239	return nil, false
11240}
11241
11242// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11243func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11244	return nil, false
11245}
11246
11247// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11248func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11249	return nil, false
11250}
11251
11252// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11253func (cse ChaosStartedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11254	return nil, false
11255}
11256
11257// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11258func (cse ChaosStartedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11259	return nil, false
11260}
11261
11262// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11263func (cse ChaosStartedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11264	return nil, false
11265}
11266
11267// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11268func (cse ChaosStartedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11269	return nil, false
11270}
11271
11272// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11273func (cse ChaosStartedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11274	return nil, false
11275}
11276
11277// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11278func (cse ChaosStartedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11279	return nil, false
11280}
11281
11282// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11283func (cse ChaosStartedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11284	return nil, false
11285}
11286
11287// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11288func (cse ChaosStartedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11289	return nil, false
11290}
11291
11292// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11293func (cse ChaosStartedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11294	return &cse, true
11295}
11296
11297// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11298func (cse ChaosStartedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11299	return nil, false
11300}
11301
11302// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11303func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11304	return nil, false
11305}
11306
11307// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11308func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11309	return nil, false
11310}
11311
11312// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11313func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11314	return nil, false
11315}
11316
11317// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11318func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11319	return nil, false
11320}
11321
11322// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11323func (cse ChaosStartedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11324	return nil, false
11325}
11326
11327// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11328func (cse ChaosStartedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11329	return nil, false
11330}
11331
11332// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11333func (cse ChaosStartedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11334	return nil, false
11335}
11336
11337// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11338func (cse ChaosStartedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11339	return nil, false
11340}
11341
11342// AsFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11343func (cse ChaosStartedEvent) AsFabricEvent() (*FabricEvent, bool) {
11344	return nil, false
11345}
11346
11347// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11348func (cse ChaosStartedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11349	return &cse, true
11350}
11351
11352// ChaosStoppedEvent chaos Stopped event.
11353type ChaosStoppedEvent struct {
11354	// Reason - Describes reason.
11355	Reason *string `json:"Reason,omitempty"`
11356	// EventInstanceID - The identifier for the FabricEvent instance.
11357	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
11358	// TimeStamp - The time event was logged.
11359	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
11360	// HasCorrelatedEvents - Shows there is existing related events available.
11361	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
11362	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
11363	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
11364}
11365
11366// MarshalJSON is the custom marshaler for ChaosStoppedEvent.
11367func (cse ChaosStoppedEvent) MarshalJSON() ([]byte, error) {
11368	cse.Kind = KindChaosStopped
11369	objectMap := make(map[string]interface{})
11370	if cse.Reason != nil {
11371		objectMap["Reason"] = cse.Reason
11372	}
11373	if cse.EventInstanceID != nil {
11374		objectMap["EventInstanceId"] = cse.EventInstanceID
11375	}
11376	if cse.TimeStamp != nil {
11377		objectMap["TimeStamp"] = cse.TimeStamp
11378	}
11379	if cse.HasCorrelatedEvents != nil {
11380		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
11381	}
11382	if cse.Kind != "" {
11383		objectMap["Kind"] = cse.Kind
11384	}
11385	return json.Marshal(objectMap)
11386}
11387
11388// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11389func (cse ChaosStoppedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
11390	return nil, false
11391}
11392
11393// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11394func (cse ChaosStoppedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
11395	return nil, false
11396}
11397
11398// AsClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11399func (cse ChaosStoppedEvent) AsClusterEvent() (*ClusterEvent, bool) {
11400	return nil, false
11401}
11402
11403// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11404func (cse ChaosStoppedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
11405	return &cse, true
11406}
11407
11408// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11409func (cse ChaosStoppedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
11410	return nil, false
11411}
11412
11413// AsNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11414func (cse ChaosStoppedEvent) AsNodeEvent() (*NodeEvent, bool) {
11415	return nil, false
11416}
11417
11418// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11419func (cse ChaosStoppedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
11420	return nil, false
11421}
11422
11423// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11424func (cse ChaosStoppedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11425	return nil, false
11426}
11427
11428// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11429func (cse ChaosStoppedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11430	return nil, false
11431}
11432
11433// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11434func (cse ChaosStoppedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11435	return nil, false
11436}
11437
11438// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11439func (cse ChaosStoppedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11440	return nil, false
11441}
11442
11443// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11444func (cse ChaosStoppedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11445	return nil, false
11446}
11447
11448// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11449func (cse ChaosStoppedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11450	return nil, false
11451}
11452
11453// AsServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11454func (cse ChaosStoppedEvent) AsServiceEvent() (*ServiceEvent, bool) {
11455	return nil, false
11456}
11457
11458// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11459func (cse ChaosStoppedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11460	return nil, false
11461}
11462
11463// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11464func (cse ChaosStoppedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11465	return nil, false
11466}
11467
11468// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11469func (cse ChaosStoppedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11470	return nil, false
11471}
11472
11473// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11474func (cse ChaosStoppedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11475	return nil, false
11476}
11477
11478// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11479func (cse ChaosStoppedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11480	return nil, false
11481}
11482
11483// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11484func (cse ChaosStoppedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11485	return nil, false
11486}
11487
11488// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11489func (cse ChaosStoppedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11490	return nil, false
11491}
11492
11493// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11494func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11495	return nil, false
11496}
11497
11498// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11499func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11500	return nil, false
11501}
11502
11503// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11504func (cse ChaosStoppedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11505	return nil, false
11506}
11507
11508// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11509func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
11510	return nil, false
11511}
11512
11513// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11514func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11515	return nil, false
11516}
11517
11518// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11519func (cse ChaosStoppedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11520	return nil, false
11521}
11522
11523// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11524func (cse ChaosStoppedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11525	return nil, false
11526}
11527
11528// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11529func (cse ChaosStoppedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11530	return nil, false
11531}
11532
11533// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11534func (cse ChaosStoppedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11535	return nil, false
11536}
11537
11538// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11539func (cse ChaosStoppedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11540	return nil, false
11541}
11542
11543// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11544func (cse ChaosStoppedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11545	return nil, false
11546}
11547
11548// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11549func (cse ChaosStoppedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11550	return nil, false
11551}
11552
11553// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11554func (cse ChaosStoppedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11555	return nil, false
11556}
11557
11558// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11559func (cse ChaosStoppedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11560	return nil, false
11561}
11562
11563// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11564func (cse ChaosStoppedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11565	return nil, false
11566}
11567
11568// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11569func (cse ChaosStoppedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11570	return nil, false
11571}
11572
11573// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11574func (cse ChaosStoppedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11575	return nil, false
11576}
11577
11578// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11579func (cse ChaosStoppedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11580	return nil, false
11581}
11582
11583// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11584func (cse ChaosStoppedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11585	return nil, false
11586}
11587
11588// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11589func (cse ChaosStoppedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11590	return nil, false
11591}
11592
11593// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11594func (cse ChaosStoppedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11595	return nil, false
11596}
11597
11598// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11599func (cse ChaosStoppedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11600	return nil, false
11601}
11602
11603// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11604func (cse ChaosStoppedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11605	return nil, false
11606}
11607
11608// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11609func (cse ChaosStoppedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11610	return nil, false
11611}
11612
11613// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11614func (cse ChaosStoppedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11615	return nil, false
11616}
11617
11618// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11619func (cse ChaosStoppedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11620	return nil, false
11621}
11622
11623// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11624func (cse ChaosStoppedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11625	return nil, false
11626}
11627
11628// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11629func (cse ChaosStoppedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11630	return nil, false
11631}
11632
11633// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11634func (cse ChaosStoppedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11635	return nil, false
11636}
11637
11638// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11639func (cse ChaosStoppedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11640	return nil, false
11641}
11642
11643// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11644func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11645	return nil, false
11646}
11647
11648// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11649func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11650	return nil, false
11651}
11652
11653// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11654func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11655	return nil, false
11656}
11657
11658// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11659func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11660	return nil, false
11661}
11662
11663// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11664func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11665	return nil, false
11666}
11667
11668// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11669func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11670	return nil, false
11671}
11672
11673// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11674func (cse ChaosStoppedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11675	return nil, false
11676}
11677
11678// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11679func (cse ChaosStoppedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11680	return nil, false
11681}
11682
11683// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11684func (cse ChaosStoppedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11685	return nil, false
11686}
11687
11688// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11689func (cse ChaosStoppedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11690	return nil, false
11691}
11692
11693// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11694func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11695	return nil, false
11696}
11697
11698// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11699func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11700	return nil, false
11701}
11702
11703// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11704func (cse ChaosStoppedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11705	return nil, false
11706}
11707
11708// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11709func (cse ChaosStoppedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11710	return &cse, true
11711}
11712
11713// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11714func (cse ChaosStoppedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11715	return nil, false
11716}
11717
11718// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11719func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11720	return nil, false
11721}
11722
11723// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11724func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11725	return nil, false
11726}
11727
11728// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11729func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11730	return nil, false
11731}
11732
11733// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11734func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11735	return nil, false
11736}
11737
11738// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11739func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11740	return nil, false
11741}
11742
11743// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11744func (cse ChaosStoppedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11745	return nil, false
11746}
11747
11748// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11749func (cse ChaosStoppedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11750	return nil, false
11751}
11752
11753// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11754func (cse ChaosStoppedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11755	return nil, false
11756}
11757
11758// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11759func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11760	return nil, false
11761}
11762
11763// AsFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11764func (cse ChaosStoppedEvent) AsFabricEvent() (*FabricEvent, bool) {
11765	return nil, false
11766}
11767
11768// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11769func (cse ChaosStoppedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11770	return &cse, true
11771}
11772
11773// ChaosTargetFilter defines all filters for targeted Chaos faults, for example, faulting only certain node
11774// types or faulting only certain applications.
11775// If ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos
11776// faults only the entities that meet the ChaosTargetFilter
11777// specification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is
11778// not possible to specify an intersection
11779// of NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify "fault
11780// this application only when it is on that node type."
11781// Once an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity
11782// cannot be excluded using ChaosTargetFilter. Even if
11783// applicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be
11784// faulted because it happens to be on a node of nodeTypeY that is included
11785// in NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty,
11786// an ArgumentException is thrown.
11787type ChaosTargetFilter struct {
11788	// NodeTypeInclusionList - A list of node types to include in Chaos faults.
11789	// All types of faults (restart node, restart code package, remove replica, restart replica, move primary, and move secondary) are enabled for the nodes of these node types.
11790	// If a node type (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of
11791	// NodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.
11792	// happens to reside on a node of NodeTypeX.
11793	// At most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.
11794	NodeTypeInclusionList *[]string `json:"NodeTypeInclusionList,omitempty"`
11795	// ApplicationInclusionList - A list of application URIs to include in Chaos faults.
11796	// All replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.
11797	// Chaos may restart a code package only if the code package hosts replicas of these applications only.
11798	// If an application does not appear in this list, it can still be faulted in some Chaos iteration if the application ends up on a node of a node type that is included in NodeTypeInclusionList.
11799	// However, if applicationX is tied to nodeTypeY through placement constraints and applicationX is absent from ApplicationInclusionList and nodeTypeY is absent from NodeTypeInclusionList, then applicationX will never be faulted.
11800	// At most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.
11801	ApplicationInclusionList *[]string `json:"ApplicationInclusionList,omitempty"`
11802}
11803
11804// CheckExistsPropertyBatchOperation represents a PropertyBatchOperation that compares the Boolean
11805// existence of a property with the Exists argument.
11806// The PropertyBatchOperation operation fails if the property's existence is not equal to the Exists
11807// argument.
11808// The CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in
11809// the batch.
11810// Note that if one PropertyBatchOperation in a PropertyBatch fails,
11811// the entire batch fails and cannot be committed in a transactional manner.
11812type CheckExistsPropertyBatchOperation struct {
11813	// Exists - Whether or not the property should exist for the operation to pass.
11814	Exists *bool `json:"Exists,omitempty"`
11815	// PropertyName - The name of the Service Fabric property.
11816	PropertyName *string `json:"PropertyName,omitempty"`
11817	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
11818	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
11819}
11820
11821// MarshalJSON is the custom marshaler for CheckExistsPropertyBatchOperation.
11822func (cepbo CheckExistsPropertyBatchOperation) MarshalJSON() ([]byte, error) {
11823	cepbo.Kind = KindCheckExists
11824	objectMap := make(map[string]interface{})
11825	if cepbo.Exists != nil {
11826		objectMap["Exists"] = cepbo.Exists
11827	}
11828	if cepbo.PropertyName != nil {
11829		objectMap["PropertyName"] = cepbo.PropertyName
11830	}
11831	if cepbo.Kind != "" {
11832		objectMap["Kind"] = cepbo.Kind
11833	}
11834	return json.Marshal(objectMap)
11835}
11836
11837// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11838func (cepbo CheckExistsPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
11839	return &cepbo, true
11840}
11841
11842// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11843func (cepbo CheckExistsPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
11844	return nil, false
11845}
11846
11847// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11848func (cepbo CheckExistsPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
11849	return nil, false
11850}
11851
11852// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11853func (cepbo CheckExistsPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
11854	return nil, false
11855}
11856
11857// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11858func (cepbo CheckExistsPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
11859	return nil, false
11860}
11861
11862// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11863func (cepbo CheckExistsPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
11864	return nil, false
11865}
11866
11867// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11868func (cepbo CheckExistsPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
11869	return nil, false
11870}
11871
11872// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11873func (cepbo CheckExistsPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
11874	return &cepbo, true
11875}
11876
11877// CheckSequencePropertyBatchOperation compares the Sequence Number of a property with the SequenceNumber
11878// argument.
11879// A property's sequence number can be thought of as that property's version.
11880// Every time the property is modified, its sequence number is increased.
11881// The sequence number can be found in a property's metadata.
11882// The comparison fails if the sequence numbers are not equal.
11883// CheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the
11884// batch.
11885// Note that if one PropertyBatchOperation in a PropertyBatch fails,
11886// the entire batch fails and cannot be committed in a transactional manner.
11887type CheckSequencePropertyBatchOperation struct {
11888	// SequenceNumber - The expected sequence number.
11889	SequenceNumber *string `json:"SequenceNumber,omitempty"`
11890	// PropertyName - The name of the Service Fabric property.
11891	PropertyName *string `json:"PropertyName,omitempty"`
11892	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
11893	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
11894}
11895
11896// MarshalJSON is the custom marshaler for CheckSequencePropertyBatchOperation.
11897func (cspbo CheckSequencePropertyBatchOperation) MarshalJSON() ([]byte, error) {
11898	cspbo.Kind = KindCheckSequence
11899	objectMap := make(map[string]interface{})
11900	if cspbo.SequenceNumber != nil {
11901		objectMap["SequenceNumber"] = cspbo.SequenceNumber
11902	}
11903	if cspbo.PropertyName != nil {
11904		objectMap["PropertyName"] = cspbo.PropertyName
11905	}
11906	if cspbo.Kind != "" {
11907		objectMap["Kind"] = cspbo.Kind
11908	}
11909	return json.Marshal(objectMap)
11910}
11911
11912// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11913func (cspbo CheckSequencePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
11914	return nil, false
11915}
11916
11917// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11918func (cspbo CheckSequencePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
11919	return &cspbo, true
11920}
11921
11922// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11923func (cspbo CheckSequencePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
11924	return nil, false
11925}
11926
11927// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11928func (cspbo CheckSequencePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
11929	return nil, false
11930}
11931
11932// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11933func (cspbo CheckSequencePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
11934	return nil, false
11935}
11936
11937// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11938func (cspbo CheckSequencePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
11939	return nil, false
11940}
11941
11942// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11943func (cspbo CheckSequencePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
11944	return nil, false
11945}
11946
11947// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11948func (cspbo CheckSequencePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
11949	return &cspbo, true
11950}
11951
11952// CheckValuePropertyBatchOperation represents a PropertyBatchOperation that compares the value of the
11953// property with the expected value.
11954// The CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the
11955// batch.
11956// Note that if one PropertyBatchOperation in a PropertyBatch fails,
11957// the entire batch fails and cannot be committed in a transactional manner.
11958type CheckValuePropertyBatchOperation struct {
11959	// Value - The expected property value.
11960	Value BasicPropertyValue `json:"Value,omitempty"`
11961	// PropertyName - The name of the Service Fabric property.
11962	PropertyName *string `json:"PropertyName,omitempty"`
11963	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
11964	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
11965}
11966
11967// MarshalJSON is the custom marshaler for CheckValuePropertyBatchOperation.
11968func (cvpbo CheckValuePropertyBatchOperation) MarshalJSON() ([]byte, error) {
11969	cvpbo.Kind = KindCheckValue
11970	objectMap := make(map[string]interface{})
11971	objectMap["Value"] = cvpbo.Value
11972	if cvpbo.PropertyName != nil {
11973		objectMap["PropertyName"] = cvpbo.PropertyName
11974	}
11975	if cvpbo.Kind != "" {
11976		objectMap["Kind"] = cvpbo.Kind
11977	}
11978	return json.Marshal(objectMap)
11979}
11980
11981// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11982func (cvpbo CheckValuePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
11983	return nil, false
11984}
11985
11986// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11987func (cvpbo CheckValuePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
11988	return nil, false
11989}
11990
11991// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11992func (cvpbo CheckValuePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
11993	return &cvpbo, true
11994}
11995
11996// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11997func (cvpbo CheckValuePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
11998	return nil, false
11999}
12000
12001// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
12002func (cvpbo CheckValuePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
12003	return nil, false
12004}
12005
12006// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
12007func (cvpbo CheckValuePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
12008	return nil, false
12009}
12010
12011// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
12012func (cvpbo CheckValuePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
12013	return nil, false
12014}
12015
12016// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
12017func (cvpbo CheckValuePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
12018	return &cvpbo, true
12019}
12020
12021// UnmarshalJSON is the custom unmarshaler for CheckValuePropertyBatchOperation struct.
12022func (cvpbo *CheckValuePropertyBatchOperation) UnmarshalJSON(body []byte) error {
12023	var m map[string]*json.RawMessage
12024	err := json.Unmarshal(body, &m)
12025	if err != nil {
12026		return err
12027	}
12028	for k, v := range m {
12029		switch k {
12030		case "Value":
12031			if v != nil {
12032				value, err := unmarshalBasicPropertyValue(*v)
12033				if err != nil {
12034					return err
12035				}
12036				cvpbo.Value = value
12037			}
12038		case "PropertyName":
12039			if v != nil {
12040				var propertyName string
12041				err = json.Unmarshal(*v, &propertyName)
12042				if err != nil {
12043					return err
12044				}
12045				cvpbo.PropertyName = &propertyName
12046			}
12047		case "Kind":
12048			if v != nil {
12049				var kind KindBasicPropertyBatchOperation
12050				err = json.Unmarshal(*v, &kind)
12051				if err != nil {
12052					return err
12053				}
12054				cvpbo.Kind = kind
12055			}
12056		}
12057	}
12058
12059	return nil
12060}
12061
12062// ClusterConfiguration information about the standalone cluster configuration.
12063type ClusterConfiguration struct {
12064	autorest.Response `json:"-"`
12065	// ClusterConfiguration - The contents of the cluster configuration file.
12066	ClusterConfiguration *string `json:"ClusterConfiguration,omitempty"`
12067}
12068
12069// ClusterConfigurationUpgradeDescription describes the parameters for a standalone cluster configuration
12070// upgrade.
12071type ClusterConfigurationUpgradeDescription struct {
12072	// ClusterConfig - The cluster configuration.
12073	ClusterConfig *string `json:"ClusterConfig,omitempty"`
12074	// HealthCheckRetryTimeout - The length of time between attempts to perform a health checks if the application or cluster is not healthy.
12075	HealthCheckRetryTimeout *string `json:"HealthCheckRetryTimeout,omitempty"`
12076	// HealthCheckWaitDurationInSeconds - The length of time to wait after completing an upgrade domain before starting the health checks process.
12077	HealthCheckWaitDurationInSeconds *string `json:"HealthCheckWaitDurationInSeconds,omitempty"`
12078	// HealthCheckStableDurationInSeconds - The length of time that the application or cluster must remain healthy.
12079	HealthCheckStableDurationInSeconds *string `json:"HealthCheckStableDurationInSeconds,omitempty"`
12080	// UpgradeDomainTimeoutInSeconds - The timeout for the upgrade domain.
12081	UpgradeDomainTimeoutInSeconds *string `json:"UpgradeDomainTimeoutInSeconds,omitempty"`
12082	// UpgradeTimeoutInSeconds - The upgrade timeout.
12083	UpgradeTimeoutInSeconds *string `json:"UpgradeTimeoutInSeconds,omitempty"`
12084	// MaxPercentUnhealthyApplications - The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.
12085	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
12086	// MaxPercentUnhealthyNodes - The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.
12087	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
12088	// MaxPercentDeltaUnhealthyNodes - The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
12089	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
12090	// MaxPercentUpgradeDomainDeltaUnhealthyNodes - The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
12091	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
12092	// ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
12093	ApplicationHealthPolicies *ApplicationHealthPolicies `json:"ApplicationHealthPolicies,omitempty"`
12094}
12095
12096// ClusterConfigurationUpgradeStatusInfo information about a standalone cluster configuration upgrade
12097// status.
12098type ClusterConfigurationUpgradeStatusInfo struct {
12099	autorest.Response `json:"-"`
12100	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
12101	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
12102	// ProgressStatus - The cluster manifest version.
12103	ProgressStatus *int32 `json:"ProgressStatus,omitempty"`
12104	// ConfigVersion - The cluster configuration version.
12105	ConfigVersion *string `json:"ConfigVersion,omitempty"`
12106	// Details - The cluster upgrade status details.
12107	Details *string `json:"Details,omitempty"`
12108}
12109
12110// BasicClusterEvent represents the base for all Cluster Events.
12111type BasicClusterEvent interface {
12112	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
12113	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
12114	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
12115	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
12116	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
12117	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
12118	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
12119	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
12120	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
12121	AsClusterEvent() (*ClusterEvent, bool)
12122}
12123
12124// ClusterEvent represents the base for all Cluster Events.
12125type ClusterEvent struct {
12126	// EventInstanceID - The identifier for the FabricEvent instance.
12127	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12128	// TimeStamp - The time event was logged.
12129	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12130	// HasCorrelatedEvents - Shows there is existing related events available.
12131	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12132	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
12133	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12134}
12135
12136func unmarshalBasicClusterEvent(body []byte) (BasicClusterEvent, error) {
12137	var m map[string]interface{}
12138	err := json.Unmarshal(body, &m)
12139	if err != nil {
12140		return nil, err
12141	}
12142
12143	switch m["Kind"] {
12144	case string(KindClusterHealthReportCreated):
12145		var chrce ClusterHealthReportCreatedEvent
12146		err := json.Unmarshal(body, &chrce)
12147		return chrce, err
12148	case string(KindClusterHealthReportExpired):
12149		var chree ClusterHealthReportExpiredEvent
12150		err := json.Unmarshal(body, &chree)
12151		return chree, err
12152	case string(KindClusterUpgradeComplete):
12153		var cuce ClusterUpgradeCompleteEvent
12154		err := json.Unmarshal(body, &cuce)
12155		return cuce, err
12156	case string(KindClusterUpgradeDomainComplete):
12157		var cudce ClusterUpgradeDomainCompleteEvent
12158		err := json.Unmarshal(body, &cudce)
12159		return cudce, err
12160	case string(KindClusterUpgradeRollbackComplete):
12161		var curce ClusterUpgradeRollbackCompleteEvent
12162		err := json.Unmarshal(body, &curce)
12163		return curce, err
12164	case string(KindClusterUpgradeRollbackStart):
12165		var curse ClusterUpgradeRollbackStartEvent
12166		err := json.Unmarshal(body, &curse)
12167		return curse, err
12168	case string(KindClusterUpgradeStart):
12169		var cuse ClusterUpgradeStartEvent
12170		err := json.Unmarshal(body, &cuse)
12171		return cuse, err
12172	case string(KindChaosStopped):
12173		var cse ChaosStoppedEvent
12174		err := json.Unmarshal(body, &cse)
12175		return cse, err
12176	case string(KindChaosStarted):
12177		var cse ChaosStartedEvent
12178		err := json.Unmarshal(body, &cse)
12179		return cse, err
12180	default:
12181		var ce ClusterEvent
12182		err := json.Unmarshal(body, &ce)
12183		return ce, err
12184	}
12185}
12186func unmarshalBasicClusterEventArray(body []byte) ([]BasicClusterEvent, error) {
12187	var rawMessages []*json.RawMessage
12188	err := json.Unmarshal(body, &rawMessages)
12189	if err != nil {
12190		return nil, err
12191	}
12192
12193	ceArray := make([]BasicClusterEvent, len(rawMessages))
12194
12195	for index, rawMessage := range rawMessages {
12196		ce, err := unmarshalBasicClusterEvent(*rawMessage)
12197		if err != nil {
12198			return nil, err
12199		}
12200		ceArray[index] = ce
12201	}
12202	return ceArray, nil
12203}
12204
12205// MarshalJSON is the custom marshaler for ClusterEvent.
12206func (ce ClusterEvent) MarshalJSON() ([]byte, error) {
12207	ce.Kind = KindClusterEvent
12208	objectMap := make(map[string]interface{})
12209	if ce.EventInstanceID != nil {
12210		objectMap["EventInstanceId"] = ce.EventInstanceID
12211	}
12212	if ce.TimeStamp != nil {
12213		objectMap["TimeStamp"] = ce.TimeStamp
12214	}
12215	if ce.HasCorrelatedEvents != nil {
12216		objectMap["HasCorrelatedEvents"] = ce.HasCorrelatedEvents
12217	}
12218	if ce.Kind != "" {
12219		objectMap["Kind"] = ce.Kind
12220	}
12221	return json.Marshal(objectMap)
12222}
12223
12224// AsApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
12225func (ce ClusterEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12226	return nil, false
12227}
12228
12229// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
12230func (ce ClusterEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12231	return nil, false
12232}
12233
12234// AsClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
12235func (ce ClusterEvent) AsClusterEvent() (*ClusterEvent, bool) {
12236	return &ce, true
12237}
12238
12239// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
12240func (ce ClusterEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12241	return &ce, true
12242}
12243
12244// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterEvent.
12245func (ce ClusterEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12246	return nil, false
12247}
12248
12249// AsNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
12250func (ce ClusterEvent) AsNodeEvent() (*NodeEvent, bool) {
12251	return nil, false
12252}
12253
12254// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
12255func (ce ClusterEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12256	return nil, false
12257}
12258
12259// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
12260func (ce ClusterEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12261	return nil, false
12262}
12263
12264// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
12265func (ce ClusterEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12266	return nil, false
12267}
12268
12269// AsPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
12270func (ce ClusterEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12271	return nil, false
12272}
12273
12274// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
12275func (ce ClusterEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12276	return nil, false
12277}
12278
12279// AsReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
12280func (ce ClusterEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12281	return nil, false
12282}
12283
12284// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
12285func (ce ClusterEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12286	return nil, false
12287}
12288
12289// AsServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
12290func (ce ClusterEvent) AsServiceEvent() (*ServiceEvent, bool) {
12291	return nil, false
12292}
12293
12294// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
12295func (ce ClusterEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12296	return nil, false
12297}
12298
12299// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12300func (ce ClusterEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12301	return nil, false
12302}
12303
12304// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12305func (ce ClusterEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12306	return nil, false
12307}
12308
12309// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12310func (ce ClusterEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12311	return nil, false
12312}
12313
12314// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12315func (ce ClusterEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12316	return nil, false
12317}
12318
12319// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12320func (ce ClusterEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12321	return nil, false
12322}
12323
12324// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12325func (ce ClusterEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12326	return nil, false
12327}
12328
12329// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12330func (ce ClusterEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12331	return nil, false
12332}
12333
12334// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12335func (ce ClusterEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12336	return nil, false
12337}
12338
12339// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12340func (ce ClusterEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12341	return nil, false
12342}
12343
12344// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12345func (ce ClusterEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12346	return nil, false
12347}
12348
12349// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12350func (ce ClusterEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12351	return nil, false
12352}
12353
12354// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12355func (ce ClusterEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12356	return nil, false
12357}
12358
12359// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12360func (ce ClusterEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12361	return nil, false
12362}
12363
12364// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterEvent.
12365func (ce ClusterEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12366	return nil, false
12367}
12368
12369// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterEvent.
12370func (ce ClusterEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12371	return nil, false
12372}
12373
12374// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterEvent.
12375func (ce ClusterEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12376	return nil, false
12377}
12378
12379// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterEvent.
12380func (ce ClusterEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12381	return nil, false
12382}
12383
12384// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterEvent.
12385func (ce ClusterEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12386	return nil, false
12387}
12388
12389// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12390func (ce ClusterEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12391	return nil, false
12392}
12393
12394// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12395func (ce ClusterEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12396	return nil, false
12397}
12398
12399// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterEvent.
12400func (ce ClusterEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12401	return nil, false
12402}
12403
12404// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12405func (ce ClusterEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12406	return nil, false
12407}
12408
12409// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12410func (ce ClusterEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12411	return nil, false
12412}
12413
12414// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterEvent.
12415func (ce ClusterEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12416	return nil, false
12417}
12418
12419// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterEvent.
12420func (ce ClusterEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12421	return nil, false
12422}
12423
12424// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterEvent.
12425func (ce ClusterEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12426	return nil, false
12427}
12428
12429// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterEvent.
12430func (ce ClusterEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12431	return nil, false
12432}
12433
12434// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterEvent.
12435func (ce ClusterEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12436	return nil, false
12437}
12438
12439// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12440func (ce ClusterEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12441	return nil, false
12442}
12443
12444// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12445func (ce ClusterEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12446	return nil, false
12447}
12448
12449// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12450func (ce ClusterEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12451	return nil, false
12452}
12453
12454// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
12455func (ce ClusterEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
12456	return nil, false
12457}
12458
12459// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12460func (ce ClusterEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
12461	return nil, false
12462}
12463
12464// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12465func (ce ClusterEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
12466	return nil, false
12467}
12468
12469// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12470func (ce ClusterEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
12471	return nil, false
12472}
12473
12474// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12475func (ce ClusterEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
12476	return nil, false
12477}
12478
12479// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12480func (ce ClusterEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
12481	return nil, false
12482}
12483
12484// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12485func (ce ClusterEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
12486	return nil, false
12487}
12488
12489// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12490func (ce ClusterEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
12491	return nil, false
12492}
12493
12494// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12495func (ce ClusterEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
12496	return nil, false
12497}
12498
12499// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12500func (ce ClusterEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
12501	return nil, false
12502}
12503
12504// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12505func (ce ClusterEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
12506	return nil, false
12507}
12508
12509// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12510func (ce ClusterEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
12511	return nil, false
12512}
12513
12514// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12515func (ce ClusterEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
12516	return nil, false
12517}
12518
12519// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12520func (ce ClusterEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
12521	return nil, false
12522}
12523
12524// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12525func (ce ClusterEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12526	return nil, false
12527}
12528
12529// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12530func (ce ClusterEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12531	return nil, false
12532}
12533
12534// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12535func (ce ClusterEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12536	return nil, false
12537}
12538
12539// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12540func (ce ClusterEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12541	return nil, false
12542}
12543
12544// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterEvent.
12545func (ce ClusterEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
12546	return nil, false
12547}
12548
12549// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterEvent.
12550func (ce ClusterEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
12551	return nil, false
12552}
12553
12554// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12555func (ce ClusterEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
12556	return nil, false
12557}
12558
12559// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12560func (ce ClusterEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
12561	return nil, false
12562}
12563
12564// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12565func (ce ClusterEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
12566	return nil, false
12567}
12568
12569// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12570func (ce ClusterEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
12571	return nil, false
12572}
12573
12574// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12575func (ce ClusterEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
12576	return nil, false
12577}
12578
12579// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12580func (ce ClusterEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
12581	return nil, false
12582}
12583
12584// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12585func (ce ClusterEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
12586	return nil, false
12587}
12588
12589// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12590func (ce ClusterEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
12591	return nil, false
12592}
12593
12594// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12595func (ce ClusterEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
12596	return nil, false
12597}
12598
12599// AsFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
12600func (ce ClusterEvent) AsFabricEvent() (*FabricEvent, bool) {
12601	return nil, false
12602}
12603
12604// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
12605func (ce ClusterEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
12606	return &ce, true
12607}
12608
12609// ClusterHealth represents the health of the cluster.
12610// Contains the cluster aggregated health state, the cluster application and node health states as well as
12611// the health events and the unhealthy evaluations.
12612type ClusterHealth struct {
12613	autorest.Response `json:"-"`
12614	// NodeHealthStates - Cluster node health states as found in the health store.
12615	NodeHealthStates *[]NodeHealthState `json:"NodeHealthStates,omitempty"`
12616	// ApplicationHealthStates - Cluster application health states as found in the health store.
12617	ApplicationHealthStates *[]ApplicationHealthState `json:"ApplicationHealthStates,omitempty"`
12618	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
12619	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
12620	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
12621	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
12622	// HealthEvents - The list of health events reported on the entity.
12623	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
12624	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
12625	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
12626	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
12627	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
12628}
12629
12630// ClusterHealthChunk represents the health chunk of the cluster.
12631// Contains the cluster aggregated health state, and the cluster entities that respect the input filter.
12632type ClusterHealthChunk struct {
12633	autorest.Response `json:"-"`
12634	// HealthState - The HealthState representing the aggregated health state of the cluster computed by Health Manager.
12635	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
12636	// The aggregation is done by applying the desired cluster health policy and the application health policies. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
12637	HealthState HealthState `json:"HealthState,omitempty"`
12638	// NodeHealthStateChunks - The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description.
12639	NodeHealthStateChunks *NodeHealthStateChunkList `json:"NodeHealthStateChunks,omitempty"`
12640	// ApplicationHealthStateChunks - The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description.
12641	ApplicationHealthStateChunks *ApplicationHealthStateChunkList `json:"ApplicationHealthStateChunks,omitempty"`
12642}
12643
12644// ClusterHealthChunkQueryDescription the cluster health chunk query description, which can specify the
12645// health policies to evaluate cluster health and very expressive filters to select which cluster entities
12646// to include in response.
12647type ClusterHealthChunkQueryDescription struct {
12648	// NodeFilters - Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.
12649	// If no filters are specified, no nodes are returned. All the nodes are used to evaluate the cluster's aggregated health state, regardless of the input filters.
12650	// The cluster health chunk query may specify multiple node filters.
12651	// For example, it can specify a filter to return all nodes with health state Error and another filter to always include a node identified by its NodeName.
12652	NodeFilters *[]NodeHealthStateFilter `json:"NodeFilters,omitempty"`
12653	// ApplicationFilters - Defines a list of filters that specify which applications to be included in the returned cluster health chunk.
12654	// If no filters are specified, no applications are returned. All the applications are used to evaluate the cluster's aggregated health state, regardless of the input filters.
12655	// The cluster health chunk query may specify multiple application filters.
12656	// For example, it can specify a filter to return all applications with health state Error and another filter to always include applications of a specified application type.
12657	ApplicationFilters *[]ApplicationHealthStateFilter `json:"ApplicationFilters,omitempty"`
12658	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
12659	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
12660	// ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
12661	ApplicationHealthPolicies *ApplicationHealthPolicies `json:"ApplicationHealthPolicies,omitempty"`
12662}
12663
12664// ClusterHealthPolicies health policies to evaluate cluster health.
12665type ClusterHealthPolicies struct {
12666	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
12667	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
12668	// If an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).
12669	// The map is empty by default.
12670	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
12671	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
12672	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
12673}
12674
12675// ClusterHealthPolicy defines a health policy used to evaluate the health of the cluster or of a cluster
12676// node.
12677type ClusterHealthPolicy struct {
12678	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors.
12679	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
12680	// MaxPercentUnhealthyNodes - The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.
12681	// The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.
12682	// If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.
12683	// The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.
12684	// The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
12685	// In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.
12686	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
12687	// MaxPercentUnhealthyApplications - The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.
12688	// The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.
12689	// If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.
12690	// This is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.
12691	// The computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.
12692	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
12693	// ApplicationTypeHealthPolicyMap - Defines a map with max percentage unhealthy applications for specific application types.
12694	// Each entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.
12695	// The application type health policy map can be used during cluster health evaluation to describe special application types.
12696	// The application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.
12697	// The applications of application types specified in the map are not counted against the global pool of applications.
12698	// For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type
12699	// and assign it a value of 0% (that is, do not tolerate any failures).
12700	// All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.
12701	// The application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation.
12702	ApplicationTypeHealthPolicyMap *[]ApplicationTypeHealthPolicyMapItem `json:"ApplicationTypeHealthPolicyMap,omitempty"`
12703}
12704
12705// ClusterHealthReportCreatedEvent cluster Health Report Created event.
12706type ClusterHealthReportCreatedEvent struct {
12707	// SourceID - Id of report source.
12708	SourceID *string `json:"SourceId,omitempty"`
12709	// Property - Describes the property.
12710	Property *string `json:"Property,omitempty"`
12711	// HealthState - Describes the property health state.
12712	HealthState *string `json:"HealthState,omitempty"`
12713	// TimeToLiveMs - Time to live in milli-seconds.
12714	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
12715	// SequenceNumber - Sequence number of report.
12716	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
12717	// Description - Description of report.
12718	Description *string `json:"Description,omitempty"`
12719	// RemoveWhenExpired - Indicates the removal when it expires.
12720	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
12721	// SourceUtcTimestamp - Source time.
12722	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
12723	// EventInstanceID - The identifier for the FabricEvent instance.
12724	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12725	// TimeStamp - The time event was logged.
12726	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12727	// HasCorrelatedEvents - Shows there is existing related events available.
12728	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12729	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
12730	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12731}
12732
12733// MarshalJSON is the custom marshaler for ClusterHealthReportCreatedEvent.
12734func (chrce ClusterHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
12735	chrce.Kind = KindClusterHealthReportCreated
12736	objectMap := make(map[string]interface{})
12737	if chrce.SourceID != nil {
12738		objectMap["SourceId"] = chrce.SourceID
12739	}
12740	if chrce.Property != nil {
12741		objectMap["Property"] = chrce.Property
12742	}
12743	if chrce.HealthState != nil {
12744		objectMap["HealthState"] = chrce.HealthState
12745	}
12746	if chrce.TimeToLiveMs != nil {
12747		objectMap["TimeToLiveMs"] = chrce.TimeToLiveMs
12748	}
12749	if chrce.SequenceNumber != nil {
12750		objectMap["SequenceNumber"] = chrce.SequenceNumber
12751	}
12752	if chrce.Description != nil {
12753		objectMap["Description"] = chrce.Description
12754	}
12755	if chrce.RemoveWhenExpired != nil {
12756		objectMap["RemoveWhenExpired"] = chrce.RemoveWhenExpired
12757	}
12758	if chrce.SourceUtcTimestamp != nil {
12759		objectMap["SourceUtcTimestamp"] = chrce.SourceUtcTimestamp
12760	}
12761	if chrce.EventInstanceID != nil {
12762		objectMap["EventInstanceId"] = chrce.EventInstanceID
12763	}
12764	if chrce.TimeStamp != nil {
12765		objectMap["TimeStamp"] = chrce.TimeStamp
12766	}
12767	if chrce.HasCorrelatedEvents != nil {
12768		objectMap["HasCorrelatedEvents"] = chrce.HasCorrelatedEvents
12769	}
12770	if chrce.Kind != "" {
12771		objectMap["Kind"] = chrce.Kind
12772	}
12773	return json.Marshal(objectMap)
12774}
12775
12776// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12777func (chrce ClusterHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12778	return nil, false
12779}
12780
12781// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12782func (chrce ClusterHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12783	return nil, false
12784}
12785
12786// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12787func (chrce ClusterHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
12788	return nil, false
12789}
12790
12791// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12792func (chrce ClusterHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12793	return &chrce, true
12794}
12795
12796// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12797func (chrce ClusterHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12798	return nil, false
12799}
12800
12801// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12802func (chrce ClusterHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
12803	return nil, false
12804}
12805
12806// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12807func (chrce ClusterHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12808	return nil, false
12809}
12810
12811// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12812func (chrce ClusterHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12813	return nil, false
12814}
12815
12816// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12817func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12818	return nil, false
12819}
12820
12821// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12822func (chrce ClusterHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12823	return nil, false
12824}
12825
12826// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12827func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12828	return nil, false
12829}
12830
12831// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12832func (chrce ClusterHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12833	return nil, false
12834}
12835
12836// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12837func (chrce ClusterHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12838	return nil, false
12839}
12840
12841// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12842func (chrce ClusterHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
12843	return nil, false
12844}
12845
12846// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12847func (chrce ClusterHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12848	return nil, false
12849}
12850
12851// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12852func (chrce ClusterHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12853	return nil, false
12854}
12855
12856// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12857func (chrce ClusterHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12858	return nil, false
12859}
12860
12861// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12862func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12863	return nil, false
12864}
12865
12866// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12867func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12868	return nil, false
12869}
12870
12871// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12872func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12873	return nil, false
12874}
12875
12876// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12877func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12878	return nil, false
12879}
12880
12881// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12882func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12883	return nil, false
12884}
12885
12886// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12887func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12888	return nil, false
12889}
12890
12891// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12892func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12893	return nil, false
12894}
12895
12896// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12897func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12898	return nil, false
12899}
12900
12901// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12902func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12903	return nil, false
12904}
12905
12906// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12907func (chrce ClusterHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12908	return nil, false
12909}
12910
12911// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12912func (chrce ClusterHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12913	return nil, false
12914}
12915
12916// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12917func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12918	return nil, false
12919}
12920
12921// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12922func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12923	return nil, false
12924}
12925
12926// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12927func (chrce ClusterHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12928	return nil, false
12929}
12930
12931// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12932func (chrce ClusterHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12933	return nil, false
12934}
12935
12936// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12937func (chrce ClusterHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12938	return nil, false
12939}
12940
12941// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12942func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12943	return nil, false
12944}
12945
12946// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12947func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12948	return nil, false
12949}
12950
12951// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12952func (chrce ClusterHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12953	return nil, false
12954}
12955
12956// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12957func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12958	return nil, false
12959}
12960
12961// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12962func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12963	return nil, false
12964}
12965
12966// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12967func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12968	return nil, false
12969}
12970
12971// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12972func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12973	return nil, false
12974}
12975
12976// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12977func (chrce ClusterHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12978	return nil, false
12979}
12980
12981// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12982func (chrce ClusterHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12983	return nil, false
12984}
12985
12986// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12987func (chrce ClusterHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12988	return nil, false
12989}
12990
12991// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12992func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12993	return nil, false
12994}
12995
12996// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12997func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12998	return nil, false
12999}
13000
13001// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13002func (chrce ClusterHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13003	return nil, false
13004}
13005
13006// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13007func (chrce ClusterHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13008	return nil, false
13009}
13010
13011// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13012func (chrce ClusterHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13013	return nil, false
13014}
13015
13016// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13017func (chrce ClusterHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13018	return nil, false
13019}
13020
13021// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13022func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13023	return nil, false
13024}
13025
13026// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13027func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13028	return nil, false
13029}
13030
13031// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13032func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13033	return nil, false
13034}
13035
13036// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13037func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13038	return nil, false
13039}
13040
13041// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13042func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13043	return nil, false
13044}
13045
13046// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13047func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13048	return nil, false
13049}
13050
13051// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13052func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13053	return nil, false
13054}
13055
13056// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13057func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13058	return nil, false
13059}
13060
13061// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13062func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13063	return &chrce, true
13064}
13065
13066// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13067func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13068	return nil, false
13069}
13070
13071// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13072func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13073	return nil, false
13074}
13075
13076// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13077func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13078	return nil, false
13079}
13080
13081// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13082func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13083	return nil, false
13084}
13085
13086// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13087func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13088	return nil, false
13089}
13090
13091// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13092func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13093	return nil, false
13094}
13095
13096// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13097func (chrce ClusterHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13098	return nil, false
13099}
13100
13101// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13102func (chrce ClusterHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13103	return nil, false
13104}
13105
13106// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13107func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13108	return nil, false
13109}
13110
13111// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13112func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13113	return nil, false
13114}
13115
13116// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13117func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13118	return nil, false
13119}
13120
13121// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13122func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13123	return nil, false
13124}
13125
13126// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13127func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13128	return nil, false
13129}
13130
13131// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13132func (chrce ClusterHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13133	return nil, false
13134}
13135
13136// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13137func (chrce ClusterHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13138	return nil, false
13139}
13140
13141// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13142func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13143	return nil, false
13144}
13145
13146// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13147func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13148	return nil, false
13149}
13150
13151// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13152func (chrce ClusterHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
13153	return nil, false
13154}
13155
13156// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13157func (chrce ClusterHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13158	return &chrce, true
13159}
13160
13161// ClusterHealthReportExpiredEvent cluster Health Report Expired event.
13162type ClusterHealthReportExpiredEvent struct {
13163	// SourceID - Id of report source.
13164	SourceID *string `json:"SourceId,omitempty"`
13165	// Property - Describes the property.
13166	Property *string `json:"Property,omitempty"`
13167	// HealthState - Describes the property health state.
13168	HealthState *string `json:"HealthState,omitempty"`
13169	// TimeToLiveMs - Time to live in milli-seconds.
13170	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
13171	// SequenceNumber - Sequence number of report.
13172	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
13173	// Description - Description of report.
13174	Description *string `json:"Description,omitempty"`
13175	// RemoveWhenExpired - Indicates the removal when it expires.
13176	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
13177	// SourceUtcTimestamp - Source time.
13178	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
13179	// EventInstanceID - The identifier for the FabricEvent instance.
13180	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13181	// TimeStamp - The time event was logged.
13182	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13183	// HasCorrelatedEvents - Shows there is existing related events available.
13184	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13185	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
13186	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13187}
13188
13189// MarshalJSON is the custom marshaler for ClusterHealthReportExpiredEvent.
13190func (chree ClusterHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
13191	chree.Kind = KindClusterHealthReportExpired
13192	objectMap := make(map[string]interface{})
13193	if chree.SourceID != nil {
13194		objectMap["SourceId"] = chree.SourceID
13195	}
13196	if chree.Property != nil {
13197		objectMap["Property"] = chree.Property
13198	}
13199	if chree.HealthState != nil {
13200		objectMap["HealthState"] = chree.HealthState
13201	}
13202	if chree.TimeToLiveMs != nil {
13203		objectMap["TimeToLiveMs"] = chree.TimeToLiveMs
13204	}
13205	if chree.SequenceNumber != nil {
13206		objectMap["SequenceNumber"] = chree.SequenceNumber
13207	}
13208	if chree.Description != nil {
13209		objectMap["Description"] = chree.Description
13210	}
13211	if chree.RemoveWhenExpired != nil {
13212		objectMap["RemoveWhenExpired"] = chree.RemoveWhenExpired
13213	}
13214	if chree.SourceUtcTimestamp != nil {
13215		objectMap["SourceUtcTimestamp"] = chree.SourceUtcTimestamp
13216	}
13217	if chree.EventInstanceID != nil {
13218		objectMap["EventInstanceId"] = chree.EventInstanceID
13219	}
13220	if chree.TimeStamp != nil {
13221		objectMap["TimeStamp"] = chree.TimeStamp
13222	}
13223	if chree.HasCorrelatedEvents != nil {
13224		objectMap["HasCorrelatedEvents"] = chree.HasCorrelatedEvents
13225	}
13226	if chree.Kind != "" {
13227		objectMap["Kind"] = chree.Kind
13228	}
13229	return json.Marshal(objectMap)
13230}
13231
13232// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13233func (chree ClusterHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13234	return nil, false
13235}
13236
13237// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13238func (chree ClusterHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13239	return nil, false
13240}
13241
13242// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13243func (chree ClusterHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
13244	return nil, false
13245}
13246
13247// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13248func (chree ClusterHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13249	return &chree, true
13250}
13251
13252// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13253func (chree ClusterHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13254	return nil, false
13255}
13256
13257// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13258func (chree ClusterHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
13259	return nil, false
13260}
13261
13262// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13263func (chree ClusterHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13264	return nil, false
13265}
13266
13267// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13268func (chree ClusterHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13269	return nil, false
13270}
13271
13272// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13273func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13274	return nil, false
13275}
13276
13277// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13278func (chree ClusterHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13279	return nil, false
13280}
13281
13282// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13283func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13284	return nil, false
13285}
13286
13287// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13288func (chree ClusterHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13289	return nil, false
13290}
13291
13292// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13293func (chree ClusterHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13294	return nil, false
13295}
13296
13297// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13298func (chree ClusterHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
13299	return nil, false
13300}
13301
13302// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13303func (chree ClusterHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13304	return nil, false
13305}
13306
13307// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13308func (chree ClusterHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13309	return nil, false
13310}
13311
13312// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13313func (chree ClusterHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13314	return nil, false
13315}
13316
13317// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13318func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13319	return nil, false
13320}
13321
13322// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13323func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13324	return nil, false
13325}
13326
13327// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13328func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13329	return nil, false
13330}
13331
13332// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13333func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13334	return nil, false
13335}
13336
13337// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13338func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13339	return nil, false
13340}
13341
13342// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13343func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13344	return nil, false
13345}
13346
13347// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13348func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13349	return nil, false
13350}
13351
13352// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13353func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13354	return nil, false
13355}
13356
13357// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13358func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13359	return nil, false
13360}
13361
13362// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13363func (chree ClusterHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13364	return nil, false
13365}
13366
13367// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13368func (chree ClusterHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13369	return nil, false
13370}
13371
13372// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13373func (chree ClusterHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13374	return nil, false
13375}
13376
13377// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13378func (chree ClusterHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13379	return nil, false
13380}
13381
13382// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13383func (chree ClusterHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13384	return nil, false
13385}
13386
13387// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13388func (chree ClusterHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13389	return nil, false
13390}
13391
13392// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13393func (chree ClusterHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13394	return nil, false
13395}
13396
13397// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13398func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13399	return nil, false
13400}
13401
13402// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13403func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13404	return nil, false
13405}
13406
13407// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13408func (chree ClusterHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13409	return nil, false
13410}
13411
13412// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13413func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13414	return nil, false
13415}
13416
13417// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13418func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13419	return nil, false
13420}
13421
13422// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13423func (chree ClusterHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13424	return nil, false
13425}
13426
13427// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13428func (chree ClusterHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13429	return nil, false
13430}
13431
13432// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13433func (chree ClusterHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13434	return nil, false
13435}
13436
13437// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13438func (chree ClusterHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13439	return nil, false
13440}
13441
13442// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13443func (chree ClusterHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13444	return nil, false
13445}
13446
13447// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13448func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13449	return nil, false
13450}
13451
13452// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13453func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13454	return nil, false
13455}
13456
13457// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13458func (chree ClusterHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13459	return nil, false
13460}
13461
13462// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13463func (chree ClusterHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13464	return nil, false
13465}
13466
13467// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13468func (chree ClusterHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13469	return nil, false
13470}
13471
13472// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13473func (chree ClusterHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13474	return nil, false
13475}
13476
13477// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13478func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13479	return nil, false
13480}
13481
13482// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13483func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13484	return nil, false
13485}
13486
13487// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13488func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13489	return nil, false
13490}
13491
13492// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13493func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13494	return nil, false
13495}
13496
13497// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13498func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13499	return nil, false
13500}
13501
13502// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13503func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13504	return nil, false
13505}
13506
13507// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13508func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13509	return nil, false
13510}
13511
13512// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13513func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13514	return nil, false
13515}
13516
13517// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13518func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13519	return nil, false
13520}
13521
13522// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13523func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13524	return &chree, true
13525}
13526
13527// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13528func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13529	return nil, false
13530}
13531
13532// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13533func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13534	return nil, false
13535}
13536
13537// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13538func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13539	return nil, false
13540}
13541
13542// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13543func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13544	return nil, false
13545}
13546
13547// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13548func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13549	return nil, false
13550}
13551
13552// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13553func (chree ClusterHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13554	return nil, false
13555}
13556
13557// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13558func (chree ClusterHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13559	return nil, false
13560}
13561
13562// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13563func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13564	return nil, false
13565}
13566
13567// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13568func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13569	return nil, false
13570}
13571
13572// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13573func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13574	return nil, false
13575}
13576
13577// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13578func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13579	return nil, false
13580}
13581
13582// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13583func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13584	return nil, false
13585}
13586
13587// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13588func (chree ClusterHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13589	return nil, false
13590}
13591
13592// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13593func (chree ClusterHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13594	return nil, false
13595}
13596
13597// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13598func (chree ClusterHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13599	return nil, false
13600}
13601
13602// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13603func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13604	return nil, false
13605}
13606
13607// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13608func (chree ClusterHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
13609	return nil, false
13610}
13611
13612// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13613func (chree ClusterHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13614	return &chree, true
13615}
13616
13617// ClusterManifest information about the cluster manifest.
13618type ClusterManifest struct {
13619	autorest.Response `json:"-"`
13620	// Manifest - The contents of the cluster manifest file.
13621	Manifest *string `json:"Manifest,omitempty"`
13622}
13623
13624// ClusterUpgradeCompleteEvent cluster Upgrade Complete event.
13625type ClusterUpgradeCompleteEvent struct {
13626	// TargetClusterVersion - Target Cluster version.
13627	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
13628	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
13629	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
13630	// EventInstanceID - The identifier for the FabricEvent instance.
13631	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13632	// TimeStamp - The time event was logged.
13633	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13634	// HasCorrelatedEvents - Shows there is existing related events available.
13635	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13636	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
13637	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13638}
13639
13640// MarshalJSON is the custom marshaler for ClusterUpgradeCompleteEvent.
13641func (cuce ClusterUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
13642	cuce.Kind = KindClusterUpgradeComplete
13643	objectMap := make(map[string]interface{})
13644	if cuce.TargetClusterVersion != nil {
13645		objectMap["TargetClusterVersion"] = cuce.TargetClusterVersion
13646	}
13647	if cuce.OverallUpgradeElapsedTimeInMs != nil {
13648		objectMap["OverallUpgradeElapsedTimeInMs"] = cuce.OverallUpgradeElapsedTimeInMs
13649	}
13650	if cuce.EventInstanceID != nil {
13651		objectMap["EventInstanceId"] = cuce.EventInstanceID
13652	}
13653	if cuce.TimeStamp != nil {
13654		objectMap["TimeStamp"] = cuce.TimeStamp
13655	}
13656	if cuce.HasCorrelatedEvents != nil {
13657		objectMap["HasCorrelatedEvents"] = cuce.HasCorrelatedEvents
13658	}
13659	if cuce.Kind != "" {
13660		objectMap["Kind"] = cuce.Kind
13661	}
13662	return json.Marshal(objectMap)
13663}
13664
13665// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13666func (cuce ClusterUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13667	return nil, false
13668}
13669
13670// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13671func (cuce ClusterUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13672	return nil, false
13673}
13674
13675// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13676func (cuce ClusterUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
13677	return nil, false
13678}
13679
13680// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13681func (cuce ClusterUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13682	return &cuce, true
13683}
13684
13685// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13686func (cuce ClusterUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13687	return nil, false
13688}
13689
13690// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13691func (cuce ClusterUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
13692	return nil, false
13693}
13694
13695// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13696func (cuce ClusterUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13697	return nil, false
13698}
13699
13700// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13701func (cuce ClusterUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13702	return nil, false
13703}
13704
13705// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13706func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13707	return nil, false
13708}
13709
13710// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13711func (cuce ClusterUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13712	return nil, false
13713}
13714
13715// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13716func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13717	return nil, false
13718}
13719
13720// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13721func (cuce ClusterUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13722	return nil, false
13723}
13724
13725// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13726func (cuce ClusterUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13727	return nil, false
13728}
13729
13730// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13731func (cuce ClusterUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
13732	return nil, false
13733}
13734
13735// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13736func (cuce ClusterUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13737	return nil, false
13738}
13739
13740// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13741func (cuce ClusterUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13742	return nil, false
13743}
13744
13745// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13746func (cuce ClusterUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13747	return nil, false
13748}
13749
13750// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13751func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13752	return nil, false
13753}
13754
13755// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13756func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13757	return nil, false
13758}
13759
13760// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13761func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13762	return nil, false
13763}
13764
13765// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13766func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13767	return nil, false
13768}
13769
13770// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13771func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13772	return nil, false
13773}
13774
13775// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13776func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13777	return nil, false
13778}
13779
13780// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13781func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13782	return nil, false
13783}
13784
13785// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13786func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13787	return nil, false
13788}
13789
13790// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13791func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13792	return nil, false
13793}
13794
13795// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13796func (cuce ClusterUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13797	return nil, false
13798}
13799
13800// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13801func (cuce ClusterUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13802	return nil, false
13803}
13804
13805// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13806func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13807	return nil, false
13808}
13809
13810// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13811func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13812	return nil, false
13813}
13814
13815// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13816func (cuce ClusterUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13817	return nil, false
13818}
13819
13820// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13821func (cuce ClusterUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13822	return nil, false
13823}
13824
13825// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13826func (cuce ClusterUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13827	return nil, false
13828}
13829
13830// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13831func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13832	return nil, false
13833}
13834
13835// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13836func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13837	return nil, false
13838}
13839
13840// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13841func (cuce ClusterUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13842	return nil, false
13843}
13844
13845// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13846func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13847	return nil, false
13848}
13849
13850// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13851func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13852	return nil, false
13853}
13854
13855// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13856func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13857	return nil, false
13858}
13859
13860// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13861func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13862	return nil, false
13863}
13864
13865// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13866func (cuce ClusterUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13867	return nil, false
13868}
13869
13870// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13871func (cuce ClusterUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13872	return nil, false
13873}
13874
13875// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13876func (cuce ClusterUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13877	return nil, false
13878}
13879
13880// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13881func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13882	return nil, false
13883}
13884
13885// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13886func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13887	return nil, false
13888}
13889
13890// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13891func (cuce ClusterUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13892	return nil, false
13893}
13894
13895// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13896func (cuce ClusterUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13897	return nil, false
13898}
13899
13900// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13901func (cuce ClusterUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13902	return nil, false
13903}
13904
13905// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13906func (cuce ClusterUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13907	return nil, false
13908}
13909
13910// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13911func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13912	return nil, false
13913}
13914
13915// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13916func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13917	return nil, false
13918}
13919
13920// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13921func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13922	return nil, false
13923}
13924
13925// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13926func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13927	return nil, false
13928}
13929
13930// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13931func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13932	return nil, false
13933}
13934
13935// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13936func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13937	return nil, false
13938}
13939
13940// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13941func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13942	return nil, false
13943}
13944
13945// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13946func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13947	return nil, false
13948}
13949
13950// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13951func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13952	return nil, false
13953}
13954
13955// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13956func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13957	return nil, false
13958}
13959
13960// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13961func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13962	return &cuce, true
13963}
13964
13965// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13966func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13967	return nil, false
13968}
13969
13970// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13971func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13972	return nil, false
13973}
13974
13975// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13976func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13977	return nil, false
13978}
13979
13980// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13981func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13982	return nil, false
13983}
13984
13985// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13986func (cuce ClusterUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13987	return nil, false
13988}
13989
13990// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13991func (cuce ClusterUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13992	return nil, false
13993}
13994
13995// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13996func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13997	return nil, false
13998}
13999
14000// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14001func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14002	return nil, false
14003}
14004
14005// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14006func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14007	return nil, false
14008}
14009
14010// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14011func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14012	return nil, false
14013}
14014
14015// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14016func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14017	return nil, false
14018}
14019
14020// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14021func (cuce ClusterUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14022	return nil, false
14023}
14024
14025// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14026func (cuce ClusterUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14027	return nil, false
14028}
14029
14030// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14031func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14032	return nil, false
14033}
14034
14035// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14036func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14037	return nil, false
14038}
14039
14040// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14041func (cuce ClusterUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
14042	return nil, false
14043}
14044
14045// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
14046func (cuce ClusterUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14047	return &cuce, true
14048}
14049
14050// ClusterUpgradeDescriptionObject represents a ServiceFabric cluster upgrade
14051type ClusterUpgradeDescriptionObject struct {
14052	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
14053	ConfigVersion *string `json:"ConfigVersion,omitempty"`
14054	// CodeVersion - The ServiceFabric code version of the cluster.
14055	CodeVersion *string `json:"CodeVersion,omitempty"`
14056	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
14057	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
14058	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
14059	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
14060	// UpgradeReplicaSetCheckTimeoutInSeconds - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
14061	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
14062	// ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
14063	ForceRestart *bool `json:"ForceRestart,omitempty"`
14064	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
14065	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
14066	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
14067	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
14068	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
14069	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
14070	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
14071	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
14072	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
14073	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
14074	// If an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).
14075	// The map is empty by default.
14076	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
14077}
14078
14079// ClusterUpgradeDomainCompleteEvent cluster Upgrade Domain Complete event.
14080type ClusterUpgradeDomainCompleteEvent struct {
14081	// TargetClusterVersion - Target Cluster version.
14082	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
14083	// UpgradeState - State of upgrade.
14084	UpgradeState *string `json:"UpgradeState,omitempty"`
14085	// UpgradeDomains - Upgrade domains.
14086	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
14087	// UpgradeDomainElapsedTimeInMs - Duration of domain upgrade in milli-seconds.
14088	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
14089	// EventInstanceID - The identifier for the FabricEvent instance.
14090	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
14091	// TimeStamp - The time event was logged.
14092	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
14093	// HasCorrelatedEvents - Shows there is existing related events available.
14094	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
14095	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
14096	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14097}
14098
14099// MarshalJSON is the custom marshaler for ClusterUpgradeDomainCompleteEvent.
14100func (cudce ClusterUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
14101	cudce.Kind = KindClusterUpgradeDomainComplete
14102	objectMap := make(map[string]interface{})
14103	if cudce.TargetClusterVersion != nil {
14104		objectMap["TargetClusterVersion"] = cudce.TargetClusterVersion
14105	}
14106	if cudce.UpgradeState != nil {
14107		objectMap["UpgradeState"] = cudce.UpgradeState
14108	}
14109	if cudce.UpgradeDomains != nil {
14110		objectMap["UpgradeDomains"] = cudce.UpgradeDomains
14111	}
14112	if cudce.UpgradeDomainElapsedTimeInMs != nil {
14113		objectMap["UpgradeDomainElapsedTimeInMs"] = cudce.UpgradeDomainElapsedTimeInMs
14114	}
14115	if cudce.EventInstanceID != nil {
14116		objectMap["EventInstanceId"] = cudce.EventInstanceID
14117	}
14118	if cudce.TimeStamp != nil {
14119		objectMap["TimeStamp"] = cudce.TimeStamp
14120	}
14121	if cudce.HasCorrelatedEvents != nil {
14122		objectMap["HasCorrelatedEvents"] = cudce.HasCorrelatedEvents
14123	}
14124	if cudce.Kind != "" {
14125		objectMap["Kind"] = cudce.Kind
14126	}
14127	return json.Marshal(objectMap)
14128}
14129
14130// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14131func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14132	return nil, false
14133}
14134
14135// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14136func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14137	return nil, false
14138}
14139
14140// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14141func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
14142	return nil, false
14143}
14144
14145// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14146func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14147	return &cudce, true
14148}
14149
14150// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14151func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14152	return nil, false
14153}
14154
14155// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14156func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
14157	return nil, false
14158}
14159
14160// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14161func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14162	return nil, false
14163}
14164
14165// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14166func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14167	return nil, false
14168}
14169
14170// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14171func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14172	return nil, false
14173}
14174
14175// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14176func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14177	return nil, false
14178}
14179
14180// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14181func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14182	return nil, false
14183}
14184
14185// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14186func (cudce ClusterUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14187	return nil, false
14188}
14189
14190// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14191func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14192	return nil, false
14193}
14194
14195// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14196func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
14197	return nil, false
14198}
14199
14200// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14201func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14202	return nil, false
14203}
14204
14205// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14206func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14207	return nil, false
14208}
14209
14210// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14211func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14212	return nil, false
14213}
14214
14215// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14216func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14217	return nil, false
14218}
14219
14220// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14221func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14222	return nil, false
14223}
14224
14225// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14226func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14227	return nil, false
14228}
14229
14230// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14231func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14232	return nil, false
14233}
14234
14235// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14236func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14237	return nil, false
14238}
14239
14240// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14241func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14242	return nil, false
14243}
14244
14245// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14246func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14247	return nil, false
14248}
14249
14250// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14251func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14252	return nil, false
14253}
14254
14255// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14256func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14257	return nil, false
14258}
14259
14260// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14261func (cudce ClusterUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14262	return nil, false
14263}
14264
14265// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14266func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14267	return nil, false
14268}
14269
14270// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14271func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14272	return nil, false
14273}
14274
14275// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14276func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14277	return nil, false
14278}
14279
14280// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14281func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14282	return nil, false
14283}
14284
14285// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14286func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14287	return nil, false
14288}
14289
14290// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14291func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14292	return nil, false
14293}
14294
14295// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14296func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14297	return nil, false
14298}
14299
14300// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14301func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14302	return nil, false
14303}
14304
14305// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14306func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14307	return nil, false
14308}
14309
14310// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14311func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14312	return nil, false
14313}
14314
14315// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14316func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14317	return nil, false
14318}
14319
14320// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14321func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14322	return nil, false
14323}
14324
14325// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14326func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14327	return nil, false
14328}
14329
14330// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14331func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14332	return nil, false
14333}
14334
14335// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14336func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14337	return nil, false
14338}
14339
14340// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14341func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14342	return nil, false
14343}
14344
14345// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14346func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14347	return nil, false
14348}
14349
14350// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14351func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14352	return nil, false
14353}
14354
14355// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14356func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14357	return nil, false
14358}
14359
14360// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14361func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14362	return nil, false
14363}
14364
14365// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14366func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14367	return nil, false
14368}
14369
14370// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14371func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14372	return nil, false
14373}
14374
14375// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14376func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14377	return nil, false
14378}
14379
14380// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14381func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14382	return nil, false
14383}
14384
14385// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14386func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14387	return nil, false
14388}
14389
14390// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14391func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14392	return nil, false
14393}
14394
14395// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14396func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14397	return nil, false
14398}
14399
14400// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14401func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14402	return nil, false
14403}
14404
14405// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14406func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14407	return nil, false
14408}
14409
14410// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14411func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14412	return nil, false
14413}
14414
14415// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14416func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14417	return nil, false
14418}
14419
14420// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14421func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14422	return nil, false
14423}
14424
14425// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14426func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14427	return nil, false
14428}
14429
14430// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14431func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14432	return &cudce, true
14433}
14434
14435// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14436func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14437	return nil, false
14438}
14439
14440// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14441func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14442	return nil, false
14443}
14444
14445// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14446func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14447	return nil, false
14448}
14449
14450// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14451func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14452	return nil, false
14453}
14454
14455// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14456func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14457	return nil, false
14458}
14459
14460// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14461func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14462	return nil, false
14463}
14464
14465// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14466func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14467	return nil, false
14468}
14469
14470// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14471func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14472	return nil, false
14473}
14474
14475// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14476func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14477	return nil, false
14478}
14479
14480// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14481func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14482	return nil, false
14483}
14484
14485// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14486func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14487	return nil, false
14488}
14489
14490// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14491func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14492	return nil, false
14493}
14494
14495// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14496func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14497	return nil, false
14498}
14499
14500// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14501func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14502	return nil, false
14503}
14504
14505// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14506func (cudce ClusterUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
14507	return nil, false
14508}
14509
14510// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14511func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14512	return &cudce, true
14513}
14514
14515// ClusterUpgradeHealthPolicyObject defines a health policy used to evaluate the health of the cluster
14516// during a cluster upgrade.
14517type ClusterUpgradeHealthPolicyObject struct {
14518	// MaxPercentDeltaUnhealthyNodes - The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. The default value is 10%.
14519	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
14520	// MaxPercentUpgradeDomainDeltaUnhealthyNodes - The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits. The default value is 15%.
14521	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
14522}
14523
14524// ClusterUpgradeProgressObject information about a cluster upgrade.
14525type ClusterUpgradeProgressObject struct {
14526	autorest.Response `json:"-"`
14527	// CodeVersion - The ServiceFabric code version of the cluster.
14528	CodeVersion *string `json:"CodeVersion,omitempty"`
14529	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
14530	ConfigVersion *string `json:"ConfigVersion,omitempty"`
14531	// UpgradeDomains - List of upgrade domains and their statuses.
14532	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
14533	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
14534	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
14535	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
14536	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
14537	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
14538	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
14539	// UpgradeDescription - Represents a ServiceFabric cluster upgrade
14540	UpgradeDescription *ClusterUpgradeDescriptionObject `json:"UpgradeDescription,omitempty"`
14541	// UpgradeDurationInMilliseconds - The estimated elapsed time spent processing the current overall upgrade.
14542	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
14543	// UpgradeDomainDurationInMilliseconds - The estimated elapsed time spent processing the current upgrade domain.
14544	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
14545	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
14546	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
14547	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
14548	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
14549	// StartTimestampUtc - The start time of the upgrade in UTC.
14550	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
14551	// FailureTimestampUtc - The failure time of the upgrade in UTC.
14552	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
14553	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
14554	FailureReason FailureReason `json:"FailureReason,omitempty"`
14555	// UpgradeDomainProgressAtFailure - The detailed upgrade progress for nodes in the current upgrade domain at the point of failure.
14556	UpgradeDomainProgressAtFailure *FailedUpgradeDomainProgressObject `json:"UpgradeDomainProgressAtFailure,omitempty"`
14557}
14558
14559// ClusterUpgradeRollbackCompleteEvent cluster Upgrade Rollback Complete event.
14560type ClusterUpgradeRollbackCompleteEvent struct {
14561	// TargetClusterVersion - Target Cluster version.
14562	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
14563	// FailureReason - Describes failure.
14564	FailureReason *string `json:"FailureReason,omitempty"`
14565	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
14566	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
14567	// EventInstanceID - The identifier for the FabricEvent instance.
14568	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
14569	// TimeStamp - The time event was logged.
14570	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
14571	// HasCorrelatedEvents - Shows there is existing related events available.
14572	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
14573	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
14574	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14575}
14576
14577// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackCompleteEvent.
14578func (curce ClusterUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
14579	curce.Kind = KindClusterUpgradeRollbackComplete
14580	objectMap := make(map[string]interface{})
14581	if curce.TargetClusterVersion != nil {
14582		objectMap["TargetClusterVersion"] = curce.TargetClusterVersion
14583	}
14584	if curce.FailureReason != nil {
14585		objectMap["FailureReason"] = curce.FailureReason
14586	}
14587	if curce.OverallUpgradeElapsedTimeInMs != nil {
14588		objectMap["OverallUpgradeElapsedTimeInMs"] = curce.OverallUpgradeElapsedTimeInMs
14589	}
14590	if curce.EventInstanceID != nil {
14591		objectMap["EventInstanceId"] = curce.EventInstanceID
14592	}
14593	if curce.TimeStamp != nil {
14594		objectMap["TimeStamp"] = curce.TimeStamp
14595	}
14596	if curce.HasCorrelatedEvents != nil {
14597		objectMap["HasCorrelatedEvents"] = curce.HasCorrelatedEvents
14598	}
14599	if curce.Kind != "" {
14600		objectMap["Kind"] = curce.Kind
14601	}
14602	return json.Marshal(objectMap)
14603}
14604
14605// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14606func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14607	return nil, false
14608}
14609
14610// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14611func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14612	return nil, false
14613}
14614
14615// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14616func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
14617	return nil, false
14618}
14619
14620// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14621func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14622	return &curce, true
14623}
14624
14625// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14626func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14627	return nil, false
14628}
14629
14630// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14631func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
14632	return nil, false
14633}
14634
14635// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14636func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14637	return nil, false
14638}
14639
14640// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14641func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14642	return nil, false
14643}
14644
14645// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14646func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14647	return nil, false
14648}
14649
14650// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14651func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14652	return nil, false
14653}
14654
14655// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14656func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14657	return nil, false
14658}
14659
14660// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14661func (curce ClusterUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14662	return nil, false
14663}
14664
14665// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14666func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14667	return nil, false
14668}
14669
14670// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14671func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
14672	return nil, false
14673}
14674
14675// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14676func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14677	return nil, false
14678}
14679
14680// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14681func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14682	return nil, false
14683}
14684
14685// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14686func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14687	return nil, false
14688}
14689
14690// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14691func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14692	return nil, false
14693}
14694
14695// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14696func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14697	return nil, false
14698}
14699
14700// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14701func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14702	return nil, false
14703}
14704
14705// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14706func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14707	return nil, false
14708}
14709
14710// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14711func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14712	return nil, false
14713}
14714
14715// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14716func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14717	return nil, false
14718}
14719
14720// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14721func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14722	return nil, false
14723}
14724
14725// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14726func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14727	return nil, false
14728}
14729
14730// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14731func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14732	return nil, false
14733}
14734
14735// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14736func (curce ClusterUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14737	return nil, false
14738}
14739
14740// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14741func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14742	return nil, false
14743}
14744
14745// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14746func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14747	return nil, false
14748}
14749
14750// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14751func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14752	return nil, false
14753}
14754
14755// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14756func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14757	return nil, false
14758}
14759
14760// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14761func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14762	return nil, false
14763}
14764
14765// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14766func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14767	return nil, false
14768}
14769
14770// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14771func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14772	return nil, false
14773}
14774
14775// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14776func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14777	return nil, false
14778}
14779
14780// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14781func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14782	return nil, false
14783}
14784
14785// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14786func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14787	return nil, false
14788}
14789
14790// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14791func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14792	return nil, false
14793}
14794
14795// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14796func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14797	return nil, false
14798}
14799
14800// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14801func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14802	return nil, false
14803}
14804
14805// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14806func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14807	return nil, false
14808}
14809
14810// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14811func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14812	return nil, false
14813}
14814
14815// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14816func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14817	return nil, false
14818}
14819
14820// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14821func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14822	return nil, false
14823}
14824
14825// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14826func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14827	return nil, false
14828}
14829
14830// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14831func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14832	return nil, false
14833}
14834
14835// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14836func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14837	return nil, false
14838}
14839
14840// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14841func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14842	return nil, false
14843}
14844
14845// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14846func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14847	return nil, false
14848}
14849
14850// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14851func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14852	return nil, false
14853}
14854
14855// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14856func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14857	return nil, false
14858}
14859
14860// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14861func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14862	return nil, false
14863}
14864
14865// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14866func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14867	return nil, false
14868}
14869
14870// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14871func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14872	return nil, false
14873}
14874
14875// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14876func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14877	return nil, false
14878}
14879
14880// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14881func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14882	return nil, false
14883}
14884
14885// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14886func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14887	return nil, false
14888}
14889
14890// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14891func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14892	return nil, false
14893}
14894
14895// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14896func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14897	return nil, false
14898}
14899
14900// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14901func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14902	return nil, false
14903}
14904
14905// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14906func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14907	return nil, false
14908}
14909
14910// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14911func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14912	return &curce, true
14913}
14914
14915// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14916func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14917	return nil, false
14918}
14919
14920// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14921func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14922	return nil, false
14923}
14924
14925// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14926func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14927	return nil, false
14928}
14929
14930// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14931func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14932	return nil, false
14933}
14934
14935// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14936func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14937	return nil, false
14938}
14939
14940// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14941func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14942	return nil, false
14943}
14944
14945// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14946func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14947	return nil, false
14948}
14949
14950// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14951func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14952	return nil, false
14953}
14954
14955// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14956func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14957	return nil, false
14958}
14959
14960// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14961func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14962	return nil, false
14963}
14964
14965// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14966func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14967	return nil, false
14968}
14969
14970// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14971func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14972	return nil, false
14973}
14974
14975// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14976func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14977	return nil, false
14978}
14979
14980// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14981func (curce ClusterUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
14982	return nil, false
14983}
14984
14985// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14986func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14987	return &curce, true
14988}
14989
14990// ClusterUpgradeRollbackStartEvent cluster Upgrade Rollback Start event.
14991type ClusterUpgradeRollbackStartEvent struct {
14992	// TargetClusterVersion - Target Cluster version.
14993	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
14994	// FailureReason - Describes failure.
14995	FailureReason *string `json:"FailureReason,omitempty"`
14996	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
14997	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
14998	// EventInstanceID - The identifier for the FabricEvent instance.
14999	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15000	// TimeStamp - The time event was logged.
15001	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15002	// HasCorrelatedEvents - Shows there is existing related events available.
15003	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15004	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
15005	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15006}
15007
15008// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackStartEvent.
15009func (curse ClusterUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
15010	curse.Kind = KindClusterUpgradeRollbackStart
15011	objectMap := make(map[string]interface{})
15012	if curse.TargetClusterVersion != nil {
15013		objectMap["TargetClusterVersion"] = curse.TargetClusterVersion
15014	}
15015	if curse.FailureReason != nil {
15016		objectMap["FailureReason"] = curse.FailureReason
15017	}
15018	if curse.OverallUpgradeElapsedTimeInMs != nil {
15019		objectMap["OverallUpgradeElapsedTimeInMs"] = curse.OverallUpgradeElapsedTimeInMs
15020	}
15021	if curse.EventInstanceID != nil {
15022		objectMap["EventInstanceId"] = curse.EventInstanceID
15023	}
15024	if curse.TimeStamp != nil {
15025		objectMap["TimeStamp"] = curse.TimeStamp
15026	}
15027	if curse.HasCorrelatedEvents != nil {
15028		objectMap["HasCorrelatedEvents"] = curse.HasCorrelatedEvents
15029	}
15030	if curse.Kind != "" {
15031		objectMap["Kind"] = curse.Kind
15032	}
15033	return json.Marshal(objectMap)
15034}
15035
15036// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15037func (curse ClusterUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
15038	return nil, false
15039}
15040
15041// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15042func (curse ClusterUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
15043	return nil, false
15044}
15045
15046// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15047func (curse ClusterUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
15048	return nil, false
15049}
15050
15051// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15052func (curse ClusterUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
15053	return &curse, true
15054}
15055
15056// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15057func (curse ClusterUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
15058	return nil, false
15059}
15060
15061// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15062func (curse ClusterUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
15063	return nil, false
15064}
15065
15066// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15067func (curse ClusterUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
15068	return nil, false
15069}
15070
15071// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15072func (curse ClusterUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
15073	return nil, false
15074}
15075
15076// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15077func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
15078	return nil, false
15079}
15080
15081// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15082func (curse ClusterUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
15083	return nil, false
15084}
15085
15086// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15087func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
15088	return nil, false
15089}
15090
15091// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15092func (curse ClusterUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
15093	return nil, false
15094}
15095
15096// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15097func (curse ClusterUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
15098	return nil, false
15099}
15100
15101// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15102func (curse ClusterUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
15103	return nil, false
15104}
15105
15106// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15107func (curse ClusterUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
15108	return nil, false
15109}
15110
15111// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15112func (curse ClusterUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
15113	return nil, false
15114}
15115
15116// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15117func (curse ClusterUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
15118	return nil, false
15119}
15120
15121// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15122func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
15123	return nil, false
15124}
15125
15126// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15127func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
15128	return nil, false
15129}
15130
15131// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15132func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
15133	return nil, false
15134}
15135
15136// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15137func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
15138	return nil, false
15139}
15140
15141// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15142func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
15143	return nil, false
15144}
15145
15146// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15147func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
15148	return nil, false
15149}
15150
15151// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15152func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
15153	return nil, false
15154}
15155
15156// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15157func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
15158	return nil, false
15159}
15160
15161// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15162func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
15163	return nil, false
15164}
15165
15166// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15167func (curse ClusterUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
15168	return nil, false
15169}
15170
15171// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15172func (curse ClusterUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
15173	return nil, false
15174}
15175
15176// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15177func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
15178	return nil, false
15179}
15180
15181// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15182func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
15183	return nil, false
15184}
15185
15186// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15187func (curse ClusterUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
15188	return nil, false
15189}
15190
15191// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15192func (curse ClusterUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
15193	return nil, false
15194}
15195
15196// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15197func (curse ClusterUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
15198	return nil, false
15199}
15200
15201// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15202func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
15203	return nil, false
15204}
15205
15206// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15207func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
15208	return nil, false
15209}
15210
15211// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15212func (curse ClusterUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
15213	return nil, false
15214}
15215
15216// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15217func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
15218	return nil, false
15219}
15220
15221// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15222func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
15223	return nil, false
15224}
15225
15226// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15227func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
15228	return nil, false
15229}
15230
15231// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15232func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
15233	return nil, false
15234}
15235
15236// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15237func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
15238	return nil, false
15239}
15240
15241// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15242func (curse ClusterUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
15243	return nil, false
15244}
15245
15246// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15247func (curse ClusterUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
15248	return nil, false
15249}
15250
15251// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15252func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
15253	return nil, false
15254}
15255
15256// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15257func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
15258	return nil, false
15259}
15260
15261// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15262func (curse ClusterUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
15263	return nil, false
15264}
15265
15266// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15267func (curse ClusterUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
15268	return nil, false
15269}
15270
15271// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15272func (curse ClusterUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
15273	return nil, false
15274}
15275
15276// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15277func (curse ClusterUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
15278	return nil, false
15279}
15280
15281// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15282func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
15283	return nil, false
15284}
15285
15286// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15287func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
15288	return nil, false
15289}
15290
15291// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15292func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
15293	return nil, false
15294}
15295
15296// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15297func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
15298	return nil, false
15299}
15300
15301// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15302func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
15303	return nil, false
15304}
15305
15306// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15307func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
15308	return nil, false
15309}
15310
15311// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15312func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
15313	return nil, false
15314}
15315
15316// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15317func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
15318	return nil, false
15319}
15320
15321// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15322func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
15323	return nil, false
15324}
15325
15326// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15327func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
15328	return nil, false
15329}
15330
15331// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15332func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
15333	return nil, false
15334}
15335
15336// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15337func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
15338	return nil, false
15339}
15340
15341// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15342func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
15343	return nil, false
15344}
15345
15346// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15347func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
15348	return &curse, true
15349}
15350
15351// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15352func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
15353	return nil, false
15354}
15355
15356// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15357func (curse ClusterUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
15358	return nil, false
15359}
15360
15361// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15362func (curse ClusterUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
15363	return nil, false
15364}
15365
15366// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15367func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
15368	return nil, false
15369}
15370
15371// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15372func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
15373	return nil, false
15374}
15375
15376// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15377func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
15378	return nil, false
15379}
15380
15381// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15382func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
15383	return nil, false
15384}
15385
15386// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15387func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
15388	return nil, false
15389}
15390
15391// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15392func (curse ClusterUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
15393	return nil, false
15394}
15395
15396// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15397func (curse ClusterUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
15398	return nil, false
15399}
15400
15401// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15402func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
15403	return nil, false
15404}
15405
15406// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15407func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
15408	return nil, false
15409}
15410
15411// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15412func (curse ClusterUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
15413	return nil, false
15414}
15415
15416// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15417func (curse ClusterUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
15418	return &curse, true
15419}
15420
15421// ClusterUpgradeStartEvent cluster Upgrade Start event.
15422type ClusterUpgradeStartEvent struct {
15423	// CurrentClusterVersion - Current Cluster version.
15424	CurrentClusterVersion *string `json:"CurrentClusterVersion,omitempty"`
15425	// TargetClusterVersion - Target Cluster version.
15426	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
15427	// UpgradeType - Type of upgrade.
15428	UpgradeType *string `json:"UpgradeType,omitempty"`
15429	// RollingUpgradeMode - Mode of upgrade.
15430	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
15431	// FailureAction - Action if failed.
15432	FailureAction *string `json:"FailureAction,omitempty"`
15433	// EventInstanceID - The identifier for the FabricEvent instance.
15434	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15435	// TimeStamp - The time event was logged.
15436	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15437	// HasCorrelatedEvents - Shows there is existing related events available.
15438	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15439	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
15440	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15441}
15442
15443// MarshalJSON is the custom marshaler for ClusterUpgradeStartEvent.
15444func (cuse ClusterUpgradeStartEvent) MarshalJSON() ([]byte, error) {
15445	cuse.Kind = KindClusterUpgradeStart
15446	objectMap := make(map[string]interface{})
15447	if cuse.CurrentClusterVersion != nil {
15448		objectMap["CurrentClusterVersion"] = cuse.CurrentClusterVersion
15449	}
15450	if cuse.TargetClusterVersion != nil {
15451		objectMap["TargetClusterVersion"] = cuse.TargetClusterVersion
15452	}
15453	if cuse.UpgradeType != nil {
15454		objectMap["UpgradeType"] = cuse.UpgradeType
15455	}
15456	if cuse.RollingUpgradeMode != nil {
15457		objectMap["RollingUpgradeMode"] = cuse.RollingUpgradeMode
15458	}
15459	if cuse.FailureAction != nil {
15460		objectMap["FailureAction"] = cuse.FailureAction
15461	}
15462	if cuse.EventInstanceID != nil {
15463		objectMap["EventInstanceId"] = cuse.EventInstanceID
15464	}
15465	if cuse.TimeStamp != nil {
15466		objectMap["TimeStamp"] = cuse.TimeStamp
15467	}
15468	if cuse.HasCorrelatedEvents != nil {
15469		objectMap["HasCorrelatedEvents"] = cuse.HasCorrelatedEvents
15470	}
15471	if cuse.Kind != "" {
15472		objectMap["Kind"] = cuse.Kind
15473	}
15474	return json.Marshal(objectMap)
15475}
15476
15477// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15478func (cuse ClusterUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
15479	return nil, false
15480}
15481
15482// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15483func (cuse ClusterUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
15484	return nil, false
15485}
15486
15487// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15488func (cuse ClusterUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
15489	return nil, false
15490}
15491
15492// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15493func (cuse ClusterUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
15494	return &cuse, true
15495}
15496
15497// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15498func (cuse ClusterUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
15499	return nil, false
15500}
15501
15502// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15503func (cuse ClusterUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
15504	return nil, false
15505}
15506
15507// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15508func (cuse ClusterUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
15509	return nil, false
15510}
15511
15512// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15513func (cuse ClusterUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
15514	return nil, false
15515}
15516
15517// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15518func (cuse ClusterUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
15519	return nil, false
15520}
15521
15522// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15523func (cuse ClusterUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
15524	return nil, false
15525}
15526
15527// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15528func (cuse ClusterUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
15529	return nil, false
15530}
15531
15532// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15533func (cuse ClusterUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
15534	return nil, false
15535}
15536
15537// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15538func (cuse ClusterUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
15539	return nil, false
15540}
15541
15542// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15543func (cuse ClusterUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
15544	return nil, false
15545}
15546
15547// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15548func (cuse ClusterUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
15549	return nil, false
15550}
15551
15552// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15553func (cuse ClusterUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
15554	return nil, false
15555}
15556
15557// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15558func (cuse ClusterUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
15559	return nil, false
15560}
15561
15562// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15563func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
15564	return nil, false
15565}
15566
15567// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15568func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
15569	return nil, false
15570}
15571
15572// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15573func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
15574	return nil, false
15575}
15576
15577// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15578func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
15579	return nil, false
15580}
15581
15582// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15583func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
15584	return nil, false
15585}
15586
15587// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15588func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
15589	return nil, false
15590}
15591
15592// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15593func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
15594	return nil, false
15595}
15596
15597// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15598func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
15599	return nil, false
15600}
15601
15602// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15603func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
15604	return nil, false
15605}
15606
15607// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15608func (cuse ClusterUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
15609	return nil, false
15610}
15611
15612// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15613func (cuse ClusterUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
15614	return nil, false
15615}
15616
15617// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15618func (cuse ClusterUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
15619	return nil, false
15620}
15621
15622// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15623func (cuse ClusterUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
15624	return nil, false
15625}
15626
15627// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15628func (cuse ClusterUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
15629	return nil, false
15630}
15631
15632// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15633func (cuse ClusterUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
15634	return nil, false
15635}
15636
15637// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15638func (cuse ClusterUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
15639	return nil, false
15640}
15641
15642// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15643func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
15644	return nil, false
15645}
15646
15647// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15648func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
15649	return nil, false
15650}
15651
15652// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15653func (cuse ClusterUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
15654	return nil, false
15655}
15656
15657// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15658func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
15659	return nil, false
15660}
15661
15662// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15663func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
15664	return nil, false
15665}
15666
15667// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15668func (cuse ClusterUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
15669	return nil, false
15670}
15671
15672// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15673func (cuse ClusterUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
15674	return nil, false
15675}
15676
15677// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15678func (cuse ClusterUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
15679	return nil, false
15680}
15681
15682// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15683func (cuse ClusterUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
15684	return nil, false
15685}
15686
15687// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15688func (cuse ClusterUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
15689	return nil, false
15690}
15691
15692// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15693func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
15694	return nil, false
15695}
15696
15697// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15698func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
15699	return nil, false
15700}
15701
15702// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15703func (cuse ClusterUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
15704	return nil, false
15705}
15706
15707// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15708func (cuse ClusterUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
15709	return nil, false
15710}
15711
15712// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15713func (cuse ClusterUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
15714	return nil, false
15715}
15716
15717// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15718func (cuse ClusterUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
15719	return nil, false
15720}
15721
15722// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15723func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
15724	return nil, false
15725}
15726
15727// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15728func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
15729	return nil, false
15730}
15731
15732// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15733func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
15734	return nil, false
15735}
15736
15737// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15738func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
15739	return nil, false
15740}
15741
15742// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15743func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
15744	return nil, false
15745}
15746
15747// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15748func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
15749	return nil, false
15750}
15751
15752// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15753func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
15754	return nil, false
15755}
15756
15757// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15758func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
15759	return nil, false
15760}
15761
15762// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15763func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
15764	return nil, false
15765}
15766
15767// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15768func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
15769	return nil, false
15770}
15771
15772// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15773func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
15774	return nil, false
15775}
15776
15777// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15778func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
15779	return nil, false
15780}
15781
15782// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15783func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
15784	return nil, false
15785}
15786
15787// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15788func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
15789	return nil, false
15790}
15791
15792// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15793func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
15794	return &cuse, true
15795}
15796
15797// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15798func (cuse ClusterUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
15799	return nil, false
15800}
15801
15802// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15803func (cuse ClusterUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
15804	return nil, false
15805}
15806
15807// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15808func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
15809	return nil, false
15810}
15811
15812// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15813func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
15814	return nil, false
15815}
15816
15817// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15818func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
15819	return nil, false
15820}
15821
15822// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15823func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
15824	return nil, false
15825}
15826
15827// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15828func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
15829	return nil, false
15830}
15831
15832// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15833func (cuse ClusterUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
15834	return nil, false
15835}
15836
15837// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15838func (cuse ClusterUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
15839	return nil, false
15840}
15841
15842// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15843func (cuse ClusterUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
15844	return nil, false
15845}
15846
15847// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15848func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
15849	return nil, false
15850}
15851
15852// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15853func (cuse ClusterUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
15854	return nil, false
15855}
15856
15857// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15858func (cuse ClusterUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
15859	return &cuse, true
15860}
15861
15862// CodePackageEntryPoint information about setup or main entry point of a code package deployed on a
15863// Service Fabric node.
15864type CodePackageEntryPoint struct {
15865	// EntryPointLocation - The location of entry point executable on the node.
15866	EntryPointLocation *string `json:"EntryPointLocation,omitempty"`
15867	// ProcessID - The process ID of the entry point.
15868	ProcessID *string `json:"ProcessId,omitempty"`
15869	// RunAsUserName - The user name under which entry point executable is run on the node.
15870	RunAsUserName *string `json:"RunAsUserName,omitempty"`
15871	// CodePackageEntryPointStatistics - Statistics about setup or main entry point  of a code package deployed on a Service Fabric node.
15872	CodePackageEntryPointStatistics *CodePackageEntryPointStatistics `json:"CodePackageEntryPointStatistics,omitempty"`
15873	// Status - Specifies the status of the code package entry point deployed on a Service Fabric node. Possible values include: 'EntryPointStatusInvalid', 'EntryPointStatusPending', 'EntryPointStatusStarting', 'EntryPointStatusStarted', 'EntryPointStatusStopping', 'EntryPointStatusStopped'
15874	Status EntryPointStatus `json:"Status,omitempty"`
15875	// NextActivationTime - The time (in UTC) when the entry point executable will be run next.
15876	NextActivationTime *date.Time `json:"NextActivationTime,omitempty"`
15877	// InstanceID - The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change.
15878	InstanceID *string `json:"InstanceId,omitempty"`
15879}
15880
15881// CodePackageEntryPointStatistics statistics about setup or main entry point  of a code package deployed
15882// on a Service Fabric node.
15883type CodePackageEntryPointStatistics struct {
15884	// LastExitCode - The last exit code of the entry point.
15885	LastExitCode *string `json:"LastExitCode,omitempty"`
15886	// LastActivationTime - The last time (in UTC) when Service Fabric attempted to run the entry point.
15887	LastActivationTime *date.Time `json:"LastActivationTime,omitempty"`
15888	// LastExitTime - The last time (in UTC) when the entry point finished running.
15889	LastExitTime *date.Time `json:"LastExitTime,omitempty"`
15890	// LastSuccessfulActivationTime - The last time (in UTC) when the entry point ran successfully.
15891	LastSuccessfulActivationTime *date.Time `json:"LastSuccessfulActivationTime,omitempty"`
15892	// LastSuccessfulExitTime - The last time (in UTC) when the entry point finished running gracefully.
15893	LastSuccessfulExitTime *date.Time `json:"LastSuccessfulExitTime,omitempty"`
15894	// ActivationCount - Number of times the entry point has run.
15895	ActivationCount *string `json:"ActivationCount,omitempty"`
15896	// ActivationFailureCount - Number of times the entry point failed to run.
15897	ActivationFailureCount *string `json:"ActivationFailureCount,omitempty"`
15898	// ContinuousActivationFailureCount - Number of times the entry point continuously failed to run.
15899	ContinuousActivationFailureCount *string `json:"ContinuousActivationFailureCount,omitempty"`
15900	// ExitCount - Number of times the entry point finished running.
15901	ExitCount *string `json:"ExitCount,omitempty"`
15902	// ExitFailureCount - Number of times the entry point failed to exit gracefully.
15903	ExitFailureCount *string `json:"ExitFailureCount,omitempty"`
15904	// ContinuousExitFailureCount - Number of times the entry point continuously failed to exit gracefully.
15905	ContinuousExitFailureCount *string `json:"ContinuousExitFailureCount,omitempty"`
15906}
15907
15908// ComposeDeploymentStatusInfo information about a Service Fabric compose deployment.
15909type ComposeDeploymentStatusInfo struct {
15910	autorest.Response `json:"-"`
15911	// Name - The name of the deployment.
15912	Name *string `json:"Name,omitempty"`
15913	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
15914	ApplicationName *string `json:"ApplicationName,omitempty"`
15915	// Status - The status of the compose deployment. Possible values include: 'ComposeDeploymentStatusInvalid', 'ComposeDeploymentStatusProvisioning', 'ComposeDeploymentStatusCreating', 'ComposeDeploymentStatusReady', 'ComposeDeploymentStatusUnprovisioning', 'ComposeDeploymentStatusDeleting', 'ComposeDeploymentStatusFailed', 'ComposeDeploymentStatusUpgrading'
15916	Status ComposeDeploymentStatus `json:"Status,omitempty"`
15917	// StatusDetails - The status details of compose deployment including failure message.
15918	StatusDetails *string `json:"StatusDetails,omitempty"`
15919}
15920
15921// ComposeDeploymentUpgradeDescription describes the parameters for a compose deployment upgrade.
15922type ComposeDeploymentUpgradeDescription struct {
15923	// DeploymentName - The name of the deployment.
15924	DeploymentName *string `json:"DeploymentName,omitempty"`
15925	// ComposeFileContent - The content of the compose file that describes the deployment to create.
15926	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
15927	// RegistryCredential - Credential information to connect to container registry.
15928	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
15929	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
15930	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
15931	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
15932	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
15933	// UpgradeReplicaSetCheckTimeoutInSeconds - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
15934	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
15935	// ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
15936	ForceRestart *bool `json:"ForceRestart,omitempty"`
15937	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
15938	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
15939	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
15940	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
15941}
15942
15943// ComposeDeploymentUpgradeProgressInfo describes the parameters for a compose deployment upgrade.
15944type ComposeDeploymentUpgradeProgressInfo struct {
15945	autorest.Response `json:"-"`
15946	// DeploymentName - The name of the target deployment.
15947	DeploymentName *string `json:"DeploymentName,omitempty"`
15948	// ApplicationName - The name of the target application, including the 'fabric:' URI scheme.
15949	ApplicationName *string `json:"ApplicationName,omitempty"`
15950	// UpgradeState - The state of the compose deployment upgrade. Possible values include: 'ComposeDeploymentUpgradeStateInvalid', 'ComposeDeploymentUpgradeStateProvisioningTarget', 'ComposeDeploymentUpgradeStateRollingForwardInProgress', 'ComposeDeploymentUpgradeStateRollingForwardPending', 'ComposeDeploymentUpgradeStateUnprovisioningCurrent', 'ComposeDeploymentUpgradeStateRollingForwardCompleted', 'ComposeDeploymentUpgradeStateRollingBackInProgress', 'ComposeDeploymentUpgradeStateUnprovisioningTarget', 'ComposeDeploymentUpgradeStateRollingBackCompleted', 'ComposeDeploymentUpgradeStateFailed'
15951	UpgradeState ComposeDeploymentUpgradeState `json:"UpgradeState,omitempty"`
15952	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
15953	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
15954	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
15955	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
15956	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
15957	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
15958	// ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
15959	ForceRestart *bool `json:"ForceRestart,omitempty"`
15960	// UpgradeReplicaSetCheckTimeoutInSeconds - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
15961	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
15962	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
15963	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
15964	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
15965	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
15966	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
15967	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
15968	// UpgradeDuration - The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
15969	UpgradeDuration *string `json:"UpgradeDuration,omitempty"`
15970	// CurrentUpgradeDomainDuration - The estimated amount of time spent processing current Upgrade Domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
15971	CurrentUpgradeDomainDuration *string `json:"CurrentUpgradeDomainDuration,omitempty"`
15972	// ApplicationUnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
15973	ApplicationUnhealthyEvaluations *[]HealthEvaluationWrapper `json:"ApplicationUnhealthyEvaluations,omitempty"`
15974	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
15975	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
15976	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
15977	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
15978	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
15979	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
15980	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
15981	FailureReason FailureReason `json:"FailureReason,omitempty"`
15982	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
15983	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
15984	// ApplicationUpgradeStatusDetails - Additional details of application upgrade including failure message.
15985	ApplicationUpgradeStatusDetails *string `json:"ApplicationUpgradeStatusDetails,omitempty"`
15986}
15987
15988// ContainerAPIRequestBody parameters for making container API call.
15989type ContainerAPIRequestBody struct {
15990	// HTTPVerb - HTTP verb of container REST API, defaults to "GET"
15991	HTTPVerb *string `json:"HttpVerb,omitempty"`
15992	// URIPath - URI path of container REST API
15993	URIPath *string `json:"UriPath,omitempty"`
15994	// ContentType - Content type of container REST API request, defaults to "application/json"
15995	ContentType *string `json:"Content-Type,omitempty"`
15996	// Body - HTTP request body of container REST API
15997	Body *string `json:"Body,omitempty"`
15998}
15999
16000// ContainerAPIResponse response body that wraps container API result.
16001type ContainerAPIResponse struct {
16002	autorest.Response `json:"-"`
16003	// ContainerAPIResult - Container API result.
16004	ContainerAPIResult *ContainerAPIResult `json:"ContainerApiResult,omitempty"`
16005}
16006
16007// ContainerAPIResult container API result.
16008type ContainerAPIResult struct {
16009	// Status - HTTP status code returned by the target container API
16010	Status *int32 `json:"Status,omitempty"`
16011	// ContentType - HTTP content type
16012	ContentType *string `json:"Content-Type,omitempty"`
16013	// ContentEncoding - HTTP content encoding
16014	ContentEncoding *string `json:"Content-Encoding,omitempty"`
16015	// Body - container API result body
16016	Body *string `json:"Body,omitempty"`
16017}
16018
16019// ContainerCodePackageProperties describes a container and its runtime properties.
16020type ContainerCodePackageProperties struct {
16021	// Name - The name of the code package.
16022	Name *string `json:"name,omitempty"`
16023	// Image - The Container image to use.
16024	Image *string `json:"image,omitempty"`
16025	// ImageRegistryCredential - Image registry credential.
16026	ImageRegistryCredential *ImageRegistryCredential `json:"imageRegistryCredential,omitempty"`
16027	// Entrypoint - Override for the default entry point in the container.
16028	Entrypoint *string `json:"entrypoint,omitempty"`
16029	// Commands - Command array to execute within the container in exec form.
16030	Commands *[]string `json:"commands,omitempty"`
16031	// EnvironmentVariables - The environment variables to set in this container
16032	EnvironmentVariables *[]EnvironmentVariable `json:"environmentVariables,omitempty"`
16033	// Settings - The settings to set in this container. The setting file path can be fetched from environment variable "Fabric_SettingPath". The path for Windows container is "C:\\secrets". The path for Linux container is "/var/secrets".
16034	Settings *[]Setting `json:"settings,omitempty"`
16035	// Labels - The labels to set in this container.
16036	Labels *[]ContainerLabel `json:"labels,omitempty"`
16037	// Endpoints - The endpoints exposed by this container.
16038	Endpoints *[]EndpointProperties `json:"endpoints,omitempty"`
16039	// Resources - This type describes the resource requirements for a container or a service.
16040	Resources *ResourceRequirements `json:"resources,omitempty"`
16041	// VolumeRefs - The volumes to be attached to the container.
16042	VolumeRefs *[]ContainerVolume `json:"volumeRefs,omitempty"`
16043	// InstanceView - READ-ONLY; Runtime information of a container instance.
16044	InstanceView *ContainerInstanceView `json:"instanceView,omitempty"`
16045	// Diagnostics - Reference to sinks in DiagnosticsDescription.
16046	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
16047}
16048
16049// MarshalJSON is the custom marshaler for ContainerCodePackageProperties.
16050func (ccpp ContainerCodePackageProperties) MarshalJSON() ([]byte, error) {
16051	objectMap := make(map[string]interface{})
16052	if ccpp.Name != nil {
16053		objectMap["name"] = ccpp.Name
16054	}
16055	if ccpp.Image != nil {
16056		objectMap["image"] = ccpp.Image
16057	}
16058	if ccpp.ImageRegistryCredential != nil {
16059		objectMap["imageRegistryCredential"] = ccpp.ImageRegistryCredential
16060	}
16061	if ccpp.Entrypoint != nil {
16062		objectMap["entrypoint"] = ccpp.Entrypoint
16063	}
16064	if ccpp.Commands != nil {
16065		objectMap["commands"] = ccpp.Commands
16066	}
16067	if ccpp.EnvironmentVariables != nil {
16068		objectMap["environmentVariables"] = ccpp.EnvironmentVariables
16069	}
16070	if ccpp.Settings != nil {
16071		objectMap["settings"] = ccpp.Settings
16072	}
16073	if ccpp.Labels != nil {
16074		objectMap["labels"] = ccpp.Labels
16075	}
16076	if ccpp.Endpoints != nil {
16077		objectMap["endpoints"] = ccpp.Endpoints
16078	}
16079	if ccpp.Resources != nil {
16080		objectMap["resources"] = ccpp.Resources
16081	}
16082	if ccpp.VolumeRefs != nil {
16083		objectMap["volumeRefs"] = ccpp.VolumeRefs
16084	}
16085	if ccpp.Diagnostics != nil {
16086		objectMap["diagnostics"] = ccpp.Diagnostics
16087	}
16088	return json.Marshal(objectMap)
16089}
16090
16091// ContainerDeactivatedEvent container Deactivated event.
16092type ContainerDeactivatedEvent struct {
16093	// ServiceName - Name of Service.
16094	ServiceName *string `json:"ServiceName,omitempty"`
16095	// ServicePackageName - Name of Service package.
16096	ServicePackageName *string `json:"ServicePackageName,omitempty"`
16097	// ServicePackageActivationID - Activation Id of Service package.
16098	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
16099	// IsExclusive - Indicates IsExclusive flag.
16100	IsExclusive *bool `json:"IsExclusive,omitempty"`
16101	// CodePackageName - Name of Code package.
16102	CodePackageName *string `json:"CodePackageName,omitempty"`
16103	// EntryPointType - Type of EntryPoint.
16104	EntryPointType *string `json:"EntryPointType,omitempty"`
16105	// ImageName - Name of Container image.
16106	ImageName *string `json:"ImageName,omitempty"`
16107	// ContainerName - Name of Container.
16108	ContainerName *string `json:"ContainerName,omitempty"`
16109	// HostID - Host Id.
16110	HostID *string `json:"HostId,omitempty"`
16111	// ExitCode - Exit code of process.
16112	ExitCode *int64 `json:"ExitCode,omitempty"`
16113	// UnexpectedTermination - Indicates if termination is unexpected.
16114	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
16115	// StartTime - Start time of process.
16116	StartTime *date.Time `json:"StartTime,omitempty"`
16117	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
16118	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
16119	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
16120	ApplicationID *string `json:"ApplicationId,omitempty"`
16121	// EventInstanceID - The identifier for the FabricEvent instance.
16122	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
16123	// TimeStamp - The time event was logged.
16124	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
16125	// HasCorrelatedEvents - Shows there is existing related events available.
16126	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
16127	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
16128	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
16129}
16130
16131// MarshalJSON is the custom marshaler for ContainerDeactivatedEvent.
16132func (cde ContainerDeactivatedEvent) MarshalJSON() ([]byte, error) {
16133	cde.Kind = KindContainerDeactivated
16134	objectMap := make(map[string]interface{})
16135	if cde.ServiceName != nil {
16136		objectMap["ServiceName"] = cde.ServiceName
16137	}
16138	if cde.ServicePackageName != nil {
16139		objectMap["ServicePackageName"] = cde.ServicePackageName
16140	}
16141	if cde.ServicePackageActivationID != nil {
16142		objectMap["ServicePackageActivationId"] = cde.ServicePackageActivationID
16143	}
16144	if cde.IsExclusive != nil {
16145		objectMap["IsExclusive"] = cde.IsExclusive
16146	}
16147	if cde.CodePackageName != nil {
16148		objectMap["CodePackageName"] = cde.CodePackageName
16149	}
16150	if cde.EntryPointType != nil {
16151		objectMap["EntryPointType"] = cde.EntryPointType
16152	}
16153	if cde.ImageName != nil {
16154		objectMap["ImageName"] = cde.ImageName
16155	}
16156	if cde.ContainerName != nil {
16157		objectMap["ContainerName"] = cde.ContainerName
16158	}
16159	if cde.HostID != nil {
16160		objectMap["HostId"] = cde.HostID
16161	}
16162	if cde.ExitCode != nil {
16163		objectMap["ExitCode"] = cde.ExitCode
16164	}
16165	if cde.UnexpectedTermination != nil {
16166		objectMap["UnexpectedTermination"] = cde.UnexpectedTermination
16167	}
16168	if cde.StartTime != nil {
16169		objectMap["StartTime"] = cde.StartTime
16170	}
16171	if cde.ApplicationID != nil {
16172		objectMap["ApplicationId"] = cde.ApplicationID
16173	}
16174	if cde.EventInstanceID != nil {
16175		objectMap["EventInstanceId"] = cde.EventInstanceID
16176	}
16177	if cde.TimeStamp != nil {
16178		objectMap["TimeStamp"] = cde.TimeStamp
16179	}
16180	if cde.HasCorrelatedEvents != nil {
16181		objectMap["HasCorrelatedEvents"] = cde.HasCorrelatedEvents
16182	}
16183	if cde.Kind != "" {
16184		objectMap["Kind"] = cde.Kind
16185	}
16186	return json.Marshal(objectMap)
16187}
16188
16189// AsApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16190func (cde ContainerDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16191	return nil, false
16192}
16193
16194// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16195func (cde ContainerDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16196	return &cde, true
16197}
16198
16199// AsClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16200func (cde ContainerDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
16201	return nil, false
16202}
16203
16204// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16205func (cde ContainerDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16206	return nil, false
16207}
16208
16209// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16210func (cde ContainerDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16211	return nil, false
16212}
16213
16214// AsNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16215func (cde ContainerDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
16216	return nil, false
16217}
16218
16219// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16220func (cde ContainerDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16221	return nil, false
16222}
16223
16224// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16225func (cde ContainerDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16226	return nil, false
16227}
16228
16229// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16230func (cde ContainerDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16231	return nil, false
16232}
16233
16234// AsPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16235func (cde ContainerDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16236	return nil, false
16237}
16238
16239// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16240func (cde ContainerDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16241	return nil, false
16242}
16243
16244// AsReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16245func (cde ContainerDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16246	return nil, false
16247}
16248
16249// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16250func (cde ContainerDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16251	return nil, false
16252}
16253
16254// AsServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16255func (cde ContainerDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
16256	return nil, false
16257}
16258
16259// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16260func (cde ContainerDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16261	return nil, false
16262}
16263
16264// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16265func (cde ContainerDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16266	return nil, false
16267}
16268
16269// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16270func (cde ContainerDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16271	return nil, false
16272}
16273
16274// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16275func (cde ContainerDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16276	return nil, false
16277}
16278
16279// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16280func (cde ContainerDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16281	return nil, false
16282}
16283
16284// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16285func (cde ContainerDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16286	return nil, false
16287}
16288
16289// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16290func (cde ContainerDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16291	return nil, false
16292}
16293
16294// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16295func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16296	return nil, false
16297}
16298
16299// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16300func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16301	return nil, false
16302}
16303
16304// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16305func (cde ContainerDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16306	return nil, false
16307}
16308
16309// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16310func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16311	return nil, false
16312}
16313
16314// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16315func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16316	return nil, false
16317}
16318
16319// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16320func (cde ContainerDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16321	return nil, false
16322}
16323
16324// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16325func (cde ContainerDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16326	return &cde, true
16327}
16328
16329// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16330func (cde ContainerDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16331	return nil, false
16332}
16333
16334// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16335func (cde ContainerDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16336	return nil, false
16337}
16338
16339// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16340func (cde ContainerDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16341	return nil, false
16342}
16343
16344// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16345func (cde ContainerDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16346	return nil, false
16347}
16348
16349// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16350func (cde ContainerDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16351	return nil, false
16352}
16353
16354// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16355func (cde ContainerDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16356	return nil, false
16357}
16358
16359// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16360func (cde ContainerDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16361	return nil, false
16362}
16363
16364// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16365func (cde ContainerDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16366	return nil, false
16367}
16368
16369// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16370func (cde ContainerDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16371	return nil, false
16372}
16373
16374// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16375func (cde ContainerDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16376	return nil, false
16377}
16378
16379// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16380func (cde ContainerDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16381	return nil, false
16382}
16383
16384// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16385func (cde ContainerDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16386	return nil, false
16387}
16388
16389// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16390func (cde ContainerDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16391	return nil, false
16392}
16393
16394// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16395func (cde ContainerDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16396	return nil, false
16397}
16398
16399// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16400func (cde ContainerDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16401	return nil, false
16402}
16403
16404// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16405func (cde ContainerDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16406	return nil, false
16407}
16408
16409// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16410func (cde ContainerDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16411	return nil, false
16412}
16413
16414// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16415func (cde ContainerDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16416	return nil, false
16417}
16418
16419// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16420func (cde ContainerDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16421	return nil, false
16422}
16423
16424// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16425func (cde ContainerDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16426	return nil, false
16427}
16428
16429// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16430func (cde ContainerDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16431	return nil, false
16432}
16433
16434// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16435func (cde ContainerDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16436	return nil, false
16437}
16438
16439// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16440func (cde ContainerDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16441	return nil, false
16442}
16443
16444// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16445func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16446	return nil, false
16447}
16448
16449// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16450func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16451	return nil, false
16452}
16453
16454// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16455func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16456	return nil, false
16457}
16458
16459// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16460func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16461	return nil, false
16462}
16463
16464// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16465func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16466	return nil, false
16467}
16468
16469// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16470func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16471	return nil, false
16472}
16473
16474// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16475func (cde ContainerDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16476	return nil, false
16477}
16478
16479// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16480func (cde ContainerDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16481	return nil, false
16482}
16483
16484// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16485func (cde ContainerDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16486	return nil, false
16487}
16488
16489// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16490func (cde ContainerDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16491	return nil, false
16492}
16493
16494// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16495func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16496	return nil, false
16497}
16498
16499// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16500func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16501	return nil, false
16502}
16503
16504// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16505func (cde ContainerDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16506	return nil, false
16507}
16508
16509// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16510func (cde ContainerDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16511	return nil, false
16512}
16513
16514// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16515func (cde ContainerDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16516	return nil, false
16517}
16518
16519// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16520func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16521	return nil, false
16522}
16523
16524// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16525func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16526	return nil, false
16527}
16528
16529// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16530func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16531	return nil, false
16532}
16533
16534// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16535func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16536	return nil, false
16537}
16538
16539// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16540func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16541	return nil, false
16542}
16543
16544// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16545func (cde ContainerDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16546	return nil, false
16547}
16548
16549// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16550func (cde ContainerDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16551	return nil, false
16552}
16553
16554// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16555func (cde ContainerDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16556	return nil, false
16557}
16558
16559// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16560func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16561	return nil, false
16562}
16563
16564// AsFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16565func (cde ContainerDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
16566	return nil, false
16567}
16568
16569// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16570func (cde ContainerDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
16571	return &cde, true
16572}
16573
16574// ContainerEvent a container event.
16575type ContainerEvent struct {
16576	// Name - The name of the container event.
16577	Name *string `json:"name,omitempty"`
16578	// Count - The count of the event.
16579	Count *int32 `json:"count,omitempty"`
16580	// FirstTimestamp - Date/time of the first event.
16581	FirstTimestamp *string `json:"firstTimestamp,omitempty"`
16582	// LastTimestamp - Date/time of the last event.
16583	LastTimestamp *string `json:"lastTimestamp,omitempty"`
16584	// Message - The event message
16585	Message *string `json:"message,omitempty"`
16586	// Type - The event type.
16587	Type *string `json:"type,omitempty"`
16588}
16589
16590// ContainerInstanceEvent represents the base for all Container Events.
16591type ContainerInstanceEvent struct {
16592	// EventInstanceID - The identifier for the FabricEvent instance.
16593	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
16594	// TimeStamp - The time event was logged.
16595	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
16596	// HasCorrelatedEvents - Shows there is existing related events available.
16597	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
16598	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
16599	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
16600}
16601
16602// MarshalJSON is the custom marshaler for ContainerInstanceEvent.
16603func (cie ContainerInstanceEvent) MarshalJSON() ([]byte, error) {
16604	cie.Kind = KindContainerInstanceEvent
16605	objectMap := make(map[string]interface{})
16606	if cie.EventInstanceID != nil {
16607		objectMap["EventInstanceId"] = cie.EventInstanceID
16608	}
16609	if cie.TimeStamp != nil {
16610		objectMap["TimeStamp"] = cie.TimeStamp
16611	}
16612	if cie.HasCorrelatedEvents != nil {
16613		objectMap["HasCorrelatedEvents"] = cie.HasCorrelatedEvents
16614	}
16615	if cie.Kind != "" {
16616		objectMap["Kind"] = cie.Kind
16617	}
16618	return json.Marshal(objectMap)
16619}
16620
16621// AsApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16622func (cie ContainerInstanceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16623	return nil, false
16624}
16625
16626// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16627func (cie ContainerInstanceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16628	return nil, false
16629}
16630
16631// AsClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16632func (cie ContainerInstanceEvent) AsClusterEvent() (*ClusterEvent, bool) {
16633	return nil, false
16634}
16635
16636// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16637func (cie ContainerInstanceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16638	return nil, false
16639}
16640
16641// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16642func (cie ContainerInstanceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16643	return &cie, true
16644}
16645
16646// AsNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16647func (cie ContainerInstanceEvent) AsNodeEvent() (*NodeEvent, bool) {
16648	return nil, false
16649}
16650
16651// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16652func (cie ContainerInstanceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16653	return nil, false
16654}
16655
16656// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16657func (cie ContainerInstanceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16658	return nil, false
16659}
16660
16661// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16662func (cie ContainerInstanceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16663	return nil, false
16664}
16665
16666// AsPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16667func (cie ContainerInstanceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16668	return nil, false
16669}
16670
16671// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16672func (cie ContainerInstanceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16673	return nil, false
16674}
16675
16676// AsReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16677func (cie ContainerInstanceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16678	return nil, false
16679}
16680
16681// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16682func (cie ContainerInstanceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16683	return nil, false
16684}
16685
16686// AsServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16687func (cie ContainerInstanceEvent) AsServiceEvent() (*ServiceEvent, bool) {
16688	return nil, false
16689}
16690
16691// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16692func (cie ContainerInstanceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16693	return nil, false
16694}
16695
16696// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16697func (cie ContainerInstanceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16698	return nil, false
16699}
16700
16701// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16702func (cie ContainerInstanceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16703	return nil, false
16704}
16705
16706// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16707func (cie ContainerInstanceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16708	return nil, false
16709}
16710
16711// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16712func (cie ContainerInstanceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16713	return nil, false
16714}
16715
16716// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16717func (cie ContainerInstanceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16718	return nil, false
16719}
16720
16721// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16722func (cie ContainerInstanceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16723	return nil, false
16724}
16725
16726// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16727func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16728	return nil, false
16729}
16730
16731// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16732func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16733	return nil, false
16734}
16735
16736// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16737func (cie ContainerInstanceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16738	return nil, false
16739}
16740
16741// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16742func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16743	return nil, false
16744}
16745
16746// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16747func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16748	return nil, false
16749}
16750
16751// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16752func (cie ContainerInstanceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16753	return nil, false
16754}
16755
16756// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16757func (cie ContainerInstanceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16758	return nil, false
16759}
16760
16761// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16762func (cie ContainerInstanceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16763	return nil, false
16764}
16765
16766// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16767func (cie ContainerInstanceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16768	return nil, false
16769}
16770
16771// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16772func (cie ContainerInstanceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16773	return nil, false
16774}
16775
16776// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16777func (cie ContainerInstanceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16778	return nil, false
16779}
16780
16781// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16782func (cie ContainerInstanceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16783	return nil, false
16784}
16785
16786// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16787func (cie ContainerInstanceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16788	return nil, false
16789}
16790
16791// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16792func (cie ContainerInstanceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16793	return nil, false
16794}
16795
16796// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16797func (cie ContainerInstanceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16798	return nil, false
16799}
16800
16801// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16802func (cie ContainerInstanceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16803	return nil, false
16804}
16805
16806// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16807func (cie ContainerInstanceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16808	return nil, false
16809}
16810
16811// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16812func (cie ContainerInstanceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16813	return nil, false
16814}
16815
16816// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16817func (cie ContainerInstanceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16818	return nil, false
16819}
16820
16821// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16822func (cie ContainerInstanceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16823	return nil, false
16824}
16825
16826// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16827func (cie ContainerInstanceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16828	return nil, false
16829}
16830
16831// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16832func (cie ContainerInstanceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16833	return nil, false
16834}
16835
16836// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16837func (cie ContainerInstanceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16838	return nil, false
16839}
16840
16841// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16842func (cie ContainerInstanceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16843	return nil, false
16844}
16845
16846// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16847func (cie ContainerInstanceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16848	return nil, false
16849}
16850
16851// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16852func (cie ContainerInstanceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16853	return nil, false
16854}
16855
16856// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16857func (cie ContainerInstanceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16858	return nil, false
16859}
16860
16861// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16862func (cie ContainerInstanceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16863	return nil, false
16864}
16865
16866// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16867func (cie ContainerInstanceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16868	return nil, false
16869}
16870
16871// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16872func (cie ContainerInstanceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16873	return nil, false
16874}
16875
16876// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16877func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16878	return nil, false
16879}
16880
16881// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16882func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16883	return nil, false
16884}
16885
16886// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16887func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16888	return nil, false
16889}
16890
16891// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16892func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16893	return nil, false
16894}
16895
16896// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16897func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16898	return nil, false
16899}
16900
16901// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16902func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16903	return nil, false
16904}
16905
16906// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16907func (cie ContainerInstanceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16908	return nil, false
16909}
16910
16911// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16912func (cie ContainerInstanceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16913	return nil, false
16914}
16915
16916// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16917func (cie ContainerInstanceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16918	return nil, false
16919}
16920
16921// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16922func (cie ContainerInstanceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16923	return nil, false
16924}
16925
16926// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16927func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16928	return nil, false
16929}
16930
16931// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16932func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16933	return nil, false
16934}
16935
16936// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16937func (cie ContainerInstanceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16938	return nil, false
16939}
16940
16941// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16942func (cie ContainerInstanceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16943	return nil, false
16944}
16945
16946// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16947func (cie ContainerInstanceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16948	return nil, false
16949}
16950
16951// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16952func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16953	return nil, false
16954}
16955
16956// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16957func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16958	return nil, false
16959}
16960
16961// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16962func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16963	return nil, false
16964}
16965
16966// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16967func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16968	return nil, false
16969}
16970
16971// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16972func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16973	return nil, false
16974}
16975
16976// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16977func (cie ContainerInstanceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16978	return nil, false
16979}
16980
16981// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16982func (cie ContainerInstanceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16983	return nil, false
16984}
16985
16986// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16987func (cie ContainerInstanceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16988	return nil, false
16989}
16990
16991// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16992func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16993	return nil, false
16994}
16995
16996// AsFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16997func (cie ContainerInstanceEvent) AsFabricEvent() (*FabricEvent, bool) {
16998	return nil, false
16999}
17000
17001// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
17002func (cie ContainerInstanceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17003	return &cie, true
17004}
17005
17006// ContainerInstanceView runtime information of a container instance.
17007type ContainerInstanceView struct {
17008	// RestartCount - The number of times the container has been restarted.
17009	RestartCount *int32 `json:"restartCount,omitempty"`
17010	// CurrentState - Current container instance state.
17011	CurrentState *ContainerState `json:"currentState,omitempty"`
17012	// PreviousState - Previous container instance state.
17013	PreviousState *ContainerState `json:"previousState,omitempty"`
17014	// Events - The events of this container instance.
17015	Events *[]ContainerEvent `json:"events,omitempty"`
17016}
17017
17018// ContainerLabel describes a container label.
17019type ContainerLabel struct {
17020	// Name - The name of the container label.
17021	Name *string `json:"name,omitempty"`
17022	// Value - The value of the container label.
17023	Value *string `json:"value,omitempty"`
17024}
17025
17026// ContainerLogs container logs.
17027type ContainerLogs struct {
17028	autorest.Response `json:"-"`
17029	// Content - Container logs.
17030	Content *string `json:"Content,omitempty"`
17031}
17032
17033// ContainerState the container state.
17034type ContainerState struct {
17035	// State - The state of this container
17036	State *string `json:"state,omitempty"`
17037	// StartTime - Date/time when the container state started.
17038	StartTime *date.Time `json:"startTime,omitempty"`
17039	// ExitCode - The container exit code.
17040	ExitCode *string `json:"exitCode,omitempty"`
17041	// FinishTime - Date/time when the container state finished.
17042	FinishTime *date.Time `json:"finishTime,omitempty"`
17043	// DetailStatus - Human-readable status of this state.
17044	DetailStatus *string `json:"detailStatus,omitempty"`
17045}
17046
17047// ContainerVolume describes how a volume is attached to a container.
17048type ContainerVolume struct {
17049	// Name - Name of the volume.
17050	Name *string `json:"name,omitempty"`
17051	// ReadOnly - The flag indicating whether the volume is read only. Default is 'false'.
17052	ReadOnly *bool `json:"readOnly,omitempty"`
17053	// DestinationPath - The path within the container at which the volume should be mounted. Only valid path characters are allowed.
17054	DestinationPath *string `json:"destinationPath,omitempty"`
17055}
17056
17057// CreateComposeDeploymentDescription defines description for creating a Service Fabric compose deployment.
17058type CreateComposeDeploymentDescription struct {
17059	// DeploymentName - The name of the deployment.
17060	DeploymentName *string `json:"DeploymentName,omitempty"`
17061	// ComposeFileContent - The content of the compose file that describes the deployment to create.
17062	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
17063	// RegistryCredential - Credential information to connect to container registry.
17064	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
17065}
17066
17067// CurrentUpgradeDomainProgressInfo information about the current in-progress upgrade domain.
17068type CurrentUpgradeDomainProgressInfo struct {
17069	// DomainName - The name of the upgrade domain
17070	DomainName *string `json:"DomainName,omitempty"`
17071	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
17072	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
17073}
17074
17075// DeactivationIntentDescription describes the intent or reason for deactivating the node.
17076type DeactivationIntentDescription struct {
17077	// DeactivationIntent - Describes the intent or reason for deactivating the node. The possible values are following. Possible values include: 'Pause', 'Restart', 'RemoveData'
17078	DeactivationIntent DeactivationIntent `json:"DeactivationIntent,omitempty"`
17079}
17080
17081// DeletePropertyBatchOperation represents a PropertyBatchOperation that deletes a specified property if it
17082// exists.
17083// Note that if one PropertyBatchOperation in a PropertyBatch fails,
17084// the entire batch fails and cannot be committed in a transactional manner.
17085type DeletePropertyBatchOperation struct {
17086	// PropertyName - The name of the Service Fabric property.
17087	PropertyName *string `json:"PropertyName,omitempty"`
17088	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
17089	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
17090}
17091
17092// MarshalJSON is the custom marshaler for DeletePropertyBatchOperation.
17093func (dpbo DeletePropertyBatchOperation) MarshalJSON() ([]byte, error) {
17094	dpbo.Kind = KindDelete
17095	objectMap := make(map[string]interface{})
17096	if dpbo.PropertyName != nil {
17097		objectMap["PropertyName"] = dpbo.PropertyName
17098	}
17099	if dpbo.Kind != "" {
17100		objectMap["Kind"] = dpbo.Kind
17101	}
17102	return json.Marshal(objectMap)
17103}
17104
17105// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17106func (dpbo DeletePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
17107	return nil, false
17108}
17109
17110// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17111func (dpbo DeletePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
17112	return nil, false
17113}
17114
17115// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17116func (dpbo DeletePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
17117	return nil, false
17118}
17119
17120// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17121func (dpbo DeletePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
17122	return &dpbo, true
17123}
17124
17125// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17126func (dpbo DeletePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
17127	return nil, false
17128}
17129
17130// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17131func (dpbo DeletePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
17132	return nil, false
17133}
17134
17135// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17136func (dpbo DeletePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
17137	return nil, false
17138}
17139
17140// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
17141func (dpbo DeletePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
17142	return &dpbo, true
17143}
17144
17145// DeltaNodesCheckHealthEvaluation represents health evaluation for delta nodes, containing health
17146// evaluations for each unhealthy node that impacted current aggregated health state.
17147// Can be returned during cluster upgrade when the aggregated health state of the cluster is Warning or
17148// Error.
17149type DeltaNodesCheckHealthEvaluation struct {
17150	// BaselineErrorCount - Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
17151	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
17152	// BaselineTotalCount - Total number of nodes in the health store at the beginning of the cluster upgrade.
17153	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
17154	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
17155	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
17156	// TotalCount - Total number of nodes in the health store.
17157	TotalCount *int64 `json:"TotalCount,omitempty"`
17158	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state.
17159	// Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
17160	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
17161	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
17162	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
17163	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
17164	Description *string `json:"Description,omitempty"`
17165	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
17166	Kind Kind `json:"Kind,omitempty"`
17167}
17168
17169// MarshalJSON is the custom marshaler for DeltaNodesCheckHealthEvaluation.
17170func (dnche DeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
17171	dnche.Kind = KindDeltaNodesCheck
17172	objectMap := make(map[string]interface{})
17173	if dnche.BaselineErrorCount != nil {
17174		objectMap["BaselineErrorCount"] = dnche.BaselineErrorCount
17175	}
17176	if dnche.BaselineTotalCount != nil {
17177		objectMap["BaselineTotalCount"] = dnche.BaselineTotalCount
17178	}
17179	if dnche.MaxPercentDeltaUnhealthyNodes != nil {
17180		objectMap["MaxPercentDeltaUnhealthyNodes"] = dnche.MaxPercentDeltaUnhealthyNodes
17181	}
17182	if dnche.TotalCount != nil {
17183		objectMap["TotalCount"] = dnche.TotalCount
17184	}
17185	if dnche.UnhealthyEvaluations != nil {
17186		objectMap["UnhealthyEvaluations"] = dnche.UnhealthyEvaluations
17187	}
17188	if dnche.AggregatedHealthState != "" {
17189		objectMap["AggregatedHealthState"] = dnche.AggregatedHealthState
17190	}
17191	if dnche.Description != nil {
17192		objectMap["Description"] = dnche.Description
17193	}
17194	if dnche.Kind != "" {
17195		objectMap["Kind"] = dnche.Kind
17196	}
17197	return json.Marshal(objectMap)
17198}
17199
17200// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17201func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
17202	return nil, false
17203}
17204
17205// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17206func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
17207	return nil, false
17208}
17209
17210// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17211func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
17212	return nil, false
17213}
17214
17215// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17216func (dnche DeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
17217	return &dnche, true
17218}
17219
17220// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17221func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
17222	return nil, false
17223}
17224
17225// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17226func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
17227	return nil, false
17228}
17229
17230// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17231func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
17232	return nil, false
17233}
17234
17235// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17236func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
17237	return nil, false
17238}
17239
17240// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17241func (dnche DeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
17242	return nil, false
17243}
17244
17245// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17246func (dnche DeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
17247	return nil, false
17248}
17249
17250// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17251func (dnche DeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
17252	return nil, false
17253}
17254
17255// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17256func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
17257	return nil, false
17258}
17259
17260// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17261func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
17262	return nil, false
17263}
17264
17265// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17266func (dnche DeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
17267	return nil, false
17268}
17269
17270// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17271func (dnche DeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
17272	return nil, false
17273}
17274
17275// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17276func (dnche DeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
17277	return nil, false
17278}
17279
17280// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17281func (dnche DeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
17282	return nil, false
17283}
17284
17285// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17286func (dnche DeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
17287	return nil, false
17288}
17289
17290// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17291func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
17292	return nil, false
17293}
17294
17295// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17296func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
17297	return nil, false
17298}
17299
17300// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17301func (dnche DeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
17302	return nil, false
17303}
17304
17305// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17306func (dnche DeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
17307	return &dnche, true
17308}
17309
17310// DeployedApplicationHealth information about the health of an application deployed on a Service Fabric
17311// node.
17312type DeployedApplicationHealth struct {
17313	autorest.Response `json:"-"`
17314	// Name - Name of the application deployed on the node whose health information is described by this object.
17315	Name *string `json:"Name,omitempty"`
17316	// NodeName - Name of the node where this application is deployed.
17317	NodeName *string `json:"NodeName,omitempty"`
17318	// DeployedServicePackageHealthStates - Deployed service package health states for the current deployed application as found in the health store.
17319	DeployedServicePackageHealthStates *[]DeployedServicePackageHealthState `json:"DeployedServicePackageHealthStates,omitempty"`
17320	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
17321	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
17322	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
17323	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
17324	// HealthEvents - The list of health events reported on the entity.
17325	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
17326	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
17327	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
17328	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
17329	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
17330}
17331
17332// DeployedApplicationHealthEvaluation represents health evaluation for a deployed application, containing
17333// information about the data and the algorithm used by the health store to evaluate health.
17334type DeployedApplicationHealthEvaluation struct {
17335	// NodeName - Name of the node where the application is deployed to.
17336	NodeName *string `json:"NodeName,omitempty"`
17337	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
17338	ApplicationName *string `json:"ApplicationName,omitempty"`
17339	// UnhealthyEvaluations - List of  unhealthy evaluations that led to the current aggregated health state of the deployed application.
17340	// The types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation.
17341	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
17342	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
17343	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
17344	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
17345	Description *string `json:"Description,omitempty"`
17346	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
17347	Kind Kind `json:"Kind,omitempty"`
17348}
17349
17350// MarshalJSON is the custom marshaler for DeployedApplicationHealthEvaluation.
17351func (dahe DeployedApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
17352	dahe.Kind = KindDeployedApplication
17353	objectMap := make(map[string]interface{})
17354	if dahe.NodeName != nil {
17355		objectMap["NodeName"] = dahe.NodeName
17356	}
17357	if dahe.ApplicationName != nil {
17358		objectMap["ApplicationName"] = dahe.ApplicationName
17359	}
17360	if dahe.UnhealthyEvaluations != nil {
17361		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
17362	}
17363	if dahe.AggregatedHealthState != "" {
17364		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
17365	}
17366	if dahe.Description != nil {
17367		objectMap["Description"] = dahe.Description
17368	}
17369	if dahe.Kind != "" {
17370		objectMap["Kind"] = dahe.Kind
17371	}
17372	return json.Marshal(objectMap)
17373}
17374
17375// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17376func (dahe DeployedApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
17377	return nil, false
17378}
17379
17380// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17381func (dahe DeployedApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
17382	return nil, false
17383}
17384
17385// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17386func (dahe DeployedApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
17387	return nil, false
17388}
17389
17390// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17391func (dahe DeployedApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
17392	return nil, false
17393}
17394
17395// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17396func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
17397	return &dahe, true
17398}
17399
17400// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17401func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
17402	return nil, false
17403}
17404
17405// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17406func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
17407	return nil, false
17408}
17409
17410// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17411func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
17412	return nil, false
17413}
17414
17415// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17416func (dahe DeployedApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
17417	return nil, false
17418}
17419
17420// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17421func (dahe DeployedApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
17422	return nil, false
17423}
17424
17425// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17426func (dahe DeployedApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
17427	return nil, false
17428}
17429
17430// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17431func (dahe DeployedApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
17432	return nil, false
17433}
17434
17435// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17436func (dahe DeployedApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
17437	return nil, false
17438}
17439
17440// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17441func (dahe DeployedApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
17442	return nil, false
17443}
17444
17445// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17446func (dahe DeployedApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
17447	return nil, false
17448}
17449
17450// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17451func (dahe DeployedApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
17452	return nil, false
17453}
17454
17455// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17456func (dahe DeployedApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
17457	return nil, false
17458}
17459
17460// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17461func (dahe DeployedApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
17462	return nil, false
17463}
17464
17465// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17466func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
17467	return nil, false
17468}
17469
17470// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17471func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
17472	return nil, false
17473}
17474
17475// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17476func (dahe DeployedApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
17477	return nil, false
17478}
17479
17480// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17481func (dahe DeployedApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
17482	return &dahe, true
17483}
17484
17485// DeployedApplicationHealthReportCreatedEvent deployed Application Health Report Created event.
17486type DeployedApplicationHealthReportCreatedEvent struct {
17487	// ApplicationInstanceID - Id of Application instance.
17488	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
17489	// NodeName - The name of a Service Fabric node.
17490	NodeName *string `json:"NodeName,omitempty"`
17491	// SourceID - Id of report source.
17492	SourceID *string `json:"SourceId,omitempty"`
17493	// Property - Describes the property.
17494	Property *string `json:"Property,omitempty"`
17495	// HealthState - Describes the property health state.
17496	HealthState *string `json:"HealthState,omitempty"`
17497	// TimeToLiveMs - Time to live in milli-seconds.
17498	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
17499	// SequenceNumber - Sequence number of report.
17500	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
17501	// Description - Description of report.
17502	Description *string `json:"Description,omitempty"`
17503	// RemoveWhenExpired - Indicates the removal when it expires.
17504	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
17505	// SourceUtcTimestamp - Source time.
17506	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
17507	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
17508	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
17509	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
17510	ApplicationID *string `json:"ApplicationId,omitempty"`
17511	// EventInstanceID - The identifier for the FabricEvent instance.
17512	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17513	// TimeStamp - The time event was logged.
17514	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17515	// HasCorrelatedEvents - Shows there is existing related events available.
17516	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17517	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
17518	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17519}
17520
17521// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportCreatedEvent.
17522func (dahrce DeployedApplicationHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
17523	dahrce.Kind = KindDeployedApplicationHealthReportCreated
17524	objectMap := make(map[string]interface{})
17525	if dahrce.ApplicationInstanceID != nil {
17526		objectMap["ApplicationInstanceId"] = dahrce.ApplicationInstanceID
17527	}
17528	if dahrce.NodeName != nil {
17529		objectMap["NodeName"] = dahrce.NodeName
17530	}
17531	if dahrce.SourceID != nil {
17532		objectMap["SourceId"] = dahrce.SourceID
17533	}
17534	if dahrce.Property != nil {
17535		objectMap["Property"] = dahrce.Property
17536	}
17537	if dahrce.HealthState != nil {
17538		objectMap["HealthState"] = dahrce.HealthState
17539	}
17540	if dahrce.TimeToLiveMs != nil {
17541		objectMap["TimeToLiveMs"] = dahrce.TimeToLiveMs
17542	}
17543	if dahrce.SequenceNumber != nil {
17544		objectMap["SequenceNumber"] = dahrce.SequenceNumber
17545	}
17546	if dahrce.Description != nil {
17547		objectMap["Description"] = dahrce.Description
17548	}
17549	if dahrce.RemoveWhenExpired != nil {
17550		objectMap["RemoveWhenExpired"] = dahrce.RemoveWhenExpired
17551	}
17552	if dahrce.SourceUtcTimestamp != nil {
17553		objectMap["SourceUtcTimestamp"] = dahrce.SourceUtcTimestamp
17554	}
17555	if dahrce.ApplicationID != nil {
17556		objectMap["ApplicationId"] = dahrce.ApplicationID
17557	}
17558	if dahrce.EventInstanceID != nil {
17559		objectMap["EventInstanceId"] = dahrce.EventInstanceID
17560	}
17561	if dahrce.TimeStamp != nil {
17562		objectMap["TimeStamp"] = dahrce.TimeStamp
17563	}
17564	if dahrce.HasCorrelatedEvents != nil {
17565		objectMap["HasCorrelatedEvents"] = dahrce.HasCorrelatedEvents
17566	}
17567	if dahrce.Kind != "" {
17568		objectMap["Kind"] = dahrce.Kind
17569	}
17570	return json.Marshal(objectMap)
17571}
17572
17573// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17574func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
17575	return nil, false
17576}
17577
17578// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17579func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
17580	return &dahrce, true
17581}
17582
17583// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17584func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
17585	return nil, false
17586}
17587
17588// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17589func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
17590	return nil, false
17591}
17592
17593// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17594func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
17595	return nil, false
17596}
17597
17598// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17599func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
17600	return nil, false
17601}
17602
17603// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17604func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
17605	return nil, false
17606}
17607
17608// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17609func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
17610	return nil, false
17611}
17612
17613// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17614func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
17615	return nil, false
17616}
17617
17618// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17619func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
17620	return nil, false
17621}
17622
17623// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17624func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
17625	return nil, false
17626}
17627
17628// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17629func (dahrce DeployedApplicationHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
17630	return nil, false
17631}
17632
17633// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17634func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
17635	return nil, false
17636}
17637
17638// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17639func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
17640	return nil, false
17641}
17642
17643// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17644func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
17645	return nil, false
17646}
17647
17648// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17649func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
17650	return nil, false
17651}
17652
17653// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17654func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
17655	return nil, false
17656}
17657
17658// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17659func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
17660	return nil, false
17661}
17662
17663// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17664func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
17665	return nil, false
17666}
17667
17668// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17669func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
17670	return nil, false
17671}
17672
17673// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17674func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
17675	return nil, false
17676}
17677
17678// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17679func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
17680	return nil, false
17681}
17682
17683// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17684func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
17685	return nil, false
17686}
17687
17688// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17689func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
17690	return nil, false
17691}
17692
17693// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17694func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
17695	return &dahrce, true
17696}
17697
17698// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17699func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
17700	return nil, false
17701}
17702
17703// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17704func (dahrce DeployedApplicationHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
17705	return nil, false
17706}
17707
17708// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17709func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
17710	return nil, false
17711}
17712
17713// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17714func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17715	return nil, false
17716}
17717
17718// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17719func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17720	return nil, false
17721}
17722
17723// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17724func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17725	return nil, false
17726}
17727
17728// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17729func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17730	return nil, false
17731}
17732
17733// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17734func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17735	return nil, false
17736}
17737
17738// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17739func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17740	return nil, false
17741}
17742
17743// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17744func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17745	return nil, false
17746}
17747
17748// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17749func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17750	return nil, false
17751}
17752
17753// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17754func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
17755	return nil, false
17756}
17757
17758// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17759func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
17760	return nil, false
17761}
17762
17763// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17764func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
17765	return nil, false
17766}
17767
17768// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17769func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
17770	return nil, false
17771}
17772
17773// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17774func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
17775	return nil, false
17776}
17777
17778// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17779func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
17780	return nil, false
17781}
17782
17783// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17784func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
17785	return nil, false
17786}
17787
17788// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17789func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
17790	return nil, false
17791}
17792
17793// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17794func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
17795	return nil, false
17796}
17797
17798// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17799func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
17800	return nil, false
17801}
17802
17803// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17804func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
17805	return nil, false
17806}
17807
17808// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17809func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
17810	return nil, false
17811}
17812
17813// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17814func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
17815	return nil, false
17816}
17817
17818// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17819func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
17820	return nil, false
17821}
17822
17823// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17824func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
17825	return nil, false
17826}
17827
17828// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17829func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
17830	return nil, false
17831}
17832
17833// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17834func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
17835	return nil, false
17836}
17837
17838// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17839func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
17840	return nil, false
17841}
17842
17843// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17844func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
17845	return nil, false
17846}
17847
17848// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17849func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
17850	return nil, false
17851}
17852
17853// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17854func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
17855	return nil, false
17856}
17857
17858// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17859func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
17860	return nil, false
17861}
17862
17863// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17864func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
17865	return nil, false
17866}
17867
17868// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17869func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
17870	return nil, false
17871}
17872
17873// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17874func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
17875	return nil, false
17876}
17877
17878// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17879func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
17880	return nil, false
17881}
17882
17883// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17884func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
17885	return nil, false
17886}
17887
17888// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17889func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
17890	return nil, false
17891}
17892
17893// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17894func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
17895	return nil, false
17896}
17897
17898// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17899func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
17900	return nil, false
17901}
17902
17903// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17904func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
17905	return nil, false
17906}
17907
17908// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17909func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
17910	return nil, false
17911}
17912
17913// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17914func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
17915	return nil, false
17916}
17917
17918// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17919func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
17920	return nil, false
17921}
17922
17923// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17924func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
17925	return nil, false
17926}
17927
17928// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17929func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
17930	return nil, false
17931}
17932
17933// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17934func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
17935	return nil, false
17936}
17937
17938// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17939func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
17940	return nil, false
17941}
17942
17943// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17944func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
17945	return nil, false
17946}
17947
17948// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17949func (dahrce DeployedApplicationHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
17950	return nil, false
17951}
17952
17953// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17954func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17955	return &dahrce, true
17956}
17957
17958// DeployedApplicationHealthReportExpiredEvent deployed Application Health Report Expired event.
17959type DeployedApplicationHealthReportExpiredEvent struct {
17960	// ApplicationInstanceID - Id of Application instance.
17961	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
17962	// NodeName - The name of a Service Fabric node.
17963	NodeName *string `json:"NodeName,omitempty"`
17964	// SourceID - Id of report source.
17965	SourceID *string `json:"SourceId,omitempty"`
17966	// Property - Describes the property.
17967	Property *string `json:"Property,omitempty"`
17968	// HealthState - Describes the property health state.
17969	HealthState *string `json:"HealthState,omitempty"`
17970	// TimeToLiveMs - Time to live in milli-seconds.
17971	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
17972	// SequenceNumber - Sequence number of report.
17973	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
17974	// Description - Description of report.
17975	Description *string `json:"Description,omitempty"`
17976	// RemoveWhenExpired - Indicates the removal when it expires.
17977	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
17978	// SourceUtcTimestamp - Source time.
17979	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
17980	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
17981	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
17982	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
17983	ApplicationID *string `json:"ApplicationId,omitempty"`
17984	// EventInstanceID - The identifier for the FabricEvent instance.
17985	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17986	// TimeStamp - The time event was logged.
17987	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17988	// HasCorrelatedEvents - Shows there is existing related events available.
17989	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17990	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
17991	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17992}
17993
17994// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportExpiredEvent.
17995func (dahree DeployedApplicationHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
17996	dahree.Kind = KindDeployedApplicationHealthReportExpired
17997	objectMap := make(map[string]interface{})
17998	if dahree.ApplicationInstanceID != nil {
17999		objectMap["ApplicationInstanceId"] = dahree.ApplicationInstanceID
18000	}
18001	if dahree.NodeName != nil {
18002		objectMap["NodeName"] = dahree.NodeName
18003	}
18004	if dahree.SourceID != nil {
18005		objectMap["SourceId"] = dahree.SourceID
18006	}
18007	if dahree.Property != nil {
18008		objectMap["Property"] = dahree.Property
18009	}
18010	if dahree.HealthState != nil {
18011		objectMap["HealthState"] = dahree.HealthState
18012	}
18013	if dahree.TimeToLiveMs != nil {
18014		objectMap["TimeToLiveMs"] = dahree.TimeToLiveMs
18015	}
18016	if dahree.SequenceNumber != nil {
18017		objectMap["SequenceNumber"] = dahree.SequenceNumber
18018	}
18019	if dahree.Description != nil {
18020		objectMap["Description"] = dahree.Description
18021	}
18022	if dahree.RemoveWhenExpired != nil {
18023		objectMap["RemoveWhenExpired"] = dahree.RemoveWhenExpired
18024	}
18025	if dahree.SourceUtcTimestamp != nil {
18026		objectMap["SourceUtcTimestamp"] = dahree.SourceUtcTimestamp
18027	}
18028	if dahree.ApplicationID != nil {
18029		objectMap["ApplicationId"] = dahree.ApplicationID
18030	}
18031	if dahree.EventInstanceID != nil {
18032		objectMap["EventInstanceId"] = dahree.EventInstanceID
18033	}
18034	if dahree.TimeStamp != nil {
18035		objectMap["TimeStamp"] = dahree.TimeStamp
18036	}
18037	if dahree.HasCorrelatedEvents != nil {
18038		objectMap["HasCorrelatedEvents"] = dahree.HasCorrelatedEvents
18039	}
18040	if dahree.Kind != "" {
18041		objectMap["Kind"] = dahree.Kind
18042	}
18043	return json.Marshal(objectMap)
18044}
18045
18046// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18047func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
18048	return nil, false
18049}
18050
18051// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18052func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
18053	return &dahree, true
18054}
18055
18056// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18057func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
18058	return nil, false
18059}
18060
18061// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18062func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
18063	return nil, false
18064}
18065
18066// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18067func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
18068	return nil, false
18069}
18070
18071// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18072func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
18073	return nil, false
18074}
18075
18076// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18077func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
18078	return nil, false
18079}
18080
18081// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18082func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
18083	return nil, false
18084}
18085
18086// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18087func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
18088	return nil, false
18089}
18090
18091// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18092func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
18093	return nil, false
18094}
18095
18096// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18097func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
18098	return nil, false
18099}
18100
18101// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18102func (dahree DeployedApplicationHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
18103	return nil, false
18104}
18105
18106// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18107func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
18108	return nil, false
18109}
18110
18111// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18112func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
18113	return nil, false
18114}
18115
18116// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18117func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
18118	return nil, false
18119}
18120
18121// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18122func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
18123	return nil, false
18124}
18125
18126// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18127func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
18128	return nil, false
18129}
18130
18131// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18132func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
18133	return nil, false
18134}
18135
18136// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18137func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
18138	return nil, false
18139}
18140
18141// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18142func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
18143	return nil, false
18144}
18145
18146// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18147func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
18148	return nil, false
18149}
18150
18151// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18152func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
18153	return nil, false
18154}
18155
18156// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18157func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
18158	return nil, false
18159}
18160
18161// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18162func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
18163	return nil, false
18164}
18165
18166// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18167func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
18168	return nil, false
18169}
18170
18171// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18172func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
18173	return &dahree, true
18174}
18175
18176// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18177func (dahree DeployedApplicationHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
18178	return nil, false
18179}
18180
18181// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18182func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
18183	return nil, false
18184}
18185
18186// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18187func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
18188	return nil, false
18189}
18190
18191// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18192func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
18193	return nil, false
18194}
18195
18196// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18197func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
18198	return nil, false
18199}
18200
18201// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18202func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
18203	return nil, false
18204}
18205
18206// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18207func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
18208	return nil, false
18209}
18210
18211// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18212func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
18213	return nil, false
18214}
18215
18216// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18217func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
18218	return nil, false
18219}
18220
18221// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18222func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
18223	return nil, false
18224}
18225
18226// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18227func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18228	return nil, false
18229}
18230
18231// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18232func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18233	return nil, false
18234}
18235
18236// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18237func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18238	return nil, false
18239}
18240
18241// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18242func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18243	return nil, false
18244}
18245
18246// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18247func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18248	return nil, false
18249}
18250
18251// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18252func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18253	return nil, false
18254}
18255
18256// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18257func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18258	return nil, false
18259}
18260
18261// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18262func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18263	return nil, false
18264}
18265
18266// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18267func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18268	return nil, false
18269}
18270
18271// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18272func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18273	return nil, false
18274}
18275
18276// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18277func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18278	return nil, false
18279}
18280
18281// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18282func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18283	return nil, false
18284}
18285
18286// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18287func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18288	return nil, false
18289}
18290
18291// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18292func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18293	return nil, false
18294}
18295
18296// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18297func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18298	return nil, false
18299}
18300
18301// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18302func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18303	return nil, false
18304}
18305
18306// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18307func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18308	return nil, false
18309}
18310
18311// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18312func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18313	return nil, false
18314}
18315
18316// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18317func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18318	return nil, false
18319}
18320
18321// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18322func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18323	return nil, false
18324}
18325
18326// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18327func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18328	return nil, false
18329}
18330
18331// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18332func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18333	return nil, false
18334}
18335
18336// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18337func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18338	return nil, false
18339}
18340
18341// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18342func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18343	return nil, false
18344}
18345
18346// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18347func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18348	return nil, false
18349}
18350
18351// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18352func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18353	return nil, false
18354}
18355
18356// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18357func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18358	return nil, false
18359}
18360
18361// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18362func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18363	return nil, false
18364}
18365
18366// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18367func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18368	return nil, false
18369}
18370
18371// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18372func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
18373	return nil, false
18374}
18375
18376// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18377func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
18378	return nil, false
18379}
18380
18381// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18382func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
18383	return nil, false
18384}
18385
18386// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18387func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
18388	return nil, false
18389}
18390
18391// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18392func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
18393	return nil, false
18394}
18395
18396// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18397func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
18398	return nil, false
18399}
18400
18401// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18402func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
18403	return nil, false
18404}
18405
18406// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18407func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
18408	return nil, false
18409}
18410
18411// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18412func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
18413	return nil, false
18414}
18415
18416// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18417func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
18418	return nil, false
18419}
18420
18421// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18422func (dahree DeployedApplicationHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
18423	return nil, false
18424}
18425
18426// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18427func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
18428	return &dahree, true
18429}
18430
18431// DeployedApplicationHealthState represents the health state of a deployed application, which contains the
18432// entity identifier and the aggregated health state.
18433type DeployedApplicationHealthState struct {
18434	// NodeName - Name of the node on which the service package is deployed.
18435	NodeName *string `json:"NodeName,omitempty"`
18436	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
18437	ApplicationName *string `json:"ApplicationName,omitempty"`
18438	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
18439	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
18440}
18441
18442// DeployedApplicationHealthStateChunk represents the health state chunk of a deployed application, which
18443// contains the node where the application is deployed, the aggregated health state and any deployed
18444// service packages that respect the chunk query description filters.
18445type DeployedApplicationHealthStateChunk struct {
18446	// NodeName - The name of node where the application is deployed.
18447	NodeName *string `json:"NodeName,omitempty"`
18448	// DeployedServicePackageHealthStateChunks - The list of deployed service package health state chunks belonging to the deployed application that respect the filters in the cluster health chunk query description.
18449	DeployedServicePackageHealthStateChunks *DeployedServicePackageHealthStateChunkList `json:"DeployedServicePackageHealthStateChunks,omitempty"`
18450	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
18451	HealthState HealthState `json:"HealthState,omitempty"`
18452}
18453
18454// DeployedApplicationHealthStateChunkList the list of deployed application health state chunks that
18455// respect the input filters in the chunk query. Returned by get cluster health state chunks query.
18456type DeployedApplicationHealthStateChunkList struct {
18457	// Items - The list of deployed application health state chunks that respect the input filters in the chunk query.
18458	Items *[]DeployedApplicationHealthStateChunk `json:"Items,omitempty"`
18459}
18460
18461// DeployedApplicationHealthStateFilter defines matching criteria to determine whether a deployed
18462// application should be included as a child of an application in the cluster health chunk.
18463// The deployed applications are only returned if the parent application matches a filter specified in the
18464// cluster health chunk query description.
18465// One filter can match zero, one or multiple deployed applications, depending on its properties.
18466type DeployedApplicationHealthStateFilter struct {
18467	// NodeNameFilter - The name of the node where the application is deployed in order to match the filter.
18468	// If specified, the filter is applied only to the application deployed on the specified node.
18469	// If the application is not deployed on the node with the specified name, no deployed application is returned in the cluster health chunk based on this filter.
18470	// Otherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.
18471	// If not specified, all deployed applications that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter.
18472	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
18473	// HealthStateFilter - The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.
18474	// The possible values are integer value of one of the following health states. Only deployed applications that match the filter are returned. All deployed applications are used to evaluate the cluster aggregated health state.
18475	// If not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching deployed application is returned.
18476	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
18477	// For example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).
18478	// - Default - Default value. Matches any HealthState. The value is zero.
18479	// - None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
18480	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
18481	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
18482	// - Error - Filter that matches input with HealthState value Error. The value is 8.
18483	// - All - Filter that matches input with any HealthState value. The value is 65535.
18484	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
18485	// DeployedServicePackageFilters - Defines a list of filters that specify which deployed service packages to be included in the returned cluster health chunk as children of the parent deployed application. The deployed service packages are returned only if the parent deployed application matches a filter.
18486	// If the list is empty, no deployed service packages are returned. All the deployed service packages are used to evaluate the parent deployed application aggregated health state, regardless of the input filters.
18487	// The deployed application filter may specify multiple deployed service package filters.
18488	// For example, it can specify a filter to return all deployed service packages with health state Error and another filter to always include a deployed service package on a node.
18489	DeployedServicePackageFilters *[]DeployedServicePackageHealthStateFilter `json:"DeployedServicePackageFilters,omitempty"`
18490}
18491
18492// DeployedApplicationInfo information about application deployed on the node.
18493type DeployedApplicationInfo struct {
18494	autorest.Response `json:"-"`
18495	// ID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
18496	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
18497	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
18498	ID *string `json:"Id,omitempty"`
18499	// Name - The name of the application, including the 'fabric:' URI scheme.
18500	Name *string `json:"Name,omitempty"`
18501	// TypeName - The application type name as defined in the application manifest.
18502	TypeName *string `json:"TypeName,omitempty"`
18503	// Status - The status of the application deployed on the node. Following are the possible values. Possible values include: 'DeployedApplicationStatusInvalid', 'DeployedApplicationStatusDownloading', 'DeployedApplicationStatusActivating', 'DeployedApplicationStatusActive', 'DeployedApplicationStatusUpgrading', 'DeployedApplicationStatusDeactivating'
18504	Status DeployedApplicationStatus `json:"Status,omitempty"`
18505	// WorkDirectory - The work directory of the application on the node. The work directory can be used to store application data.
18506	WorkDirectory *string `json:"WorkDirectory,omitempty"`
18507	// LogDirectory - The log directory of the application on the node. The log directory can be used to store application logs.
18508	LogDirectory *string `json:"LogDirectory,omitempty"`
18509	// TempDirectory - The temp directory of the application on the node. The code packages belonging to the application are forked with this directory set as their temporary directory.
18510	TempDirectory *string `json:"TempDirectory,omitempty"`
18511	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
18512	HealthState HealthState `json:"HealthState,omitempty"`
18513}
18514
18515// DeployedApplicationsHealthEvaluation represents health evaluation for deployed applications, containing
18516// health evaluations for each unhealthy deployed application that impacted current aggregated health
18517// state.
18518// Can be returned when evaluating application health and the aggregated health state is either Error or
18519// Warning.
18520type DeployedApplicationsHealthEvaluation struct {
18521	// MaxPercentUnhealthyDeployedApplications - Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy.
18522	MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"`
18523	// TotalCount - Total number of deployed applications of the application in the health store.
18524	TotalCount *int64 `json:"TotalCount,omitempty"`
18525	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health.
18526	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
18527	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
18528	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
18529	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
18530	Description *string `json:"Description,omitempty"`
18531	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
18532	Kind Kind `json:"Kind,omitempty"`
18533}
18534
18535// MarshalJSON is the custom marshaler for DeployedApplicationsHealthEvaluation.
18536func (dahe DeployedApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
18537	dahe.Kind = KindDeployedApplications
18538	objectMap := make(map[string]interface{})
18539	if dahe.MaxPercentUnhealthyDeployedApplications != nil {
18540		objectMap["MaxPercentUnhealthyDeployedApplications"] = dahe.MaxPercentUnhealthyDeployedApplications
18541	}
18542	if dahe.TotalCount != nil {
18543		objectMap["TotalCount"] = dahe.TotalCount
18544	}
18545	if dahe.UnhealthyEvaluations != nil {
18546		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
18547	}
18548	if dahe.AggregatedHealthState != "" {
18549		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
18550	}
18551	if dahe.Description != nil {
18552		objectMap["Description"] = dahe.Description
18553	}
18554	if dahe.Kind != "" {
18555		objectMap["Kind"] = dahe.Kind
18556	}
18557	return json.Marshal(objectMap)
18558}
18559
18560// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18561func (dahe DeployedApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
18562	return nil, false
18563}
18564
18565// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18566func (dahe DeployedApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
18567	return nil, false
18568}
18569
18570// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18571func (dahe DeployedApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
18572	return nil, false
18573}
18574
18575// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18576func (dahe DeployedApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
18577	return nil, false
18578}
18579
18580// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18581func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
18582	return nil, false
18583}
18584
18585// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18586func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
18587	return &dahe, true
18588}
18589
18590// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18591func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
18592	return nil, false
18593}
18594
18595// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18596func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
18597	return nil, false
18598}
18599
18600// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18601func (dahe DeployedApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
18602	return nil, false
18603}
18604
18605// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18606func (dahe DeployedApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
18607	return nil, false
18608}
18609
18610// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18611func (dahe DeployedApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
18612	return nil, false
18613}
18614
18615// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18616func (dahe DeployedApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
18617	return nil, false
18618}
18619
18620// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18621func (dahe DeployedApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
18622	return nil, false
18623}
18624
18625// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18626func (dahe DeployedApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
18627	return nil, false
18628}
18629
18630// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18631func (dahe DeployedApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
18632	return nil, false
18633}
18634
18635// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18636func (dahe DeployedApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
18637	return nil, false
18638}
18639
18640// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18641func (dahe DeployedApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
18642	return nil, false
18643}
18644
18645// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18646func (dahe DeployedApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
18647	return nil, false
18648}
18649
18650// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18651func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
18652	return nil, false
18653}
18654
18655// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18656func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
18657	return nil, false
18658}
18659
18660// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18661func (dahe DeployedApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
18662	return nil, false
18663}
18664
18665// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18666func (dahe DeployedApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
18667	return &dahe, true
18668}
18669
18670// DeployedCodePackageInfo information about code package deployed on a Service Fabric node.
18671type DeployedCodePackageInfo struct {
18672	// Name - The name of the code package.
18673	Name *string `json:"Name,omitempty"`
18674	// Version - The version of the code package specified in service manifest.
18675	Version *string `json:"Version,omitempty"`
18676	// ServiceManifestName - The name of service manifest that specified this code package.
18677	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
18678	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
18679	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
18680	// is always an empty string.
18681	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
18682	// HostType - Specifies the type of host for main entry point of a code package as specified in service manifest. Possible values include: 'HostTypeInvalid', 'HostTypeExeHost', 'HostTypeContainerHost'
18683	HostType HostType `json:"HostType,omitempty"`
18684	// HostIsolationMode - Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest. Possible values include: 'HostIsolationModeNone', 'HostIsolationModeProcess', 'HostIsolationModeHyperV'
18685	HostIsolationMode HostIsolationMode `json:"HostIsolationMode,omitempty"`
18686	// Status - Specifies the status of a deployed application or service package on a Service Fabric node. Possible values include: 'DeploymentStatusInvalid', 'DeploymentStatusDownloading', 'DeploymentStatusActivating', 'DeploymentStatusActive', 'DeploymentStatusUpgrading', 'DeploymentStatusDeactivating'
18687	Status DeploymentStatus `json:"Status,omitempty"`
18688	// RunFrequencyInterval - The interval at which code package is run. This is used for periodic code package.
18689	RunFrequencyInterval *string `json:"RunFrequencyInterval,omitempty"`
18690	// SetupEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
18691	SetupEntryPoint *CodePackageEntryPoint `json:"SetupEntryPoint,omitempty"`
18692	// MainEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
18693	MainEntryPoint *CodePackageEntryPoint `json:"MainEntryPoint,omitempty"`
18694}
18695
18696// DeployedServiceHealthReportCreatedEvent deployed Service Health Report Created event.
18697type DeployedServiceHealthReportCreatedEvent struct {
18698	// ServiceManifestName - Service manifest name.
18699	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
18700	// ServicePackageInstanceID - Id of Service package instance.
18701	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
18702	// ServicePackageActivationID - Id of Service package activation.
18703	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
18704	// NodeName - The name of a Service Fabric node.
18705	NodeName *string `json:"NodeName,omitempty"`
18706	// SourceID - Id of report source.
18707	SourceID *string `json:"SourceId,omitempty"`
18708	// Property - Describes the property.
18709	Property *string `json:"Property,omitempty"`
18710	// HealthState - Describes the property health state.
18711	HealthState *string `json:"HealthState,omitempty"`
18712	// TTLTimespan - Time to live in milli-seconds.
18713	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
18714	// SequenceNumber - Sequence number of report.
18715	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
18716	// Description - Description of report.
18717	Description *string `json:"Description,omitempty"`
18718	// RemoveWhenExpired - Indicates the removal when it expires.
18719	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
18720	// SourceUtcTimestamp - Source time.
18721	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
18722	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
18723	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
18724	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
18725	ApplicationID *string `json:"ApplicationId,omitempty"`
18726	// EventInstanceID - The identifier for the FabricEvent instance.
18727	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
18728	// TimeStamp - The time event was logged.
18729	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
18730	// HasCorrelatedEvents - Shows there is existing related events available.
18731	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
18732	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
18733	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
18734}
18735
18736// MarshalJSON is the custom marshaler for DeployedServiceHealthReportCreatedEvent.
18737func (dshrce DeployedServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
18738	dshrce.Kind = KindDeployedServiceHealthReportCreated
18739	objectMap := make(map[string]interface{})
18740	if dshrce.ServiceManifestName != nil {
18741		objectMap["ServiceManifestName"] = dshrce.ServiceManifestName
18742	}
18743	if dshrce.ServicePackageInstanceID != nil {
18744		objectMap["ServicePackageInstanceId"] = dshrce.ServicePackageInstanceID
18745	}
18746	if dshrce.ServicePackageActivationID != nil {
18747		objectMap["ServicePackageActivationId"] = dshrce.ServicePackageActivationID
18748	}
18749	if dshrce.NodeName != nil {
18750		objectMap["NodeName"] = dshrce.NodeName
18751	}
18752	if dshrce.SourceID != nil {
18753		objectMap["SourceId"] = dshrce.SourceID
18754	}
18755	if dshrce.Property != nil {
18756		objectMap["Property"] = dshrce.Property
18757	}
18758	if dshrce.HealthState != nil {
18759		objectMap["HealthState"] = dshrce.HealthState
18760	}
18761	if dshrce.TTLTimespan != nil {
18762		objectMap["TTLTimespan"] = dshrce.TTLTimespan
18763	}
18764	if dshrce.SequenceNumber != nil {
18765		objectMap["SequenceNumber"] = dshrce.SequenceNumber
18766	}
18767	if dshrce.Description != nil {
18768		objectMap["Description"] = dshrce.Description
18769	}
18770	if dshrce.RemoveWhenExpired != nil {
18771		objectMap["RemoveWhenExpired"] = dshrce.RemoveWhenExpired
18772	}
18773	if dshrce.SourceUtcTimestamp != nil {
18774		objectMap["SourceUtcTimestamp"] = dshrce.SourceUtcTimestamp
18775	}
18776	if dshrce.ApplicationID != nil {
18777		objectMap["ApplicationId"] = dshrce.ApplicationID
18778	}
18779	if dshrce.EventInstanceID != nil {
18780		objectMap["EventInstanceId"] = dshrce.EventInstanceID
18781	}
18782	if dshrce.TimeStamp != nil {
18783		objectMap["TimeStamp"] = dshrce.TimeStamp
18784	}
18785	if dshrce.HasCorrelatedEvents != nil {
18786		objectMap["HasCorrelatedEvents"] = dshrce.HasCorrelatedEvents
18787	}
18788	if dshrce.Kind != "" {
18789		objectMap["Kind"] = dshrce.Kind
18790	}
18791	return json.Marshal(objectMap)
18792}
18793
18794// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18795func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
18796	return nil, false
18797}
18798
18799// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18800func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
18801	return &dshrce, true
18802}
18803
18804// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18805func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
18806	return nil, false
18807}
18808
18809// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18810func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
18811	return nil, false
18812}
18813
18814// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18815func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
18816	return nil, false
18817}
18818
18819// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18820func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
18821	return nil, false
18822}
18823
18824// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18825func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
18826	return nil, false
18827}
18828
18829// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18830func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
18831	return nil, false
18832}
18833
18834// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18835func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
18836	return nil, false
18837}
18838
18839// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18840func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
18841	return nil, false
18842}
18843
18844// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18845func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
18846	return nil, false
18847}
18848
18849// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18850func (dshrce DeployedServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
18851	return nil, false
18852}
18853
18854// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18855func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
18856	return nil, false
18857}
18858
18859// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18860func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
18861	return nil, false
18862}
18863
18864// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18865func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
18866	return nil, false
18867}
18868
18869// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18870func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
18871	return nil, false
18872}
18873
18874// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18875func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
18876	return nil, false
18877}
18878
18879// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18880func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
18881	return nil, false
18882}
18883
18884// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18885func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
18886	return nil, false
18887}
18888
18889// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18890func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
18891	return nil, false
18892}
18893
18894// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18895func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
18896	return nil, false
18897}
18898
18899// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18900func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
18901	return nil, false
18902}
18903
18904// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18905func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
18906	return nil, false
18907}
18908
18909// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18910func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
18911	return nil, false
18912}
18913
18914// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18915func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
18916	return nil, false
18917}
18918
18919// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18920func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
18921	return nil, false
18922}
18923
18924// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18925func (dshrce DeployedServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
18926	return nil, false
18927}
18928
18929// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18930func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
18931	return nil, false
18932}
18933
18934// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18935func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
18936	return nil, false
18937}
18938
18939// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18940func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
18941	return nil, false
18942}
18943
18944// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18945func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
18946	return nil, false
18947}
18948
18949// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18950func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
18951	return nil, false
18952}
18953
18954// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18955func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
18956	return nil, false
18957}
18958
18959// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18960func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
18961	return nil, false
18962}
18963
18964// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18965func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
18966	return nil, false
18967}
18968
18969// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18970func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
18971	return nil, false
18972}
18973
18974// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18975func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18976	return nil, false
18977}
18978
18979// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18980func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18981	return nil, false
18982}
18983
18984// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18985func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18986	return nil, false
18987}
18988
18989// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18990func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18991	return nil, false
18992}
18993
18994// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18995func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18996	return nil, false
18997}
18998
18999// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19000func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
19001	return nil, false
19002}
19003
19004// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19005func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
19006	return nil, false
19007}
19008
19009// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19010func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
19011	return nil, false
19012}
19013
19014// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19015func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
19016	return nil, false
19017}
19018
19019// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19020func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
19021	return nil, false
19022}
19023
19024// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19025func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
19026	return nil, false
19027}
19028
19029// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19030func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
19031	return nil, false
19032}
19033
19034// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19035func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
19036	return nil, false
19037}
19038
19039// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19040func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
19041	return nil, false
19042}
19043
19044// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19045func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
19046	return nil, false
19047}
19048
19049// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19050func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
19051	return &dshrce, true
19052}
19053
19054// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19055func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
19056	return nil, false
19057}
19058
19059// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19060func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
19061	return nil, false
19062}
19063
19064// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19065func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
19066	return nil, false
19067}
19068
19069// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19070func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
19071	return nil, false
19072}
19073
19074// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19075func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
19076	return nil, false
19077}
19078
19079// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19080func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
19081	return nil, false
19082}
19083
19084// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19085func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
19086	return nil, false
19087}
19088
19089// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19090func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
19091	return nil, false
19092}
19093
19094// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19095func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
19096	return nil, false
19097}
19098
19099// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19100func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
19101	return nil, false
19102}
19103
19104// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19105func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
19106	return nil, false
19107}
19108
19109// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19110func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
19111	return nil, false
19112}
19113
19114// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19115func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
19116	return nil, false
19117}
19118
19119// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19120func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
19121	return nil, false
19122}
19123
19124// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19125func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
19126	return nil, false
19127}
19128
19129// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19130func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
19131	return nil, false
19132}
19133
19134// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19135func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
19136	return nil, false
19137}
19138
19139// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19140func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
19141	return nil, false
19142}
19143
19144// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19145func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
19146	return nil, false
19147}
19148
19149// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19150func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
19151	return nil, false
19152}
19153
19154// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19155func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
19156	return nil, false
19157}
19158
19159// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19160func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
19161	return nil, false
19162}
19163
19164// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19165func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
19166	return nil, false
19167}
19168
19169// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19170func (dshrce DeployedServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
19171	return nil, false
19172}
19173
19174// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
19175func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
19176	return &dshrce, true
19177}
19178
19179// DeployedServiceHealthReportExpiredEvent deployed Service Health Report Expired event.
19180type DeployedServiceHealthReportExpiredEvent struct {
19181	// ServiceManifest - Service manifest name.
19182	ServiceManifest *string `json:"ServiceManifest,omitempty"`
19183	// ServicePackageInstanceID - Id of Service package instance.
19184	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
19185	// ServicePackageActivationID - Id of Service package activation.
19186	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19187	// NodeName - The name of a Service Fabric node.
19188	NodeName *string `json:"NodeName,omitempty"`
19189	// SourceID - Id of report source.
19190	SourceID *string `json:"SourceId,omitempty"`
19191	// Property - Describes the property.
19192	Property *string `json:"Property,omitempty"`
19193	// HealthState - Describes the property health state.
19194	HealthState *string `json:"HealthState,omitempty"`
19195	// TTLTimespan - Time to live in milli-seconds.
19196	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
19197	// SequenceNumber - Sequence number of report.
19198	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
19199	// Description - Description of report.
19200	Description *string `json:"Description,omitempty"`
19201	// RemoveWhenExpired - Indicates the removal when it expires.
19202	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
19203	// SourceUtcTimestamp - Source time.
19204	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
19205	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
19206	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
19207	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
19208	ApplicationID *string `json:"ApplicationId,omitempty"`
19209	// EventInstanceID - The identifier for the FabricEvent instance.
19210	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
19211	// TimeStamp - The time event was logged.
19212	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
19213	// HasCorrelatedEvents - Shows there is existing related events available.
19214	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
19215	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
19216	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
19217}
19218
19219// MarshalJSON is the custom marshaler for DeployedServiceHealthReportExpiredEvent.
19220func (dshree DeployedServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
19221	dshree.Kind = KindDeployedServiceHealthReportExpired
19222	objectMap := make(map[string]interface{})
19223	if dshree.ServiceManifest != nil {
19224		objectMap["ServiceManifest"] = dshree.ServiceManifest
19225	}
19226	if dshree.ServicePackageInstanceID != nil {
19227		objectMap["ServicePackageInstanceId"] = dshree.ServicePackageInstanceID
19228	}
19229	if dshree.ServicePackageActivationID != nil {
19230		objectMap["ServicePackageActivationId"] = dshree.ServicePackageActivationID
19231	}
19232	if dshree.NodeName != nil {
19233		objectMap["NodeName"] = dshree.NodeName
19234	}
19235	if dshree.SourceID != nil {
19236		objectMap["SourceId"] = dshree.SourceID
19237	}
19238	if dshree.Property != nil {
19239		objectMap["Property"] = dshree.Property
19240	}
19241	if dshree.HealthState != nil {
19242		objectMap["HealthState"] = dshree.HealthState
19243	}
19244	if dshree.TTLTimespan != nil {
19245		objectMap["TTLTimespan"] = dshree.TTLTimespan
19246	}
19247	if dshree.SequenceNumber != nil {
19248		objectMap["SequenceNumber"] = dshree.SequenceNumber
19249	}
19250	if dshree.Description != nil {
19251		objectMap["Description"] = dshree.Description
19252	}
19253	if dshree.RemoveWhenExpired != nil {
19254		objectMap["RemoveWhenExpired"] = dshree.RemoveWhenExpired
19255	}
19256	if dshree.SourceUtcTimestamp != nil {
19257		objectMap["SourceUtcTimestamp"] = dshree.SourceUtcTimestamp
19258	}
19259	if dshree.ApplicationID != nil {
19260		objectMap["ApplicationId"] = dshree.ApplicationID
19261	}
19262	if dshree.EventInstanceID != nil {
19263		objectMap["EventInstanceId"] = dshree.EventInstanceID
19264	}
19265	if dshree.TimeStamp != nil {
19266		objectMap["TimeStamp"] = dshree.TimeStamp
19267	}
19268	if dshree.HasCorrelatedEvents != nil {
19269		objectMap["HasCorrelatedEvents"] = dshree.HasCorrelatedEvents
19270	}
19271	if dshree.Kind != "" {
19272		objectMap["Kind"] = dshree.Kind
19273	}
19274	return json.Marshal(objectMap)
19275}
19276
19277// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19278func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
19279	return nil, false
19280}
19281
19282// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19283func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
19284	return &dshree, true
19285}
19286
19287// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19288func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
19289	return nil, false
19290}
19291
19292// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19293func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
19294	return nil, false
19295}
19296
19297// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19298func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
19299	return nil, false
19300}
19301
19302// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19303func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
19304	return nil, false
19305}
19306
19307// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19308func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
19309	return nil, false
19310}
19311
19312// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19313func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
19314	return nil, false
19315}
19316
19317// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19318func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
19319	return nil, false
19320}
19321
19322// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19323func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
19324	return nil, false
19325}
19326
19327// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19328func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
19329	return nil, false
19330}
19331
19332// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19333func (dshree DeployedServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
19334	return nil, false
19335}
19336
19337// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19338func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
19339	return nil, false
19340}
19341
19342// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19343func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
19344	return nil, false
19345}
19346
19347// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19348func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
19349	return nil, false
19350}
19351
19352// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19353func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
19354	return nil, false
19355}
19356
19357// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19358func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
19359	return nil, false
19360}
19361
19362// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19363func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
19364	return nil, false
19365}
19366
19367// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19368func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
19369	return nil, false
19370}
19371
19372// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19373func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
19374	return nil, false
19375}
19376
19377// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19378func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
19379	return nil, false
19380}
19381
19382// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19383func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
19384	return nil, false
19385}
19386
19387// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19388func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
19389	return nil, false
19390}
19391
19392// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19393func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
19394	return nil, false
19395}
19396
19397// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19398func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
19399	return nil, false
19400}
19401
19402// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19403func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
19404	return nil, false
19405}
19406
19407// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19408func (dshree DeployedServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
19409	return nil, false
19410}
19411
19412// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19413func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
19414	return nil, false
19415}
19416
19417// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19418func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
19419	return nil, false
19420}
19421
19422// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19423func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
19424	return nil, false
19425}
19426
19427// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19428func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
19429	return nil, false
19430}
19431
19432// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19433func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
19434	return nil, false
19435}
19436
19437// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19438func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
19439	return nil, false
19440}
19441
19442// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19443func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
19444	return nil, false
19445}
19446
19447// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19448func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
19449	return nil, false
19450}
19451
19452// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19453func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
19454	return nil, false
19455}
19456
19457// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19458func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
19459	return nil, false
19460}
19461
19462// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19463func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
19464	return nil, false
19465}
19466
19467// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19468func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
19469	return nil, false
19470}
19471
19472// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19473func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
19474	return nil, false
19475}
19476
19477// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19478func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
19479	return nil, false
19480}
19481
19482// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19483func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
19484	return nil, false
19485}
19486
19487// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19488func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
19489	return nil, false
19490}
19491
19492// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19493func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
19494	return nil, false
19495}
19496
19497// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19498func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
19499	return nil, false
19500}
19501
19502// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19503func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
19504	return nil, false
19505}
19506
19507// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19508func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
19509	return nil, false
19510}
19511
19512// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19513func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
19514	return nil, false
19515}
19516
19517// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19518func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
19519	return nil, false
19520}
19521
19522// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19523func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
19524	return nil, false
19525}
19526
19527// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19528func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
19529	return nil, false
19530}
19531
19532// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19533func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
19534	return nil, false
19535}
19536
19537// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19538func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
19539	return &dshree, true
19540}
19541
19542// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19543func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
19544	return nil, false
19545}
19546
19547// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19548func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
19549	return nil, false
19550}
19551
19552// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19553func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
19554	return nil, false
19555}
19556
19557// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19558func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
19559	return nil, false
19560}
19561
19562// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19563func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
19564	return nil, false
19565}
19566
19567// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19568func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
19569	return nil, false
19570}
19571
19572// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19573func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
19574	return nil, false
19575}
19576
19577// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19578func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
19579	return nil, false
19580}
19581
19582// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19583func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
19584	return nil, false
19585}
19586
19587// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19588func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
19589	return nil, false
19590}
19591
19592// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19593func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
19594	return nil, false
19595}
19596
19597// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19598func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
19599	return nil, false
19600}
19601
19602// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19603func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
19604	return nil, false
19605}
19606
19607// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19608func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
19609	return nil, false
19610}
19611
19612// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19613func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
19614	return nil, false
19615}
19616
19617// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19618func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
19619	return nil, false
19620}
19621
19622// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19623func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
19624	return nil, false
19625}
19626
19627// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19628func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
19629	return nil, false
19630}
19631
19632// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19633func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
19634	return nil, false
19635}
19636
19637// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19638func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
19639	return nil, false
19640}
19641
19642// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19643func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
19644	return nil, false
19645}
19646
19647// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19648func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
19649	return nil, false
19650}
19651
19652// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19653func (dshree DeployedServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
19654	return nil, false
19655}
19656
19657// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19658func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
19659	return &dshree, true
19660}
19661
19662// DeployedServicePackageHealth information about the health of a service package for a specific
19663// application deployed on a Service Fabric node.
19664type DeployedServicePackageHealth struct {
19665	autorest.Response `json:"-"`
19666	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
19667	ApplicationName *string `json:"ApplicationName,omitempty"`
19668	// ServiceManifestName - Name of the service manifest.
19669	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19670	// NodeName - Name of the node where this service package is deployed.
19671	NodeName *string `json:"NodeName,omitempty"`
19672	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
19673	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
19674	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
19675	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19676	// HealthEvents - The list of health events reported on the entity.
19677	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
19678	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
19679	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
19680	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
19681	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
19682}
19683
19684// DeployedServicePackageHealthEvaluation represents health evaluation for a deployed service package,
19685// containing information about the data and the algorithm used by health store to evaluate health. The
19686// evaluation is returned only when the aggregated health state is either Error or Warning.
19687type DeployedServicePackageHealthEvaluation struct {
19688	// NodeName - The name of a Service Fabric node.
19689	NodeName *string `json:"NodeName,omitempty"`
19690	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
19691	ApplicationName *string `json:"ApplicationName,omitempty"`
19692	// ServiceManifestName - The name of the service manifest.
19693	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19694	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation.
19695	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
19696	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
19697	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19698	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
19699	Description *string `json:"Description,omitempty"`
19700	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
19701	Kind Kind `json:"Kind,omitempty"`
19702}
19703
19704// MarshalJSON is the custom marshaler for DeployedServicePackageHealthEvaluation.
19705func (dsphe DeployedServicePackageHealthEvaluation) MarshalJSON() ([]byte, error) {
19706	dsphe.Kind = KindDeployedServicePackage
19707	objectMap := make(map[string]interface{})
19708	if dsphe.NodeName != nil {
19709		objectMap["NodeName"] = dsphe.NodeName
19710	}
19711	if dsphe.ApplicationName != nil {
19712		objectMap["ApplicationName"] = dsphe.ApplicationName
19713	}
19714	if dsphe.ServiceManifestName != nil {
19715		objectMap["ServiceManifestName"] = dsphe.ServiceManifestName
19716	}
19717	if dsphe.UnhealthyEvaluations != nil {
19718		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
19719	}
19720	if dsphe.AggregatedHealthState != "" {
19721		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
19722	}
19723	if dsphe.Description != nil {
19724		objectMap["Description"] = dsphe.Description
19725	}
19726	if dsphe.Kind != "" {
19727		objectMap["Kind"] = dsphe.Kind
19728	}
19729	return json.Marshal(objectMap)
19730}
19731
19732// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19733func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
19734	return nil, false
19735}
19736
19737// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19738func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
19739	return nil, false
19740}
19741
19742// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19743func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
19744	return nil, false
19745}
19746
19747// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19748func (dsphe DeployedServicePackageHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
19749	return nil, false
19750}
19751
19752// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19753func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
19754	return nil, false
19755}
19756
19757// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19758func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
19759	return nil, false
19760}
19761
19762// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19763func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
19764	return &dsphe, true
19765}
19766
19767// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19768func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
19769	return nil, false
19770}
19771
19772// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19773func (dsphe DeployedServicePackageHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
19774	return nil, false
19775}
19776
19777// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19778func (dsphe DeployedServicePackageHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
19779	return nil, false
19780}
19781
19782// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19783func (dsphe DeployedServicePackageHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
19784	return nil, false
19785}
19786
19787// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19788func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
19789	return nil, false
19790}
19791
19792// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19793func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
19794	return nil, false
19795}
19796
19797// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19798func (dsphe DeployedServicePackageHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
19799	return nil, false
19800}
19801
19802// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19803func (dsphe DeployedServicePackageHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
19804	return nil, false
19805}
19806
19807// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19808func (dsphe DeployedServicePackageHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
19809	return nil, false
19810}
19811
19812// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19813func (dsphe DeployedServicePackageHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
19814	return nil, false
19815}
19816
19817// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19818func (dsphe DeployedServicePackageHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
19819	return nil, false
19820}
19821
19822// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19823func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
19824	return nil, false
19825}
19826
19827// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19828func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
19829	return nil, false
19830}
19831
19832// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19833func (dsphe DeployedServicePackageHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
19834	return nil, false
19835}
19836
19837// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19838func (dsphe DeployedServicePackageHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
19839	return &dsphe, true
19840}
19841
19842// DeployedServicePackageHealthState represents the health state of a deployed service package, containing
19843// the entity identifier and the aggregated health state.
19844type DeployedServicePackageHealthState struct {
19845	// NodeName - Name of the node on which the service package is deployed.
19846	NodeName *string `json:"NodeName,omitempty"`
19847	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
19848	ApplicationName *string `json:"ApplicationName,omitempty"`
19849	// ServiceManifestName - Name of the manifest describing the service package.
19850	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19851	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
19852	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
19853	// is always an empty string.
19854	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19855	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
19856	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19857}
19858
19859// DeployedServicePackageHealthStateChunk represents the health state chunk of a deployed service package,
19860// which contains the service manifest name and the service package aggregated health state.
19861type DeployedServicePackageHealthStateChunk struct {
19862	// ServiceManifestName - The name of the service manifest.
19863	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19864	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
19865	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
19866	// is always an empty string.
19867	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19868	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
19869	HealthState HealthState `json:"HealthState,omitempty"`
19870}
19871
19872// DeployedServicePackageHealthStateChunkList the list of deployed service package health state chunks that
19873// respect the input filters in the chunk query. Returned by get cluster health state chunks query.
19874type DeployedServicePackageHealthStateChunkList struct {
19875	// Items - The list of deployed service package health state chunks that respect the input filters in the chunk query.
19876	Items *[]DeployedServicePackageHealthStateChunk `json:"Items,omitempty"`
19877}
19878
19879// DeployedServicePackageHealthStateFilter defines matching criteria to determine whether a deployed
19880// service package should be included as a child of a deployed application in the cluster health chunk.
19881// The deployed service packages are only returned if the parent entities match a filter specified in the
19882// cluster health chunk query description. The parent deployed application and its parent application must
19883// be included in the cluster health chunk.
19884// One filter can match zero, one or multiple deployed service packages, depending on its properties.
19885type DeployedServicePackageHealthStateFilter struct {
19886	// ServiceManifestNameFilter - The name of the service manifest which identifies the deployed service packages that matches the filter.
19887	// If specified, the filter is applied only to the specified deployed service packages, if any.
19888	// If no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.
19889	// If any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.
19890	// If not specified, all deployed service packages that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter.
19891	ServiceManifestNameFilter *string `json:"ServiceManifestNameFilter,omitempty"`
19892	// ServicePackageActivationIDFilter - The activation ID of a deployed service package that matches the filter.
19893	// If not specified, the filter applies to all deployed service packages that match the other parameters.
19894	// If specified, the filter matches only the deployed service package with the specified activation ID.
19895	ServicePackageActivationIDFilter *string `json:"ServicePackageActivationIdFilter,omitempty"`
19896	// HealthStateFilter - The filter for the health state of the deployed service packages. It allows selecting deployed service packages if they match the desired health states.
19897	// The possible values are integer value of one of the following health states. Only deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the parent deployed application aggregated health state.
19898	// If not specified, default value is None, unless the deployed service package ID is specified. If the filter has default value and deployed service package ID is specified, the matching deployed service package is returned.
19899	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
19900	// For example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).
19901	// - Default - Default value. Matches any HealthState. The value is zero.
19902	// - None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
19903	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
19904	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
19905	// - Error - Filter that matches input with HealthState value Error. The value is 8.
19906	// - All - Filter that matches input with any HealthState value. The value is 65535.
19907	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
19908}
19909
19910// DeployedServicePackageInfo information about service package deployed on a Service Fabric node.
19911type DeployedServicePackageInfo struct {
19912	// Name - The name of the service package as specified in the service manifest.
19913	Name *string `json:"Name,omitempty"`
19914	// Version - The version of the service package specified in service manifest.
19915	Version *string `json:"Version,omitempty"`
19916	// Status - Specifies the status of a deployed application or service package on a Service Fabric node. Possible values include: 'DeploymentStatusInvalid', 'DeploymentStatusDownloading', 'DeploymentStatusActivating', 'DeploymentStatusActive', 'DeploymentStatusUpgrading', 'DeploymentStatusDeactivating'
19917	Status DeploymentStatus `json:"Status,omitempty"`
19918	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
19919	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
19920	// is always an empty string.
19921	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19922}
19923
19924// DeployedServicePackagesHealthEvaluation represents health evaluation for deployed service packages,
19925// containing health evaluations for each unhealthy deployed service package that impacted current
19926// aggregated health state. Can be returned when evaluating deployed application health and the aggregated
19927// health state is either Error or Warning.
19928type DeployedServicePackagesHealthEvaluation struct {
19929	// TotalCount - Total number of deployed service packages of the deployed application in the health store.
19930	TotalCount *int64 `json:"TotalCount,omitempty"`
19931	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health.
19932	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
19933	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
19934	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19935	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
19936	Description *string `json:"Description,omitempty"`
19937	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
19938	Kind Kind `json:"Kind,omitempty"`
19939}
19940
19941// MarshalJSON is the custom marshaler for DeployedServicePackagesHealthEvaluation.
19942func (dsphe DeployedServicePackagesHealthEvaluation) MarshalJSON() ([]byte, error) {
19943	dsphe.Kind = KindDeployedServicePackages
19944	objectMap := make(map[string]interface{})
19945	if dsphe.TotalCount != nil {
19946		objectMap["TotalCount"] = dsphe.TotalCount
19947	}
19948	if dsphe.UnhealthyEvaluations != nil {
19949		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
19950	}
19951	if dsphe.AggregatedHealthState != "" {
19952		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
19953	}
19954	if dsphe.Description != nil {
19955		objectMap["Description"] = dsphe.Description
19956	}
19957	if dsphe.Kind != "" {
19958		objectMap["Kind"] = dsphe.Kind
19959	}
19960	return json.Marshal(objectMap)
19961}
19962
19963// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19964func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
19965	return nil, false
19966}
19967
19968// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19969func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
19970	return nil, false
19971}
19972
19973// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19974func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
19975	return nil, false
19976}
19977
19978// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19979func (dsphe DeployedServicePackagesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
19980	return nil, false
19981}
19982
19983// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19984func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
19985	return nil, false
19986}
19987
19988// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19989func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
19990	return nil, false
19991}
19992
19993// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19994func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
19995	return nil, false
19996}
19997
19998// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19999func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
20000	return &dsphe, true
20001}
20002
20003// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20004func (dsphe DeployedServicePackagesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
20005	return nil, false
20006}
20007
20008// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20009func (dsphe DeployedServicePackagesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
20010	return nil, false
20011}
20012
20013// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20014func (dsphe DeployedServicePackagesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
20015	return nil, false
20016}
20017
20018// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20019func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
20020	return nil, false
20021}
20022
20023// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20024func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
20025	return nil, false
20026}
20027
20028// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20029func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
20030	return nil, false
20031}
20032
20033// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20034func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
20035	return nil, false
20036}
20037
20038// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20039func (dsphe DeployedServicePackagesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
20040	return nil, false
20041}
20042
20043// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20044func (dsphe DeployedServicePackagesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
20045	return nil, false
20046}
20047
20048// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20049func (dsphe DeployedServicePackagesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
20050	return nil, false
20051}
20052
20053// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20054func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
20055	return nil, false
20056}
20057
20058// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20059func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
20060	return nil, false
20061}
20062
20063// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20064func (dsphe DeployedServicePackagesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
20065	return nil, false
20066}
20067
20068// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
20069func (dsphe DeployedServicePackagesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
20070	return &dsphe, true
20071}
20072
20073// BasicDeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
20074type BasicDeployedServiceReplicaDetailInfo interface {
20075	AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool)
20076	AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool)
20077	AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool)
20078}
20079
20080// DeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
20081type DeployedServiceReplicaDetailInfo struct {
20082	autorest.Response `json:"-"`
20083	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
20084	ServiceName *string `json:"ServiceName,omitempty"`
20085	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
20086	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20087	// CurrentServiceOperation - Specifies the current active life-cycle operation on a stateful service replica or stateless service instance. Possible values include: 'ServiceOperationNameUnknown', 'ServiceOperationNameNone', 'ServiceOperationNameOpen', 'ServiceOperationNameChangeRole', 'ServiceOperationNameClose', 'ServiceOperationNameAbort'
20088	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
20089	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
20090	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
20091	// ReportedLoad - List of load reported by replica.
20092	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
20093	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
20094	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
20095}
20096
20097func unmarshalBasicDeployedServiceReplicaDetailInfo(body []byte) (BasicDeployedServiceReplicaDetailInfo, error) {
20098	var m map[string]interface{}
20099	err := json.Unmarshal(body, &m)
20100	if err != nil {
20101		return nil, err
20102	}
20103
20104	switch m["ServiceKind"] {
20105	case string(ServiceKindStateful1):
20106		var dssrdi DeployedStatefulServiceReplicaDetailInfo
20107		err := json.Unmarshal(body, &dssrdi)
20108		return dssrdi, err
20109	case string(ServiceKindStateless1):
20110		var dssidi DeployedStatelessServiceInstanceDetailInfo
20111		err := json.Unmarshal(body, &dssidi)
20112		return dssidi, err
20113	default:
20114		var dsrdi DeployedServiceReplicaDetailInfo
20115		err := json.Unmarshal(body, &dsrdi)
20116		return dsrdi, err
20117	}
20118}
20119func unmarshalBasicDeployedServiceReplicaDetailInfoArray(body []byte) ([]BasicDeployedServiceReplicaDetailInfo, error) {
20120	var rawMessages []*json.RawMessage
20121	err := json.Unmarshal(body, &rawMessages)
20122	if err != nil {
20123		return nil, err
20124	}
20125
20126	dsrdiArray := make([]BasicDeployedServiceReplicaDetailInfo, len(rawMessages))
20127
20128	for index, rawMessage := range rawMessages {
20129		dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(*rawMessage)
20130		if err != nil {
20131			return nil, err
20132		}
20133		dsrdiArray[index] = dsrdi
20134	}
20135	return dsrdiArray, nil
20136}
20137
20138// MarshalJSON is the custom marshaler for DeployedServiceReplicaDetailInfo.
20139func (dsrdi DeployedServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
20140	dsrdi.ServiceKind = ServiceKindDeployedServiceReplicaDetailInfo
20141	objectMap := make(map[string]interface{})
20142	if dsrdi.ServiceName != nil {
20143		objectMap["ServiceName"] = dsrdi.ServiceName
20144	}
20145	if dsrdi.PartitionID != nil {
20146		objectMap["PartitionId"] = dsrdi.PartitionID
20147	}
20148	if dsrdi.CurrentServiceOperation != "" {
20149		objectMap["CurrentServiceOperation"] = dsrdi.CurrentServiceOperation
20150	}
20151	if dsrdi.CurrentServiceOperationStartTimeUtc != nil {
20152		objectMap["CurrentServiceOperationStartTimeUtc"] = dsrdi.CurrentServiceOperationStartTimeUtc
20153	}
20154	if dsrdi.ReportedLoad != nil {
20155		objectMap["ReportedLoad"] = dsrdi.ReportedLoad
20156	}
20157	if dsrdi.ServiceKind != "" {
20158		objectMap["ServiceKind"] = dsrdi.ServiceKind
20159	}
20160	return json.Marshal(objectMap)
20161}
20162
20163// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
20164func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
20165	return nil, false
20166}
20167
20168// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
20169func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
20170	return nil, false
20171}
20172
20173// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
20174func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
20175	return &dsrdi, true
20176}
20177
20178// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
20179func (dsrdi DeployedServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
20180	return &dsrdi, true
20181}
20182
20183// DeployedServiceReplicaDetailInfoModel ...
20184type DeployedServiceReplicaDetailInfoModel struct {
20185	autorest.Response `json:"-"`
20186	Value             BasicDeployedServiceReplicaDetailInfo `json:"value,omitempty"`
20187}
20188
20189// UnmarshalJSON is the custom unmarshaler for DeployedServiceReplicaDetailInfoModel struct.
20190func (dsrdim *DeployedServiceReplicaDetailInfoModel) UnmarshalJSON(body []byte) error {
20191	dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(body)
20192	if err != nil {
20193		return err
20194	}
20195	dsrdim.Value = dsrdi
20196
20197	return nil
20198}
20199
20200// BasicDeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
20201type BasicDeployedServiceReplicaInfo interface {
20202	AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool)
20203	AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool)
20204	AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool)
20205}
20206
20207// DeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
20208type DeployedServiceReplicaInfo struct {
20209	// ServiceName - The full name of the service with 'fabric:' URI scheme.
20210	ServiceName *string `json:"ServiceName,omitempty"`
20211	// ServiceTypeName - Name of the service type as specified in the service manifest.
20212	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
20213	// ServiceManifestName - The name of the service manifest in which this service type is defined.
20214	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20215	// CodePackageName - The name of the code package that hosts this replica.
20216	CodePackageName *string `json:"CodePackageName,omitempty"`
20217	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
20218	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20219	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
20220	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
20221	// Address - The last address returned by the replica in Open or ChangeRole.
20222	Address *string `json:"Address,omitempty"`
20223	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
20224	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
20225	// is always an empty string.
20226	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
20227	// HostProcessID - Host process ID of the process that is hosting the replica. This will be zero if the replica is down. In hyper-v containers this host process ID will be from different kernel.
20228	HostProcessID *string `json:"HostProcessId,omitempty"`
20229	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
20230	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
20231}
20232
20233func unmarshalBasicDeployedServiceReplicaInfo(body []byte) (BasicDeployedServiceReplicaInfo, error) {
20234	var m map[string]interface{}
20235	err := json.Unmarshal(body, &m)
20236	if err != nil {
20237		return nil, err
20238	}
20239
20240	switch m["ServiceKind"] {
20241	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful):
20242		var dssri DeployedStatefulServiceReplicaInfo
20243		err := json.Unmarshal(body, &dssri)
20244		return dssri, err
20245	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless):
20246		var dssii DeployedStatelessServiceInstanceInfo
20247		err := json.Unmarshal(body, &dssii)
20248		return dssii, err
20249	default:
20250		var dsri DeployedServiceReplicaInfo
20251		err := json.Unmarshal(body, &dsri)
20252		return dsri, err
20253	}
20254}
20255func unmarshalBasicDeployedServiceReplicaInfoArray(body []byte) ([]BasicDeployedServiceReplicaInfo, error) {
20256	var rawMessages []*json.RawMessage
20257	err := json.Unmarshal(body, &rawMessages)
20258	if err != nil {
20259		return nil, err
20260	}
20261
20262	dsriArray := make([]BasicDeployedServiceReplicaInfo, len(rawMessages))
20263
20264	for index, rawMessage := range rawMessages {
20265		dsri, err := unmarshalBasicDeployedServiceReplicaInfo(*rawMessage)
20266		if err != nil {
20267			return nil, err
20268		}
20269		dsriArray[index] = dsri
20270	}
20271	return dsriArray, nil
20272}
20273
20274// MarshalJSON is the custom marshaler for DeployedServiceReplicaInfo.
20275func (dsri DeployedServiceReplicaInfo) MarshalJSON() ([]byte, error) {
20276	dsri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo
20277	objectMap := make(map[string]interface{})
20278	if dsri.ServiceName != nil {
20279		objectMap["ServiceName"] = dsri.ServiceName
20280	}
20281	if dsri.ServiceTypeName != nil {
20282		objectMap["ServiceTypeName"] = dsri.ServiceTypeName
20283	}
20284	if dsri.ServiceManifestName != nil {
20285		objectMap["ServiceManifestName"] = dsri.ServiceManifestName
20286	}
20287	if dsri.CodePackageName != nil {
20288		objectMap["CodePackageName"] = dsri.CodePackageName
20289	}
20290	if dsri.PartitionID != nil {
20291		objectMap["PartitionId"] = dsri.PartitionID
20292	}
20293	if dsri.ReplicaStatus != "" {
20294		objectMap["ReplicaStatus"] = dsri.ReplicaStatus
20295	}
20296	if dsri.Address != nil {
20297		objectMap["Address"] = dsri.Address
20298	}
20299	if dsri.ServicePackageActivationID != nil {
20300		objectMap["ServicePackageActivationId"] = dsri.ServicePackageActivationID
20301	}
20302	if dsri.HostProcessID != nil {
20303		objectMap["HostProcessId"] = dsri.HostProcessID
20304	}
20305	if dsri.ServiceKind != "" {
20306		objectMap["ServiceKind"] = dsri.ServiceKind
20307	}
20308	return json.Marshal(objectMap)
20309}
20310
20311// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20312func (dsri DeployedServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
20313	return nil, false
20314}
20315
20316// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20317func (dsri DeployedServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
20318	return nil, false
20319}
20320
20321// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20322func (dsri DeployedServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
20323	return &dsri, true
20324}
20325
20326// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20327func (dsri DeployedServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
20328	return &dsri, true
20329}
20330
20331// DeployedServiceTypeInfo information about service type deployed on a node, information such as the
20332// status of the service type registration on a node.
20333type DeployedServiceTypeInfo struct {
20334	// ServiceTypeName - Name of the service type as specified in the service manifest.
20335	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
20336	// ServiceManifestName - The name of the service manifest in which this service type is defined.
20337	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20338	// CodePackageName - The name of the code package that registered the service type.
20339	CodePackageName *string `json:"CodePackageName,omitempty"`
20340	// Status - The status of the service type registration on the node. Possible values include: 'ServiceTypeRegistrationStatusInvalid', 'ServiceTypeRegistrationStatusDisabled', 'ServiceTypeRegistrationStatusEnabled', 'ServiceTypeRegistrationStatusRegistered'
20341	Status ServiceTypeRegistrationStatus `json:"Status,omitempty"`
20342	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
20343	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
20344	// is always an empty string.
20345	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
20346}
20347
20348// DeployedStatefulServiceReplicaDetailInfo information about a stateful replica running in a code package.
20349// Note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName,
20350// PartitionId and replicaId.
20351type DeployedStatefulServiceReplicaDetailInfo struct {
20352	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
20353	ReplicaID *string `json:"ReplicaId,omitempty"`
20354	// CurrentReplicatorOperation - Specifies the operation currently being executed by the Replicator. Possible values include: 'ReplicatorOperationNameInvalid', 'ReplicatorOperationNameNone', 'ReplicatorOperationNameOpen', 'ReplicatorOperationNameChangeRole', 'ReplicatorOperationNameUpdateEpoch', 'ReplicatorOperationNameClose', 'ReplicatorOperationNameAbort', 'ReplicatorOperationNameOnDataLoss', 'ReplicatorOperationNameWaitForCatchup', 'ReplicatorOperationNameBuild'
20355	CurrentReplicatorOperation ReplicatorOperationName `json:"CurrentReplicatorOperation,omitempty"`
20356	// ReadStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
20357	ReadStatus PartitionAccessStatus `json:"ReadStatus,omitempty"`
20358	// WriteStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
20359	WriteStatus PartitionAccessStatus `json:"WriteStatus,omitempty"`
20360	// ReplicatorStatus - Represents a base class for primary or secondary replicator status.
20361	// Contains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.
20362	ReplicatorStatus BasicReplicatorStatus `json:"ReplicatorStatus,omitempty"`
20363	// ReplicaStatus - Key value store related information for the replica.
20364	ReplicaStatus *KeyValueStoreReplicaStatus `json:"ReplicaStatus,omitempty"`
20365	// DeployedServiceReplicaQueryResult - Information about a stateful service replica deployed on a node.
20366	DeployedServiceReplicaQueryResult *DeployedStatefulServiceReplicaInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
20367	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
20368	ServiceName *string `json:"ServiceName,omitempty"`
20369	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
20370	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20371	// CurrentServiceOperation - Specifies the current active life-cycle operation on a stateful service replica or stateless service instance. Possible values include: 'ServiceOperationNameUnknown', 'ServiceOperationNameNone', 'ServiceOperationNameOpen', 'ServiceOperationNameChangeRole', 'ServiceOperationNameClose', 'ServiceOperationNameAbort'
20372	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
20373	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
20374	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
20375	// ReportedLoad - List of load reported by replica.
20376	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
20377	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
20378	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
20379}
20380
20381// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaDetailInfo.
20382func (dssrdi DeployedStatefulServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
20383	dssrdi.ServiceKind = ServiceKindStateful1
20384	objectMap := make(map[string]interface{})
20385	if dssrdi.ReplicaID != nil {
20386		objectMap["ReplicaId"] = dssrdi.ReplicaID
20387	}
20388	if dssrdi.CurrentReplicatorOperation != "" {
20389		objectMap["CurrentReplicatorOperation"] = dssrdi.CurrentReplicatorOperation
20390	}
20391	if dssrdi.ReadStatus != "" {
20392		objectMap["ReadStatus"] = dssrdi.ReadStatus
20393	}
20394	if dssrdi.WriteStatus != "" {
20395		objectMap["WriteStatus"] = dssrdi.WriteStatus
20396	}
20397	objectMap["ReplicatorStatus"] = dssrdi.ReplicatorStatus
20398	if dssrdi.ReplicaStatus != nil {
20399		objectMap["ReplicaStatus"] = dssrdi.ReplicaStatus
20400	}
20401	if dssrdi.DeployedServiceReplicaQueryResult != nil {
20402		objectMap["DeployedServiceReplicaQueryResult"] = dssrdi.DeployedServiceReplicaQueryResult
20403	}
20404	if dssrdi.ServiceName != nil {
20405		objectMap["ServiceName"] = dssrdi.ServiceName
20406	}
20407	if dssrdi.PartitionID != nil {
20408		objectMap["PartitionId"] = dssrdi.PartitionID
20409	}
20410	if dssrdi.CurrentServiceOperation != "" {
20411		objectMap["CurrentServiceOperation"] = dssrdi.CurrentServiceOperation
20412	}
20413	if dssrdi.CurrentServiceOperationStartTimeUtc != nil {
20414		objectMap["CurrentServiceOperationStartTimeUtc"] = dssrdi.CurrentServiceOperationStartTimeUtc
20415	}
20416	if dssrdi.ReportedLoad != nil {
20417		objectMap["ReportedLoad"] = dssrdi.ReportedLoad
20418	}
20419	if dssrdi.ServiceKind != "" {
20420		objectMap["ServiceKind"] = dssrdi.ServiceKind
20421	}
20422	return json.Marshal(objectMap)
20423}
20424
20425// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20426func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
20427	return &dssrdi, true
20428}
20429
20430// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20431func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
20432	return nil, false
20433}
20434
20435// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20436func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
20437	return nil, false
20438}
20439
20440// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20441func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
20442	return &dssrdi, true
20443}
20444
20445// UnmarshalJSON is the custom unmarshaler for DeployedStatefulServiceReplicaDetailInfo struct.
20446func (dssrdi *DeployedStatefulServiceReplicaDetailInfo) UnmarshalJSON(body []byte) error {
20447	var m map[string]*json.RawMessage
20448	err := json.Unmarshal(body, &m)
20449	if err != nil {
20450		return err
20451	}
20452	for k, v := range m {
20453		switch k {
20454		case "ReplicaId":
20455			if v != nil {
20456				var replicaID string
20457				err = json.Unmarshal(*v, &replicaID)
20458				if err != nil {
20459					return err
20460				}
20461				dssrdi.ReplicaID = &replicaID
20462			}
20463		case "CurrentReplicatorOperation":
20464			if v != nil {
20465				var currentReplicatorOperation ReplicatorOperationName
20466				err = json.Unmarshal(*v, &currentReplicatorOperation)
20467				if err != nil {
20468					return err
20469				}
20470				dssrdi.CurrentReplicatorOperation = currentReplicatorOperation
20471			}
20472		case "ReadStatus":
20473			if v != nil {
20474				var readStatus PartitionAccessStatus
20475				err = json.Unmarshal(*v, &readStatus)
20476				if err != nil {
20477					return err
20478				}
20479				dssrdi.ReadStatus = readStatus
20480			}
20481		case "WriteStatus":
20482			if v != nil {
20483				var writeStatus PartitionAccessStatus
20484				err = json.Unmarshal(*v, &writeStatus)
20485				if err != nil {
20486					return err
20487				}
20488				dssrdi.WriteStatus = writeStatus
20489			}
20490		case "ReplicatorStatus":
20491			if v != nil {
20492				replicatorStatus, err := unmarshalBasicReplicatorStatus(*v)
20493				if err != nil {
20494					return err
20495				}
20496				dssrdi.ReplicatorStatus = replicatorStatus
20497			}
20498		case "ReplicaStatus":
20499			if v != nil {
20500				var replicaStatus KeyValueStoreReplicaStatus
20501				err = json.Unmarshal(*v, &replicaStatus)
20502				if err != nil {
20503					return err
20504				}
20505				dssrdi.ReplicaStatus = &replicaStatus
20506			}
20507		case "DeployedServiceReplicaQueryResult":
20508			if v != nil {
20509				var deployedServiceReplicaQueryResult DeployedStatefulServiceReplicaInfo
20510				err = json.Unmarshal(*v, &deployedServiceReplicaQueryResult)
20511				if err != nil {
20512					return err
20513				}
20514				dssrdi.DeployedServiceReplicaQueryResult = &deployedServiceReplicaQueryResult
20515			}
20516		case "ServiceName":
20517			if v != nil {
20518				var serviceName string
20519				err = json.Unmarshal(*v, &serviceName)
20520				if err != nil {
20521					return err
20522				}
20523				dssrdi.ServiceName = &serviceName
20524			}
20525		case "PartitionId":
20526			if v != nil {
20527				var partitionID uuid.UUID
20528				err = json.Unmarshal(*v, &partitionID)
20529				if err != nil {
20530					return err
20531				}
20532				dssrdi.PartitionID = &partitionID
20533			}
20534		case "CurrentServiceOperation":
20535			if v != nil {
20536				var currentServiceOperation ServiceOperationName
20537				err = json.Unmarshal(*v, &currentServiceOperation)
20538				if err != nil {
20539					return err
20540				}
20541				dssrdi.CurrentServiceOperation = currentServiceOperation
20542			}
20543		case "CurrentServiceOperationStartTimeUtc":
20544			if v != nil {
20545				var currentServiceOperationStartTimeUtc date.Time
20546				err = json.Unmarshal(*v, &currentServiceOperationStartTimeUtc)
20547				if err != nil {
20548					return err
20549				}
20550				dssrdi.CurrentServiceOperationStartTimeUtc = &currentServiceOperationStartTimeUtc
20551			}
20552		case "ReportedLoad":
20553			if v != nil {
20554				var reportedLoad []LoadMetricReportInfo
20555				err = json.Unmarshal(*v, &reportedLoad)
20556				if err != nil {
20557					return err
20558				}
20559				dssrdi.ReportedLoad = &reportedLoad
20560			}
20561		case "ServiceKind":
20562			if v != nil {
20563				var serviceKind ServiceKindBasicDeployedServiceReplicaDetailInfo
20564				err = json.Unmarshal(*v, &serviceKind)
20565				if err != nil {
20566					return err
20567				}
20568				dssrdi.ServiceKind = serviceKind
20569			}
20570		}
20571	}
20572
20573	return nil
20574}
20575
20576// DeployedStatefulServiceReplicaInfo information about a stateful service replica deployed on a node.
20577type DeployedStatefulServiceReplicaInfo struct {
20578	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
20579	ReplicaID *string `json:"ReplicaId,omitempty"`
20580	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
20581	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
20582	// ReconfigurationInformation - Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.
20583	ReconfigurationInformation *ReconfigurationInformation `json:"ReconfigurationInformation,omitempty"`
20584	// ServiceName - The full name of the service with 'fabric:' URI scheme.
20585	ServiceName *string `json:"ServiceName,omitempty"`
20586	// ServiceTypeName - Name of the service type as specified in the service manifest.
20587	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
20588	// ServiceManifestName - The name of the service manifest in which this service type is defined.
20589	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20590	// CodePackageName - The name of the code package that hosts this replica.
20591	CodePackageName *string `json:"CodePackageName,omitempty"`
20592	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
20593	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20594	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
20595	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
20596	// Address - The last address returned by the replica in Open or ChangeRole.
20597	Address *string `json:"Address,omitempty"`
20598	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
20599	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
20600	// is always an empty string.
20601	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
20602	// HostProcessID - Host process ID of the process that is hosting the replica. This will be zero if the replica is down. In hyper-v containers this host process ID will be from different kernel.
20603	HostProcessID *string `json:"HostProcessId,omitempty"`
20604	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
20605	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
20606}
20607
20608// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaInfo.
20609func (dssri DeployedStatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
20610	dssri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful
20611	objectMap := make(map[string]interface{})
20612	if dssri.ReplicaID != nil {
20613		objectMap["ReplicaId"] = dssri.ReplicaID
20614	}
20615	if dssri.ReplicaRole != "" {
20616		objectMap["ReplicaRole"] = dssri.ReplicaRole
20617	}
20618	if dssri.ReconfigurationInformation != nil {
20619		objectMap["ReconfigurationInformation"] = dssri.ReconfigurationInformation
20620	}
20621	if dssri.ServiceName != nil {
20622		objectMap["ServiceName"] = dssri.ServiceName
20623	}
20624	if dssri.ServiceTypeName != nil {
20625		objectMap["ServiceTypeName"] = dssri.ServiceTypeName
20626	}
20627	if dssri.ServiceManifestName != nil {
20628		objectMap["ServiceManifestName"] = dssri.ServiceManifestName
20629	}
20630	if dssri.CodePackageName != nil {
20631		objectMap["CodePackageName"] = dssri.CodePackageName
20632	}
20633	if dssri.PartitionID != nil {
20634		objectMap["PartitionId"] = dssri.PartitionID
20635	}
20636	if dssri.ReplicaStatus != "" {
20637		objectMap["ReplicaStatus"] = dssri.ReplicaStatus
20638	}
20639	if dssri.Address != nil {
20640		objectMap["Address"] = dssri.Address
20641	}
20642	if dssri.ServicePackageActivationID != nil {
20643		objectMap["ServicePackageActivationId"] = dssri.ServicePackageActivationID
20644	}
20645	if dssri.HostProcessID != nil {
20646		objectMap["HostProcessId"] = dssri.HostProcessID
20647	}
20648	if dssri.ServiceKind != "" {
20649		objectMap["ServiceKind"] = dssri.ServiceKind
20650	}
20651	return json.Marshal(objectMap)
20652}
20653
20654// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20655func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
20656	return &dssri, true
20657}
20658
20659// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20660func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
20661	return nil, false
20662}
20663
20664// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20665func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
20666	return nil, false
20667}
20668
20669// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20670func (dssri DeployedStatefulServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
20671	return &dssri, true
20672}
20673
20674// DeployedStatelessServiceInstanceDetailInfo information about a stateless instance running in a code
20675// package. Note that DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind,
20676// ServiceName, PartitionId and InstanceId.
20677type DeployedStatelessServiceInstanceDetailInfo struct {
20678	// InstanceID - Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId.
20679	InstanceID *string `json:"InstanceId,omitempty"`
20680	// DeployedServiceReplicaQueryResult - Information about a stateless service instance deployed on a node.
20681	DeployedServiceReplicaQueryResult *DeployedStatelessServiceInstanceInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
20682	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
20683	ServiceName *string `json:"ServiceName,omitempty"`
20684	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
20685	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20686	// CurrentServiceOperation - Specifies the current active life-cycle operation on a stateful service replica or stateless service instance. Possible values include: 'ServiceOperationNameUnknown', 'ServiceOperationNameNone', 'ServiceOperationNameOpen', 'ServiceOperationNameChangeRole', 'ServiceOperationNameClose', 'ServiceOperationNameAbort'
20687	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
20688	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
20689	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
20690	// ReportedLoad - List of load reported by replica.
20691	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
20692	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
20693	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
20694}
20695
20696// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceDetailInfo.
20697func (dssidi DeployedStatelessServiceInstanceDetailInfo) MarshalJSON() ([]byte, error) {
20698	dssidi.ServiceKind = ServiceKindStateless1
20699	objectMap := make(map[string]interface{})
20700	if dssidi.InstanceID != nil {
20701		objectMap["InstanceId"] = dssidi.InstanceID
20702	}
20703	if dssidi.DeployedServiceReplicaQueryResult != nil {
20704		objectMap["DeployedServiceReplicaQueryResult"] = dssidi.DeployedServiceReplicaQueryResult
20705	}
20706	if dssidi.ServiceName != nil {
20707		objectMap["ServiceName"] = dssidi.ServiceName
20708	}
20709	if dssidi.PartitionID != nil {
20710		objectMap["PartitionId"] = dssidi.PartitionID
20711	}
20712	if dssidi.CurrentServiceOperation != "" {
20713		objectMap["CurrentServiceOperation"] = dssidi.CurrentServiceOperation
20714	}
20715	if dssidi.CurrentServiceOperationStartTimeUtc != nil {
20716		objectMap["CurrentServiceOperationStartTimeUtc"] = dssidi.CurrentServiceOperationStartTimeUtc
20717	}
20718	if dssidi.ReportedLoad != nil {
20719		objectMap["ReportedLoad"] = dssidi.ReportedLoad
20720	}
20721	if dssidi.ServiceKind != "" {
20722		objectMap["ServiceKind"] = dssidi.ServiceKind
20723	}
20724	return json.Marshal(objectMap)
20725}
20726
20727// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20728func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
20729	return nil, false
20730}
20731
20732// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20733func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
20734	return &dssidi, true
20735}
20736
20737// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20738func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
20739	return nil, false
20740}
20741
20742// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20743func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
20744	return &dssidi, true
20745}
20746
20747// DeployedStatelessServiceInstanceInfo information about a stateless service instance deployed on a node.
20748type DeployedStatelessServiceInstanceInfo struct {
20749	// InstanceID - Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId.
20750	InstanceID *string `json:"InstanceId,omitempty"`
20751	// ServiceName - The full name of the service with 'fabric:' URI scheme.
20752	ServiceName *string `json:"ServiceName,omitempty"`
20753	// ServiceTypeName - Name of the service type as specified in the service manifest.
20754	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
20755	// ServiceManifestName - The name of the service manifest in which this service type is defined.
20756	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20757	// CodePackageName - The name of the code package that hosts this replica.
20758	CodePackageName *string `json:"CodePackageName,omitempty"`
20759	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
20760	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20761	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
20762	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
20763	// Address - The last address returned by the replica in Open or ChangeRole.
20764	Address *string `json:"Address,omitempty"`
20765	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
20766	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
20767	// is always an empty string.
20768	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
20769	// HostProcessID - Host process ID of the process that is hosting the replica. This will be zero if the replica is down. In hyper-v containers this host process ID will be from different kernel.
20770	HostProcessID *string `json:"HostProcessId,omitempty"`
20771	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
20772	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
20773}
20774
20775// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceInfo.
20776func (dssii DeployedStatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
20777	dssii.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless
20778	objectMap := make(map[string]interface{})
20779	if dssii.InstanceID != nil {
20780		objectMap["InstanceId"] = dssii.InstanceID
20781	}
20782	if dssii.ServiceName != nil {
20783		objectMap["ServiceName"] = dssii.ServiceName
20784	}
20785	if dssii.ServiceTypeName != nil {
20786		objectMap["ServiceTypeName"] = dssii.ServiceTypeName
20787	}
20788	if dssii.ServiceManifestName != nil {
20789		objectMap["ServiceManifestName"] = dssii.ServiceManifestName
20790	}
20791	if dssii.CodePackageName != nil {
20792		objectMap["CodePackageName"] = dssii.CodePackageName
20793	}
20794	if dssii.PartitionID != nil {
20795		objectMap["PartitionId"] = dssii.PartitionID
20796	}
20797	if dssii.ReplicaStatus != "" {
20798		objectMap["ReplicaStatus"] = dssii.ReplicaStatus
20799	}
20800	if dssii.Address != nil {
20801		objectMap["Address"] = dssii.Address
20802	}
20803	if dssii.ServicePackageActivationID != nil {
20804		objectMap["ServicePackageActivationId"] = dssii.ServicePackageActivationID
20805	}
20806	if dssii.HostProcessID != nil {
20807		objectMap["HostProcessId"] = dssii.HostProcessID
20808	}
20809	if dssii.ServiceKind != "" {
20810		objectMap["ServiceKind"] = dssii.ServiceKind
20811	}
20812	return json.Marshal(objectMap)
20813}
20814
20815// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20816func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
20817	return nil, false
20818}
20819
20820// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20821func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
20822	return &dssii, true
20823}
20824
20825// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20826func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
20827	return nil, false
20828}
20829
20830// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20831func (dssii DeployedStatelessServiceInstanceInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
20832	return &dssii, true
20833}
20834
20835// DeployServicePackageToNodeDescription defines description for downloading packages associated with a
20836// service manifest to image cache on a Service Fabric node.
20837type DeployServicePackageToNodeDescription struct {
20838	// ServiceManifestName - The name of service manifest whose packages need to be downloaded.
20839	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20840	// ApplicationTypeName - The application type name as defined in the application manifest.
20841	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
20842	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
20843	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
20844	// NodeName - The name of a Service Fabric node.
20845	NodeName *string `json:"NodeName,omitempty"`
20846	// PackageSharingPolicy - List of package sharing policy information.
20847	PackageSharingPolicy *[]PackageSharingPolicyInfo `json:"PackageSharingPolicy,omitempty"`
20848}
20849
20850// DiagnosticsDescription describes the diagnostics options available
20851type DiagnosticsDescription struct {
20852	// Sinks - List of supported sinks that can be referenced.
20853	Sinks *[]BasicDiagnosticsSinkProperties `json:"sinks,omitempty"`
20854	// Enabled - Status of whether or not sinks are enabled.
20855	Enabled *bool `json:"enabled,omitempty"`
20856	// DefaultSinkRefs - The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.
20857	DefaultSinkRefs *[]string `json:"defaultSinkRefs,omitempty"`
20858}
20859
20860// UnmarshalJSON is the custom unmarshaler for DiagnosticsDescription struct.
20861func (dd *DiagnosticsDescription) UnmarshalJSON(body []byte) error {
20862	var m map[string]*json.RawMessage
20863	err := json.Unmarshal(body, &m)
20864	if err != nil {
20865		return err
20866	}
20867	for k, v := range m {
20868		switch k {
20869		case "sinks":
20870			if v != nil {
20871				sinks, err := unmarshalBasicDiagnosticsSinkPropertiesArray(*v)
20872				if err != nil {
20873					return err
20874				}
20875				dd.Sinks = &sinks
20876			}
20877		case "enabled":
20878			if v != nil {
20879				var enabled bool
20880				err = json.Unmarshal(*v, &enabled)
20881				if err != nil {
20882					return err
20883				}
20884				dd.Enabled = &enabled
20885			}
20886		case "defaultSinkRefs":
20887			if v != nil {
20888				var defaultSinkRefs []string
20889				err = json.Unmarshal(*v, &defaultSinkRefs)
20890				if err != nil {
20891					return err
20892				}
20893				dd.DefaultSinkRefs = &defaultSinkRefs
20894			}
20895		}
20896	}
20897
20898	return nil
20899}
20900
20901// DiagnosticsRef reference to sinks in DiagnosticsDescription.
20902type DiagnosticsRef struct {
20903	// Enabled - Status of whether or not sinks are enabled.
20904	Enabled *bool `json:"enabled,omitempty"`
20905	// SinkRefs - List of sinks to be used if enabled. References the list of sinks in DiagnosticsDescription.
20906	SinkRefs *[]string `json:"sinkRefs,omitempty"`
20907}
20908
20909// BasicDiagnosticsSinkProperties properties of a DiagnosticsSink.
20910type BasicDiagnosticsSinkProperties interface {
20911	AsDiagnosticsSinkProperties() (*DiagnosticsSinkProperties, bool)
20912}
20913
20914// DiagnosticsSinkProperties properties of a DiagnosticsSink.
20915type DiagnosticsSinkProperties struct {
20916	// Name - Name of the sink. This value is referenced by DiagnosticsReferenceDescription
20917	Name *string `json:"name,omitempty"`
20918	// Description - A description of the sink.
20919	Description *string `json:"description,omitempty"`
20920	// Kind - Possible values include: 'KindDiagnosticsSinkProperties'
20921	Kind KindBasicDiagnosticsSinkProperties `json:"kind,omitempty"`
20922}
20923
20924func unmarshalBasicDiagnosticsSinkProperties(body []byte) (BasicDiagnosticsSinkProperties, error) {
20925	var m map[string]interface{}
20926	err := json.Unmarshal(body, &m)
20927	if err != nil {
20928		return nil, err
20929	}
20930
20931	switch m["kind"] {
20932	default:
20933		var dsp DiagnosticsSinkProperties
20934		err := json.Unmarshal(body, &dsp)
20935		return dsp, err
20936	}
20937}
20938func unmarshalBasicDiagnosticsSinkPropertiesArray(body []byte) ([]BasicDiagnosticsSinkProperties, error) {
20939	var rawMessages []*json.RawMessage
20940	err := json.Unmarshal(body, &rawMessages)
20941	if err != nil {
20942		return nil, err
20943	}
20944
20945	dspArray := make([]BasicDiagnosticsSinkProperties, len(rawMessages))
20946
20947	for index, rawMessage := range rawMessages {
20948		dsp, err := unmarshalBasicDiagnosticsSinkProperties(*rawMessage)
20949		if err != nil {
20950			return nil, err
20951		}
20952		dspArray[index] = dsp
20953	}
20954	return dspArray, nil
20955}
20956
20957// MarshalJSON is the custom marshaler for DiagnosticsSinkProperties.
20958func (dsp DiagnosticsSinkProperties) MarshalJSON() ([]byte, error) {
20959	dsp.Kind = KindDiagnosticsSinkProperties
20960	objectMap := make(map[string]interface{})
20961	if dsp.Name != nil {
20962		objectMap["name"] = dsp.Name
20963	}
20964	if dsp.Description != nil {
20965		objectMap["description"] = dsp.Description
20966	}
20967	if dsp.Kind != "" {
20968		objectMap["kind"] = dsp.Kind
20969	}
20970	return json.Marshal(objectMap)
20971}
20972
20973// AsDiagnosticsSinkProperties is the BasicDiagnosticsSinkProperties implementation for DiagnosticsSinkProperties.
20974func (dsp DiagnosticsSinkProperties) AsDiagnosticsSinkProperties() (*DiagnosticsSinkProperties, bool) {
20975	return &dsp, true
20976}
20977
20978// AsBasicDiagnosticsSinkProperties is the BasicDiagnosticsSinkProperties implementation for DiagnosticsSinkProperties.
20979func (dsp DiagnosticsSinkProperties) AsBasicDiagnosticsSinkProperties() (BasicDiagnosticsSinkProperties, bool) {
20980	return &dsp, true
20981}
20982
20983// DoublePropertyValue describes a Service Fabric property value of type Double.
20984type DoublePropertyValue struct {
20985	// Data - The data of the property value.
20986	Data *float64 `json:"Data,omitempty"`
20987	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
20988	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
20989}
20990
20991// MarshalJSON is the custom marshaler for DoublePropertyValue.
20992func (dpv DoublePropertyValue) MarshalJSON() ([]byte, error) {
20993	dpv.Kind = KindDouble
20994	objectMap := make(map[string]interface{})
20995	if dpv.Data != nil {
20996		objectMap["Data"] = dpv.Data
20997	}
20998	if dpv.Kind != "" {
20999		objectMap["Kind"] = dpv.Kind
21000	}
21001	return json.Marshal(objectMap)
21002}
21003
21004// AsBinaryPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
21005func (dpv DoublePropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
21006	return nil, false
21007}
21008
21009// AsInt64PropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
21010func (dpv DoublePropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
21011	return nil, false
21012}
21013
21014// AsDoublePropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
21015func (dpv DoublePropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
21016	return &dpv, true
21017}
21018
21019// AsStringPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
21020func (dpv DoublePropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
21021	return nil, false
21022}
21023
21024// AsGUIDPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
21025func (dpv DoublePropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
21026	return nil, false
21027}
21028
21029// AsPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
21030func (dpv DoublePropertyValue) AsPropertyValue() (*PropertyValue, bool) {
21031	return nil, false
21032}
21033
21034// AsBasicPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
21035func (dpv DoublePropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
21036	return &dpv, true
21037}
21038
21039// EnableBackupDescription specifies the parameters needed to enable periodic backup.
21040type EnableBackupDescription struct {
21041	// BackupPolicyName - Name of the backup policy to be used for enabling periodic backups.
21042	BackupPolicyName *string `json:"BackupPolicyName,omitempty"`
21043}
21044
21045// EndpointProperties describes a container endpoint.
21046type EndpointProperties struct {
21047	// Name - The name of the endpoint.
21048	Name *string `json:"name,omitempty"`
21049	// Port - Port used by the container.
21050	Port *int32 `json:"port,omitempty"`
21051}
21052
21053// EnsureAvailabilitySafetyCheck safety check that waits to ensure the availability of the partition. It
21054// waits until there are replicas available such that bringing down this replica will not cause
21055// availability loss for the partition.
21056type EnsureAvailabilitySafetyCheck struct {
21057	// PartitionID - Id of the partition which is undergoing the safety check.
21058	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
21059	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
21060	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
21061}
21062
21063// MarshalJSON is the custom marshaler for EnsureAvailabilitySafetyCheck.
21064func (easc EnsureAvailabilitySafetyCheck) MarshalJSON() ([]byte, error) {
21065	easc.Kind = KindEnsureAvailability
21066	objectMap := make(map[string]interface{})
21067	if easc.PartitionID != nil {
21068		objectMap["PartitionId"] = easc.PartitionID
21069	}
21070	if easc.Kind != "" {
21071		objectMap["Kind"] = easc.Kind
21072	}
21073	return json.Marshal(objectMap)
21074}
21075
21076// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21077func (easc EnsureAvailabilitySafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
21078	return nil, false
21079}
21080
21081// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21082func (easc EnsureAvailabilitySafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
21083	return &easc, true
21084}
21085
21086// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21087func (easc EnsureAvailabilitySafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
21088	return &easc, true
21089}
21090
21091// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21092func (easc EnsureAvailabilitySafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
21093	return nil, false
21094}
21095
21096// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21097func (easc EnsureAvailabilitySafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
21098	return nil, false
21099}
21100
21101// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21102func (easc EnsureAvailabilitySafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
21103	return nil, false
21104}
21105
21106// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21107func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
21108	return nil, false
21109}
21110
21111// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21112func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
21113	return nil, false
21114}
21115
21116// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21117func (easc EnsureAvailabilitySafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
21118	return nil, false
21119}
21120
21121// AsSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21122func (easc EnsureAvailabilitySafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
21123	return nil, false
21124}
21125
21126// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
21127func (easc EnsureAvailabilitySafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
21128	return &easc, true
21129}
21130
21131// EnsurePartitionQurumSafetyCheck safety check that ensures that a quorum of replicas are not lost for a
21132// partition.
21133type EnsurePartitionQurumSafetyCheck struct {
21134	// PartitionID - Id of the partition which is undergoing the safety check.
21135	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
21136	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
21137	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
21138}
21139
21140// MarshalJSON is the custom marshaler for EnsurePartitionQurumSafetyCheck.
21141func (epqsc EnsurePartitionQurumSafetyCheck) MarshalJSON() ([]byte, error) {
21142	epqsc.Kind = KindEnsurePartitionQuorum
21143	objectMap := make(map[string]interface{})
21144	if epqsc.PartitionID != nil {
21145		objectMap["PartitionId"] = epqsc.PartitionID
21146	}
21147	if epqsc.Kind != "" {
21148		objectMap["Kind"] = epqsc.Kind
21149	}
21150	return json.Marshal(objectMap)
21151}
21152
21153// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21154func (epqsc EnsurePartitionQurumSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
21155	return nil, false
21156}
21157
21158// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21159func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
21160	return &epqsc, true
21161}
21162
21163// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21164func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
21165	return nil, false
21166}
21167
21168// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21169func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
21170	return &epqsc, true
21171}
21172
21173// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21174func (epqsc EnsurePartitionQurumSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
21175	return nil, false
21176}
21177
21178// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21179func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
21180	return nil, false
21181}
21182
21183// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21184func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
21185	return nil, false
21186}
21187
21188// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21189func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
21190	return nil, false
21191}
21192
21193// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21194func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
21195	return nil, false
21196}
21197
21198// AsSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21199func (epqsc EnsurePartitionQurumSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
21200	return nil, false
21201}
21202
21203// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
21204func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
21205	return &epqsc, true
21206}
21207
21208// EntityHealth health information common to all entities in the cluster. It contains the aggregated health
21209// state, health events and unhealthy evaluation.
21210type EntityHealth struct {
21211	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
21212	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
21213	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
21214	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
21215	// HealthEvents - The list of health events reported on the entity.
21216	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
21217	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
21218	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
21219	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
21220	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
21221}
21222
21223// EntityHealthState a base type for the health state of various entities in the cluster. It contains the
21224// aggregated health state.
21225type EntityHealthState struct {
21226	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
21227	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
21228}
21229
21230// EntityHealthStateChunk a base type for the health state chunk of various entities in the cluster. It
21231// contains the aggregated health state.
21232type EntityHealthStateChunk struct {
21233	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
21234	HealthState HealthState `json:"HealthState,omitempty"`
21235}
21236
21237// EntityHealthStateChunkList a base type for the list of health state chunks found in the cluster. It
21238// contains the total number of health states that match the input filters.
21239type EntityHealthStateChunkList struct {
21240	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
21241	TotalCount *int64 `json:"TotalCount,omitempty"`
21242}
21243
21244// EntityKindHealthStateCount represents health state count for entities of the specified entity kind.
21245type EntityKindHealthStateCount struct {
21246	// EntityKind - The entity kind for which health states are evaluated. Possible values include: 'EntityKindInvalid', 'EntityKindNode', 'EntityKindPartition', 'EntityKindService', 'EntityKindApplication', 'EntityKindReplica', 'EntityKindDeployedApplication', 'EntityKindDeployedServicePackage', 'EntityKindCluster'
21247	EntityKind EntityKind `json:"EntityKind,omitempty"`
21248	// HealthStateCount - The health state count for the entities of the specified kind.
21249	HealthStateCount *HealthStateCount `json:"HealthStateCount,omitempty"`
21250}
21251
21252// EnvironmentVariable describes an environment variable for the container.
21253type EnvironmentVariable struct {
21254	// Name - The name of the environment variable.
21255	Name *string `json:"name,omitempty"`
21256	// Value - The value of the environment variable.
21257	Value *string `json:"value,omitempty"`
21258}
21259
21260// Epoch an Epoch is a configuration number for the partition as a whole. When the configuration of the
21261// replica set changes, for example when the Primary replica changes, the operations that are replicated
21262// from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary
21263// replica.
21264type Epoch struct {
21265	// ConfigurationVersion - The current configuration number of this Epoch. The configuration number is an increasing value that is updated whenever the configuration of this replica set changes.
21266	ConfigurationVersion *string `json:"ConfigurationVersion,omitempty"`
21267	// DataLossVersion - The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica.
21268	DataLossVersion *string `json:"DataLossVersion,omitempty"`
21269}
21270
21271// EventHealthEvaluation represents health evaluation of a HealthEvent that was reported on the entity.
21272// The health evaluation is returned when evaluating health of an entity results in Error or Warning.
21273type EventHealthEvaluation struct {
21274	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors. The field is specified in the health policy used to evaluate the entity.
21275	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
21276	// UnhealthyEvent - Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.
21277	UnhealthyEvent *HealthEvent `json:"UnhealthyEvent,omitempty"`
21278	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
21279	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
21280	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
21281	Description *string `json:"Description,omitempty"`
21282	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
21283	Kind Kind `json:"Kind,omitempty"`
21284}
21285
21286// MarshalJSON is the custom marshaler for EventHealthEvaluation.
21287func (ehe EventHealthEvaluation) MarshalJSON() ([]byte, error) {
21288	ehe.Kind = KindEvent
21289	objectMap := make(map[string]interface{})
21290	if ehe.ConsiderWarningAsError != nil {
21291		objectMap["ConsiderWarningAsError"] = ehe.ConsiderWarningAsError
21292	}
21293	if ehe.UnhealthyEvent != nil {
21294		objectMap["UnhealthyEvent"] = ehe.UnhealthyEvent
21295	}
21296	if ehe.AggregatedHealthState != "" {
21297		objectMap["AggregatedHealthState"] = ehe.AggregatedHealthState
21298	}
21299	if ehe.Description != nil {
21300		objectMap["Description"] = ehe.Description
21301	}
21302	if ehe.Kind != "" {
21303		objectMap["Kind"] = ehe.Kind
21304	}
21305	return json.Marshal(objectMap)
21306}
21307
21308// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21309func (ehe EventHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
21310	return nil, false
21311}
21312
21313// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21314func (ehe EventHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
21315	return nil, false
21316}
21317
21318// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21319func (ehe EventHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
21320	return nil, false
21321}
21322
21323// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21324func (ehe EventHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
21325	return nil, false
21326}
21327
21328// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21329func (ehe EventHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
21330	return nil, false
21331}
21332
21333// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21334func (ehe EventHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
21335	return nil, false
21336}
21337
21338// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21339func (ehe EventHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
21340	return nil, false
21341}
21342
21343// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21344func (ehe EventHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
21345	return nil, false
21346}
21347
21348// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21349func (ehe EventHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
21350	return &ehe, true
21351}
21352
21353// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21354func (ehe EventHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
21355	return nil, false
21356}
21357
21358// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21359func (ehe EventHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
21360	return nil, false
21361}
21362
21363// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21364func (ehe EventHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
21365	return nil, false
21366}
21367
21368// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21369func (ehe EventHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
21370	return nil, false
21371}
21372
21373// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21374func (ehe EventHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
21375	return nil, false
21376}
21377
21378// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21379func (ehe EventHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
21380	return nil, false
21381}
21382
21383// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21384func (ehe EventHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
21385	return nil, false
21386}
21387
21388// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21389func (ehe EventHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
21390	return nil, false
21391}
21392
21393// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21394func (ehe EventHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
21395	return nil, false
21396}
21397
21398// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21399func (ehe EventHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
21400	return nil, false
21401}
21402
21403// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21404func (ehe EventHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
21405	return nil, false
21406}
21407
21408// AsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21409func (ehe EventHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
21410	return nil, false
21411}
21412
21413// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21414func (ehe EventHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
21415	return &ehe, true
21416}
21417
21418// ExecutingFaultsChaosEvent describes a Chaos event that gets generated when Chaos has decided on the
21419// faults for an iteration. This Chaos event contains the details of the faults as a list of strings.
21420type ExecutingFaultsChaosEvent struct {
21421	// Faults - List of string description of the faults that Chaos decided to execute in an iteration.
21422	Faults *[]string `json:"Faults,omitempty"`
21423	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
21424	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
21425	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
21426	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
21427}
21428
21429// MarshalJSON is the custom marshaler for ExecutingFaultsChaosEvent.
21430func (efce ExecutingFaultsChaosEvent) MarshalJSON() ([]byte, error) {
21431	efce.Kind = KindExecutingFaults
21432	objectMap := make(map[string]interface{})
21433	if efce.Faults != nil {
21434		objectMap["Faults"] = efce.Faults
21435	}
21436	if efce.TimeStampUtc != nil {
21437		objectMap["TimeStampUtc"] = efce.TimeStampUtc
21438	}
21439	if efce.Kind != "" {
21440		objectMap["Kind"] = efce.Kind
21441	}
21442	return json.Marshal(objectMap)
21443}
21444
21445// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21446func (efce ExecutingFaultsChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
21447	return &efce, true
21448}
21449
21450// AsStartedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21451func (efce ExecutingFaultsChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
21452	return nil, false
21453}
21454
21455// AsStoppedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21456func (efce ExecutingFaultsChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
21457	return nil, false
21458}
21459
21460// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21461func (efce ExecutingFaultsChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
21462	return nil, false
21463}
21464
21465// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21466func (efce ExecutingFaultsChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
21467	return nil, false
21468}
21469
21470// AsWaitingChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21471func (efce ExecutingFaultsChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
21472	return nil, false
21473}
21474
21475// AsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21476func (efce ExecutingFaultsChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
21477	return nil, false
21478}
21479
21480// AsBasicChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21481func (efce ExecutingFaultsChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
21482	return &efce, true
21483}
21484
21485// ExternalStoreProvisionApplicationTypeDescription describes the operation to register or provision an
21486// application type using an application package from an external store instead of a package uploaded to
21487// the Service Fabric image store.
21488type ExternalStoreProvisionApplicationTypeDescription struct {
21489	// ApplicationPackageDownloadURI - The path to the '.sfpkg' application package from where the application package can be downloaded using HTTP or HTTPS protocols. The application package can be stored in an external store that provides GET operation to download the file. Supported protocols are HTTP and HTTPS, and the path must allow READ access.
21490	ApplicationPackageDownloadURI *string `json:"ApplicationPackageDownloadUri,omitempty"`
21491	// ApplicationTypeName - The application type name represents the name of the application type found in the application manifest.
21492	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
21493	// ApplicationTypeVersion - The application type version represents the version of the application type found in the application manifest.
21494	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
21495	// Async - Indicates whether or not provisioning should occur asynchronously. When set to true, the provision operation returns when the request is accepted by the system, and the provision operation continues without any timeout limit. The default value is false. For large application packages, we recommend setting the value to true.
21496	Async *bool `json:"Async,omitempty"`
21497	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
21498	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
21499}
21500
21501// MarshalJSON is the custom marshaler for ExternalStoreProvisionApplicationTypeDescription.
21502func (espatd ExternalStoreProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
21503	espatd.Kind = KindExternalStore
21504	objectMap := make(map[string]interface{})
21505	if espatd.ApplicationPackageDownloadURI != nil {
21506		objectMap["ApplicationPackageDownloadUri"] = espatd.ApplicationPackageDownloadURI
21507	}
21508	if espatd.ApplicationTypeName != nil {
21509		objectMap["ApplicationTypeName"] = espatd.ApplicationTypeName
21510	}
21511	if espatd.ApplicationTypeVersion != nil {
21512		objectMap["ApplicationTypeVersion"] = espatd.ApplicationTypeVersion
21513	}
21514	if espatd.Async != nil {
21515		objectMap["Async"] = espatd.Async
21516	}
21517	if espatd.Kind != "" {
21518		objectMap["Kind"] = espatd.Kind
21519	}
21520	return json.Marshal(objectMap)
21521}
21522
21523// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21524func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
21525	return nil, false
21526}
21527
21528// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21529func (espatd ExternalStoreProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
21530	return &espatd, true
21531}
21532
21533// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21534func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
21535	return nil, false
21536}
21537
21538// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21539func (espatd ExternalStoreProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
21540	return &espatd, true
21541}
21542
21543// FabricCodeVersionInfo information about a Service Fabric code version.
21544type FabricCodeVersionInfo struct {
21545	// CodeVersion - The product version of Service Fabric.
21546	CodeVersion *string `json:"CodeVersion,omitempty"`
21547}
21548
21549// FabricConfigVersionInfo information about a Service Fabric config version.
21550type FabricConfigVersionInfo struct {
21551	// ConfigVersion - The config version of Service Fabric.
21552	ConfigVersion *string `json:"ConfigVersion,omitempty"`
21553}
21554
21555// FabricError the REST API operations for Service Fabric return standard HTTP status codes. This type
21556// defines the additional information returned from the Service Fabric API operations that are not
21557// successful.
21558type FabricError struct {
21559	// Error - Error object containing error code and error message.
21560	Error *FabricErrorError `json:"Error,omitempty"`
21561}
21562
21563// FabricErrorError error object containing error code and error message.
21564type FabricErrorError struct {
21565	// Code - Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.
21566	//   - Possible values of the error code for HTTP status code 400 (Bad Request)
21567	//     - "FABRIC_E_INVALID_PARTITION_KEY"
21568	//     - "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
21569	//     - "FABRIC_E_INVALID_ADDRESS"
21570	//     - "FABRIC_E_APPLICATION_NOT_UPGRADING"
21571	//     - "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
21572	//     - "FABRIC_E_FABRIC_NOT_UPGRADING"
21573	//     - "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
21574	//     - "FABRIC_E_INVALID_CONFIGURATION"
21575	//     - "FABRIC_E_INVALID_NAME_URI"
21576	//     - "FABRIC_E_PATH_TOO_LONG"
21577	//     - "FABRIC_E_KEY_TOO_LARGE"
21578	//     - "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
21579	//     - "FABRIC_E_INVALID_ATOMIC_GROUP"
21580	//     - "FABRIC_E_VALUE_EMPTY"
21581	//     - "FABRIC_E_BACKUP_IS_ENABLED"
21582	//     - "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
21583	//     - "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
21584	//     - "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
21585	//     - "E_INVALIDARG"
21586	//   - Possible values of the error code for HTTP status code 404 (Not Found)
21587	//     - "FABRIC_E_NODE_NOT_FOUND"
21588	//     - "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
21589	//     - "FABRIC_E_APPLICATION_NOT_FOUND"
21590	//     - "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
21591	//     - "FABRIC_E_SERVICE_DOES_NOT_EXIST"
21592	//     - "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
21593	//     - "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
21594	//     - "FABRIC_E_PARTITION_NOT_FOUND"
21595	//     - "FABRIC_E_REPLICA_DOES_NOT_EXIST"
21596	//     - "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
21597	//     - "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
21598	//     - "FABRIC_E_DIRECTORY_NOT_FOUND"
21599	//     - "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
21600	//     - "FABRIC_E_FILE_NOT_FOUND"
21601	//     - "FABRIC_E_NAME_DOES_NOT_EXIST"
21602	//     - "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
21603	//     - "FABRIC_E_ENUMERATION_COMPLETED"
21604	//     - "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
21605	//     - "FABRIC_E_KEY_NOT_FOUND"
21606	//     - "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
21607	//     - "FABRIC_E_BACKUP_NOT_ENABLED"
21608	//     - "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
21609	//     - "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
21610	//   - Possible values of the error code for HTTP status code 409 (Conflict)
21611	//     - "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
21612	//     - "FABRIC_E_APPLICATION_ALREADY_EXISTS"
21613	//     - "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
21614	//     - "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
21615	//     - "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
21616	//     - "FABRIC_E_SERVICE_ALREADY_EXISTS"
21617	//     - "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
21618	//     - "FABRIC_E_APPLICATION_TYPE_IN_USE"
21619	//     - "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
21620	//     - "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
21621	//     - "FABRIC_E_FABRIC_VERSION_IN_USE"
21622	//     - "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
21623	//     - "FABRIC_E_NAME_ALREADY_EXISTS"
21624	//     - "FABRIC_E_NAME_NOT_EMPTY"
21625	//     - "FABRIC_E_PROPERTY_CHECK_FAILED"
21626	//     - "FABRIC_E_SERVICE_METADATA_MISMATCH"
21627	//     - "FABRIC_E_SERVICE_TYPE_MISMATCH"
21628	//     - "FABRIC_E_HEALTH_STALE_REPORT"
21629	//     - "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
21630	//     - "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
21631	//     - "FABRIC_E_INSTANCE_ID_MISMATCH"
21632	//     - "FABRIC_E_BACKUP_IN_PROGRESS"
21633	//     - "FABRIC_E_RESTORE_IN_PROGRESS"
21634	//     - "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
21635	//   - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)
21636	//     - "FABRIC_E_VALUE_TOO_LARGE"
21637	//   - Possible values of the error code for HTTP status code 500 (Internal Server Error)
21638	//     - "FABRIC_E_NODE_IS_UP"
21639	//     - "E_FAIL"
21640	//     - "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS"
21641	//     - "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND"
21642	//     - "FABRIC_E_VOLUME_ALREADY_EXISTS"
21643	//     - "FABRIC_E_VOLUME_NOT_FOUND"
21644	//     - "SerializationError"
21645	//   - Possible values of the error code for HTTP status code 503 (Service Unavailable)
21646	//     - "FABRIC_E_NO_WRITE_QUORUM"
21647	//     - "FABRIC_E_NOT_PRIMARY"
21648	//     - "FABRIC_E_NOT_READY"
21649	//     - "FABRIC_E_RECONFIGURATION_PENDING"
21650	//     - "FABRIC_E_SERVICE_OFFLINE"
21651	//     - "E_ABORT"
21652	//     - "FABRIC_E_VALUE_TOO_LARGE"
21653	//   - Possible values of the error code for HTTP status code 504 (Gateway Timeout)
21654	//     - "FABRIC_E_COMMUNICATION_ERROR"
21655	//     - "FABRIC_E_OPERATION_NOT_COMPLETE"
21656	//     - "FABRIC_E_TIMEOUT". Possible values include: 'FABRICEINVALIDPARTITIONKEY', 'FABRICEIMAGEBUILDERVALIDATIONERROR', 'FABRICEINVALIDADDRESS', 'FABRICEAPPLICATIONNOTUPGRADING', 'FABRICEAPPLICATIONUPGRADEVALIDATIONERROR', 'FABRICEFABRICNOTUPGRADING', 'FABRICEFABRICUPGRADEVALIDATIONERROR', 'FABRICEINVALIDCONFIGURATION', 'FABRICEINVALIDNAMEURI', 'FABRICEPATHTOOLONG', 'FABRICEKEYTOOLARGE', 'FABRICESERVICEAFFINITYCHAINNOTSUPPORTED', 'FABRICEINVALIDATOMICGROUP', 'FABRICEVALUEEMPTY', 'FABRICENODENOTFOUND', 'FABRICEAPPLICATIONTYPENOTFOUND', 'FABRICEAPPLICATIONNOTFOUND', 'FABRICESERVICETYPENOTFOUND', 'FABRICESERVICEDOESNOTEXIST', 'FABRICESERVICETYPETEMPLATENOTFOUND', 'FABRICECONFIGURATIONSECTIONNOTFOUND', 'FABRICEPARTITIONNOTFOUND', 'FABRICEREPLICADOESNOTEXIST', 'FABRICESERVICEGROUPDOESNOTEXIST', 'FABRICECONFIGURATIONPARAMETERNOTFOUND', 'FABRICEDIRECTORYNOTFOUND', 'FABRICEFABRICVERSIONNOTFOUND', 'FABRICEFILENOTFOUND', 'FABRICENAMEDOESNOTEXIST', 'FABRICEPROPERTYDOESNOTEXIST', 'FABRICEENUMERATIONCOMPLETED', 'FABRICESERVICEMANIFESTNOTFOUND', 'FABRICEKEYNOTFOUND', 'FABRICEHEALTHENTITYNOTFOUND', 'FABRICEAPPLICATIONTYPEALREADYEXISTS', 'FABRICEAPPLICATIONALREADYEXISTS', 'FABRICEAPPLICATIONALREADYINTARGETVERSION', 'FABRICEAPPLICATIONTYPEPROVISIONINPROGRESS', 'FABRICEAPPLICATIONUPGRADEINPROGRESS', 'FABRICESERVICEALREADYEXISTS', 'FABRICESERVICEGROUPALREADYEXISTS', 'FABRICEAPPLICATIONTYPEINUSE', 'FABRICEFABRICALREADYINTARGETVERSION', 'FABRICEFABRICVERSIONALREADYEXISTS', 'FABRICEFABRICVERSIONINUSE', 'FABRICEFABRICUPGRADEINPROGRESS', 'FABRICENAMEALREADYEXISTS', 'FABRICENAMENOTEMPTY', 'FABRICEPROPERTYCHECKFAILED', 'FABRICESERVICEMETADATAMISMATCH', 'FABRICESERVICETYPEMISMATCH', 'FABRICEHEALTHSTALEREPORT', 'FABRICESEQUENCENUMBERCHECKFAILED', 'FABRICENODEHASNOTSTOPPEDYET', 'FABRICEINSTANCEIDMISMATCH', 'FABRICEVALUETOOLARGE', 'FABRICENOWRITEQUORUM', 'FABRICENOTPRIMARY', 'FABRICENOTREADY', 'FABRICERECONFIGURATIONPENDING', 'FABRICESERVICEOFFLINE', 'EABORT', 'FABRICECOMMUNICATIONERROR', 'FABRICEOPERATIONNOTCOMPLETE', 'FABRICETIMEOUT', 'FABRICENODEISUP', 'EFAIL', 'FABRICEBACKUPISENABLED', 'FABRICERESTORESOURCETARGETPARTITIONMISMATCH', 'FABRICEINVALIDFORSTATELESSSERVICES', 'FABRICEBACKUPNOTENABLED', 'FABRICEBACKUPPOLICYNOTEXISTING', 'FABRICEFAULTANALYSISSERVICENOTEXISTING', 'FABRICEBACKUPINPROGRESS', 'FABRICERESTOREINPROGRESS', 'FABRICEBACKUPPOLICYALREADYEXISTING', 'FABRICEINVALIDSERVICESCALINGPOLICY', 'EINVALIDARG', 'FABRICESINGLEINSTANCEAPPLICATIONALREADYEXISTS', 'FABRICESINGLEINSTANCEAPPLICATIONNOTFOUND', 'FABRICEVOLUMEALREADYEXISTS', 'FABRICEVOLUMENOTFOUND', 'SerializationError'
21657	Code FabricErrorCodes `json:"Code,omitempty"`
21658	// Message - Error message.
21659	Message *string `json:"Message,omitempty"`
21660}
21661
21662// BasicFabricEvent represents the base for all Fabric Events.
21663type BasicFabricEvent interface {
21664	AsApplicationEvent() (*ApplicationEvent, bool)
21665	AsBasicApplicationEvent() (BasicApplicationEvent, bool)
21666	AsClusterEvent() (*ClusterEvent, bool)
21667	AsBasicClusterEvent() (BasicClusterEvent, bool)
21668	AsContainerInstanceEvent() (*ContainerInstanceEvent, bool)
21669	AsNodeEvent() (*NodeEvent, bool)
21670	AsBasicNodeEvent() (BasicNodeEvent, bool)
21671	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
21672	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
21673	AsPartitionEvent() (*PartitionEvent, bool)
21674	AsBasicPartitionEvent() (BasicPartitionEvent, bool)
21675	AsReplicaEvent() (*ReplicaEvent, bool)
21676	AsBasicReplicaEvent() (BasicReplicaEvent, bool)
21677	AsServiceEvent() (*ServiceEvent, bool)
21678	AsBasicServiceEvent() (BasicServiceEvent, bool)
21679	AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool)
21680	AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool)
21681	AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool)
21682	AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool)
21683	AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool)
21684	AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool)
21685	AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool)
21686	AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool)
21687	AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool)
21688	AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool)
21689	AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool)
21690	AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool)
21691	AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool)
21692	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
21693	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
21694	AsNodeAddedEvent() (*NodeAddedEvent, bool)
21695	AsNodeCloseEvent() (*NodeCloseEvent, bool)
21696	AsNodeClosingEvent() (*NodeClosingEvent, bool)
21697	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
21698	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
21699	AsNodeDownEvent() (*NodeDownEvent, bool)
21700	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
21701	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
21702	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
21703	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
21704	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
21705	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
21706	AsNodeUpEvent() (*NodeUpEvent, bool)
21707	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
21708	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
21709	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
21710	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
21711	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
21712	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
21713	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
21714	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
21715	AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool)
21716	AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool)
21717	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
21718	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
21719	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
21720	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
21721	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
21722	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
21723	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
21724	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
21725	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
21726	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
21727	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
21728	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
21729	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
21730	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
21731	AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool)
21732	AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool)
21733	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
21734	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
21735	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
21736	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
21737	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
21738	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
21739	AsFabricEvent() (*FabricEvent, bool)
21740}
21741
21742// FabricEvent represents the base for all Fabric Events.
21743type FabricEvent struct {
21744	// EventInstanceID - The identifier for the FabricEvent instance.
21745	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
21746	// TimeStamp - The time event was logged.
21747	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
21748	// HasCorrelatedEvents - Shows there is existing related events available.
21749	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
21750	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
21751	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
21752}
21753
21754func unmarshalBasicFabricEvent(body []byte) (BasicFabricEvent, error) {
21755	var m map[string]interface{}
21756	err := json.Unmarshal(body, &m)
21757	if err != nil {
21758		return nil, err
21759	}
21760
21761	switch m["Kind"] {
21762	case string(KindApplicationEvent):
21763		var ae ApplicationEvent
21764		err := json.Unmarshal(body, &ae)
21765		return ae, err
21766	case string(KindClusterEvent):
21767		var ce ClusterEvent
21768		err := json.Unmarshal(body, &ce)
21769		return ce, err
21770	case string(KindContainerInstanceEvent):
21771		var cie ContainerInstanceEvent
21772		err := json.Unmarshal(body, &cie)
21773		return cie, err
21774	case string(KindNodeEvent):
21775		var ne NodeEvent
21776		err := json.Unmarshal(body, &ne)
21777		return ne, err
21778	case string(KindPartitionAnalysisEvent):
21779		var pae PartitionAnalysisEvent
21780		err := json.Unmarshal(body, &pae)
21781		return pae, err
21782	case string(KindPartitionEvent):
21783		var peVar PartitionEvent
21784		err := json.Unmarshal(body, &peVar)
21785		return peVar, err
21786	case string(KindReplicaEvent):
21787		var re ReplicaEvent
21788		err := json.Unmarshal(body, &re)
21789		return re, err
21790	case string(KindServiceEvent):
21791		var se ServiceEvent
21792		err := json.Unmarshal(body, &se)
21793		return se, err
21794	case string(KindApplicationCreated):
21795		var ace ApplicationCreatedEvent
21796		err := json.Unmarshal(body, &ace)
21797		return ace, err
21798	case string(KindApplicationDeleted):
21799		var ade ApplicationDeletedEvent
21800		err := json.Unmarshal(body, &ade)
21801		return ade, err
21802	case string(KindApplicationHealthReportCreated):
21803		var ahrce ApplicationHealthReportCreatedEvent
21804		err := json.Unmarshal(body, &ahrce)
21805		return ahrce, err
21806	case string(KindApplicationHealthReportExpired):
21807		var ahree ApplicationHealthReportExpiredEvent
21808		err := json.Unmarshal(body, &ahree)
21809		return ahree, err
21810	case string(KindApplicationUpgradeComplete):
21811		var auce ApplicationUpgradeCompleteEvent
21812		err := json.Unmarshal(body, &auce)
21813		return auce, err
21814	case string(KindApplicationUpgradeDomainComplete):
21815		var audce ApplicationUpgradeDomainCompleteEvent
21816		err := json.Unmarshal(body, &audce)
21817		return audce, err
21818	case string(KindApplicationUpgradeRollbackComplete):
21819		var aurce ApplicationUpgradeRollbackCompleteEvent
21820		err := json.Unmarshal(body, &aurce)
21821		return aurce, err
21822	case string(KindApplicationUpgradeRollbackStart):
21823		var aurse ApplicationUpgradeRollbackStartEvent
21824		err := json.Unmarshal(body, &aurse)
21825		return aurse, err
21826	case string(KindApplicationUpgradeStart):
21827		var ause ApplicationUpgradeStartEvent
21828		err := json.Unmarshal(body, &ause)
21829		return ause, err
21830	case string(KindDeployedApplicationHealthReportCreated):
21831		var dahrce DeployedApplicationHealthReportCreatedEvent
21832		err := json.Unmarshal(body, &dahrce)
21833		return dahrce, err
21834	case string(KindDeployedApplicationHealthReportExpired):
21835		var dahree DeployedApplicationHealthReportExpiredEvent
21836		err := json.Unmarshal(body, &dahree)
21837		return dahree, err
21838	case string(KindProcessDeactivated):
21839		var pde ProcessDeactivatedEvent
21840		err := json.Unmarshal(body, &pde)
21841		return pde, err
21842	case string(KindContainerDeactivated):
21843		var cde ContainerDeactivatedEvent
21844		err := json.Unmarshal(body, &cde)
21845		return cde, err
21846	case string(KindNodeAborted):
21847		var nae NodeAbortedEvent
21848		err := json.Unmarshal(body, &nae)
21849		return nae, err
21850	case string(KindNodeAborting):
21851		var nae NodeAbortingEvent
21852		err := json.Unmarshal(body, &nae)
21853		return nae, err
21854	case string(KindNodeAdded):
21855		var nae NodeAddedEvent
21856		err := json.Unmarshal(body, &nae)
21857		return nae, err
21858	case string(KindNodeClose):
21859		var nce NodeCloseEvent
21860		err := json.Unmarshal(body, &nce)
21861		return nce, err
21862	case string(KindNodeClosing):
21863		var nce NodeClosingEvent
21864		err := json.Unmarshal(body, &nce)
21865		return nce, err
21866	case string(KindNodeDeactivateComplete):
21867		var ndce NodeDeactivateCompleteEvent
21868		err := json.Unmarshal(body, &ndce)
21869		return ndce, err
21870	case string(KindNodeDeactivateStart):
21871		var ndse NodeDeactivateStartEvent
21872		err := json.Unmarshal(body, &ndse)
21873		return ndse, err
21874	case string(KindNodeDown):
21875		var nde NodeDownEvent
21876		err := json.Unmarshal(body, &nde)
21877		return nde, err
21878	case string(KindNodeHealthReportCreated):
21879		var nhrce NodeHealthReportCreatedEvent
21880		err := json.Unmarshal(body, &nhrce)
21881		return nhrce, err
21882	case string(KindNodeHealthReportExpired):
21883		var nhree NodeHealthReportExpiredEvent
21884		err := json.Unmarshal(body, &nhree)
21885		return nhree, err
21886	case string(KindNodeOpenedSuccess):
21887		var nose NodeOpenedSuccessEvent
21888		err := json.Unmarshal(body, &nose)
21889		return nose, err
21890	case string(KindNodeOpenFailed):
21891		var nofe NodeOpenFailedEvent
21892		err := json.Unmarshal(body, &nofe)
21893		return nofe, err
21894	case string(KindNodeOpening):
21895		var noe NodeOpeningEvent
21896		err := json.Unmarshal(body, &noe)
21897		return noe, err
21898	case string(KindNodeRemoved):
21899		var nre NodeRemovedEvent
21900		err := json.Unmarshal(body, &nre)
21901		return nre, err
21902	case string(KindNodeUp):
21903		var nue NodeUpEvent
21904		err := json.Unmarshal(body, &nue)
21905		return nue, err
21906	case string(KindPartitionHealthReportCreated):
21907		var phrce PartitionHealthReportCreatedEvent
21908		err := json.Unmarshal(body, &phrce)
21909		return phrce, err
21910	case string(KindPartitionHealthReportExpired):
21911		var phree PartitionHealthReportExpiredEvent
21912		err := json.Unmarshal(body, &phree)
21913		return phree, err
21914	case string(KindPartitionReconfigurationCompleted):
21915		var prce PartitionReconfigurationCompletedEvent
21916		err := json.Unmarshal(body, &prce)
21917		return prce, err
21918	case string(KindPartitionPrimaryMoveAnalysis):
21919		var ppmae PartitionPrimaryMoveAnalysisEvent
21920		err := json.Unmarshal(body, &ppmae)
21921		return ppmae, err
21922	case string(KindServiceCreated):
21923		var sce ServiceCreatedEvent
21924		err := json.Unmarshal(body, &sce)
21925		return sce, err
21926	case string(KindServiceDeleted):
21927		var sde ServiceDeletedEvent
21928		err := json.Unmarshal(body, &sde)
21929		return sde, err
21930	case string(KindServiceHealthReportCreated):
21931		var shrce ServiceHealthReportCreatedEvent
21932		err := json.Unmarshal(body, &shrce)
21933		return shrce, err
21934	case string(KindServiceHealthReportExpired):
21935		var shree ServiceHealthReportExpiredEvent
21936		err := json.Unmarshal(body, &shree)
21937		return shree, err
21938	case string(KindDeployedServiceHealthReportCreated):
21939		var dshrce DeployedServiceHealthReportCreatedEvent
21940		err := json.Unmarshal(body, &dshrce)
21941		return dshrce, err
21942	case string(KindDeployedServiceHealthReportExpired):
21943		var dshree DeployedServiceHealthReportExpiredEvent
21944		err := json.Unmarshal(body, &dshree)
21945		return dshree, err
21946	case string(KindStatefulReplicaHealthReportCreated):
21947		var srhrce StatefulReplicaHealthReportCreatedEvent
21948		err := json.Unmarshal(body, &srhrce)
21949		return srhrce, err
21950	case string(KindStatefulReplicaHealthReportExpired):
21951		var srhree StatefulReplicaHealthReportExpiredEvent
21952		err := json.Unmarshal(body, &srhree)
21953		return srhree, err
21954	case string(KindStatelessReplicaHealthReportCreated):
21955		var srhrce StatelessReplicaHealthReportCreatedEvent
21956		err := json.Unmarshal(body, &srhrce)
21957		return srhrce, err
21958	case string(KindStatelessReplicaHealthReportExpired):
21959		var srhree StatelessReplicaHealthReportExpiredEvent
21960		err := json.Unmarshal(body, &srhree)
21961		return srhree, err
21962	case string(KindClusterHealthReportCreated):
21963		var chrce ClusterHealthReportCreatedEvent
21964		err := json.Unmarshal(body, &chrce)
21965		return chrce, err
21966	case string(KindClusterHealthReportExpired):
21967		var chree ClusterHealthReportExpiredEvent
21968		err := json.Unmarshal(body, &chree)
21969		return chree, err
21970	case string(KindClusterUpgradeComplete):
21971		var cuce ClusterUpgradeCompleteEvent
21972		err := json.Unmarshal(body, &cuce)
21973		return cuce, err
21974	case string(KindClusterUpgradeDomainComplete):
21975		var cudce ClusterUpgradeDomainCompleteEvent
21976		err := json.Unmarshal(body, &cudce)
21977		return cudce, err
21978	case string(KindClusterUpgradeRollbackComplete):
21979		var curce ClusterUpgradeRollbackCompleteEvent
21980		err := json.Unmarshal(body, &curce)
21981		return curce, err
21982	case string(KindClusterUpgradeRollbackStart):
21983		var curse ClusterUpgradeRollbackStartEvent
21984		err := json.Unmarshal(body, &curse)
21985		return curse, err
21986	case string(KindClusterUpgradeStart):
21987		var cuse ClusterUpgradeStartEvent
21988		err := json.Unmarshal(body, &cuse)
21989		return cuse, err
21990	case string(KindChaosStopped):
21991		var cse ChaosStoppedEvent
21992		err := json.Unmarshal(body, &cse)
21993		return cse, err
21994	case string(KindChaosStarted):
21995		var cse ChaosStartedEvent
21996		err := json.Unmarshal(body, &cse)
21997		return cse, err
21998	case string(KindChaosRestartNodeFaultCompleted):
21999		var crnfce ChaosRestartNodeFaultCompletedEvent
22000		err := json.Unmarshal(body, &crnfce)
22001		return crnfce, err
22002	case string(KindChaosRestartCodePackageFaultScheduled):
22003		var crcpfse ChaosRestartCodePackageFaultScheduledEvent
22004		err := json.Unmarshal(body, &crcpfse)
22005		return crcpfse, err
22006	case string(KindChaosRestartCodePackageFaultCompleted):
22007		var crcpfce ChaosRestartCodePackageFaultCompletedEvent
22008		err := json.Unmarshal(body, &crcpfce)
22009		return crcpfce, err
22010	case string(KindChaosRemoveReplicaFaultScheduled):
22011		var crrfse ChaosRemoveReplicaFaultScheduledEvent
22012		err := json.Unmarshal(body, &crrfse)
22013		return crrfse, err
22014	case string(KindChaosRemoveReplicaFaultCompleted):
22015		var crrfce ChaosRemoveReplicaFaultCompletedEvent
22016		err := json.Unmarshal(body, &crrfce)
22017		return crrfce, err
22018	case string(KindChaosMoveSecondaryFaultScheduled):
22019		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
22020		err := json.Unmarshal(body, &cmsfse)
22021		return cmsfse, err
22022	case string(KindChaosMovePrimaryFaultScheduled):
22023		var cmpfse ChaosMovePrimaryFaultScheduledEvent
22024		err := json.Unmarshal(body, &cmpfse)
22025		return cmpfse, err
22026	case string(KindChaosRestartReplicaFaultScheduled):
22027		var crrfse ChaosRestartReplicaFaultScheduledEvent
22028		err := json.Unmarshal(body, &crrfse)
22029		return crrfse, err
22030	case string(KindChaosRestartNodeFaultScheduled):
22031		var crnfse ChaosRestartNodeFaultScheduledEvent
22032		err := json.Unmarshal(body, &crnfse)
22033		return crnfse, err
22034	default:
22035		var fe FabricEvent
22036		err := json.Unmarshal(body, &fe)
22037		return fe, err
22038	}
22039}
22040func unmarshalBasicFabricEventArray(body []byte) ([]BasicFabricEvent, error) {
22041	var rawMessages []*json.RawMessage
22042	err := json.Unmarshal(body, &rawMessages)
22043	if err != nil {
22044		return nil, err
22045	}
22046
22047	feArray := make([]BasicFabricEvent, len(rawMessages))
22048
22049	for index, rawMessage := range rawMessages {
22050		fe, err := unmarshalBasicFabricEvent(*rawMessage)
22051		if err != nil {
22052			return nil, err
22053		}
22054		feArray[index] = fe
22055	}
22056	return feArray, nil
22057}
22058
22059// MarshalJSON is the custom marshaler for FabricEvent.
22060func (fe FabricEvent) MarshalJSON() ([]byte, error) {
22061	fe.Kind = KindFabricEvent
22062	objectMap := make(map[string]interface{})
22063	if fe.EventInstanceID != nil {
22064		objectMap["EventInstanceId"] = fe.EventInstanceID
22065	}
22066	if fe.TimeStamp != nil {
22067		objectMap["TimeStamp"] = fe.TimeStamp
22068	}
22069	if fe.HasCorrelatedEvents != nil {
22070		objectMap["HasCorrelatedEvents"] = fe.HasCorrelatedEvents
22071	}
22072	if fe.Kind != "" {
22073		objectMap["Kind"] = fe.Kind
22074	}
22075	return json.Marshal(objectMap)
22076}
22077
22078// AsApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
22079func (fe FabricEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
22080	return nil, false
22081}
22082
22083// AsBasicApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
22084func (fe FabricEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
22085	return nil, false
22086}
22087
22088// AsClusterEvent is the BasicFabricEvent implementation for FabricEvent.
22089func (fe FabricEvent) AsClusterEvent() (*ClusterEvent, bool) {
22090	return nil, false
22091}
22092
22093// AsBasicClusterEvent is the BasicFabricEvent implementation for FabricEvent.
22094func (fe FabricEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
22095	return nil, false
22096}
22097
22098// AsContainerInstanceEvent is the BasicFabricEvent implementation for FabricEvent.
22099func (fe FabricEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
22100	return nil, false
22101}
22102
22103// AsNodeEvent is the BasicFabricEvent implementation for FabricEvent.
22104func (fe FabricEvent) AsNodeEvent() (*NodeEvent, bool) {
22105	return nil, false
22106}
22107
22108// AsBasicNodeEvent is the BasicFabricEvent implementation for FabricEvent.
22109func (fe FabricEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
22110	return nil, false
22111}
22112
22113// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
22114func (fe FabricEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
22115	return nil, false
22116}
22117
22118// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
22119func (fe FabricEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
22120	return nil, false
22121}
22122
22123// AsPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
22124func (fe FabricEvent) AsPartitionEvent() (*PartitionEvent, bool) {
22125	return nil, false
22126}
22127
22128// AsBasicPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
22129func (fe FabricEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
22130	return nil, false
22131}
22132
22133// AsReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
22134func (fe FabricEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
22135	return nil, false
22136}
22137
22138// AsBasicReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
22139func (fe FabricEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
22140	return nil, false
22141}
22142
22143// AsServiceEvent is the BasicFabricEvent implementation for FabricEvent.
22144func (fe FabricEvent) AsServiceEvent() (*ServiceEvent, bool) {
22145	return nil, false
22146}
22147
22148// AsBasicServiceEvent is the BasicFabricEvent implementation for FabricEvent.
22149func (fe FabricEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
22150	return nil, false
22151}
22152
22153// AsApplicationCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22154func (fe FabricEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
22155	return nil, false
22156}
22157
22158// AsApplicationDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
22159func (fe FabricEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
22160	return nil, false
22161}
22162
22163// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22164func (fe FabricEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
22165	return nil, false
22166}
22167
22168// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22169func (fe FabricEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
22170	return nil, false
22171}
22172
22173// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22174func (fe FabricEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
22175	return nil, false
22176}
22177
22178// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22179func (fe FabricEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
22180	return nil, false
22181}
22182
22183// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22184func (fe FabricEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
22185	return nil, false
22186}
22187
22188// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
22189func (fe FabricEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
22190	return nil, false
22191}
22192
22193// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
22194func (fe FabricEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
22195	return nil, false
22196}
22197
22198// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22199func (fe FabricEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
22200	return nil, false
22201}
22202
22203// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22204func (fe FabricEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
22205	return nil, false
22206}
22207
22208// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
22209func (fe FabricEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
22210	return nil, false
22211}
22212
22213// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
22214func (fe FabricEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
22215	return nil, false
22216}
22217
22218// AsNodeAbortedEvent is the BasicFabricEvent implementation for FabricEvent.
22219func (fe FabricEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
22220	return nil, false
22221}
22222
22223// AsNodeAbortingEvent is the BasicFabricEvent implementation for FabricEvent.
22224func (fe FabricEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
22225	return nil, false
22226}
22227
22228// AsNodeAddedEvent is the BasicFabricEvent implementation for FabricEvent.
22229func (fe FabricEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
22230	return nil, false
22231}
22232
22233// AsNodeCloseEvent is the BasicFabricEvent implementation for FabricEvent.
22234func (fe FabricEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
22235	return nil, false
22236}
22237
22238// AsNodeClosingEvent is the BasicFabricEvent implementation for FabricEvent.
22239func (fe FabricEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
22240	return nil, false
22241}
22242
22243// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22244func (fe FabricEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
22245	return nil, false
22246}
22247
22248// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for FabricEvent.
22249func (fe FabricEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
22250	return nil, false
22251}
22252
22253// AsNodeDownEvent is the BasicFabricEvent implementation for FabricEvent.
22254func (fe FabricEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
22255	return nil, false
22256}
22257
22258// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22259func (fe FabricEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
22260	return nil, false
22261}
22262
22263// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22264func (fe FabricEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
22265	return nil, false
22266}
22267
22268// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for FabricEvent.
22269func (fe FabricEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
22270	return nil, false
22271}
22272
22273// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for FabricEvent.
22274func (fe FabricEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
22275	return nil, false
22276}
22277
22278// AsNodeOpeningEvent is the BasicFabricEvent implementation for FabricEvent.
22279func (fe FabricEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
22280	return nil, false
22281}
22282
22283// AsNodeRemovedEvent is the BasicFabricEvent implementation for FabricEvent.
22284func (fe FabricEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
22285	return nil, false
22286}
22287
22288// AsNodeUpEvent is the BasicFabricEvent implementation for FabricEvent.
22289func (fe FabricEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
22290	return nil, false
22291}
22292
22293// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22294func (fe FabricEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
22295	return nil, false
22296}
22297
22298// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22299func (fe FabricEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
22300	return nil, false
22301}
22302
22303// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
22304func (fe FabricEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
22305	return nil, false
22306}
22307
22308// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
22309func (fe FabricEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
22310	return nil, false
22311}
22312
22313// AsServiceCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22314func (fe FabricEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
22315	return nil, false
22316}
22317
22318// AsServiceDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
22319func (fe FabricEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
22320	return nil, false
22321}
22322
22323// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22324func (fe FabricEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
22325	return nil, false
22326}
22327
22328// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22329func (fe FabricEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
22330	return nil, false
22331}
22332
22333// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22334func (fe FabricEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
22335	return nil, false
22336}
22337
22338// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22339func (fe FabricEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
22340	return nil, false
22341}
22342
22343// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22344func (fe FabricEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
22345	return nil, false
22346}
22347
22348// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22349func (fe FabricEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
22350	return nil, false
22351}
22352
22353// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22354func (fe FabricEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
22355	return nil, false
22356}
22357
22358// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22359func (fe FabricEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
22360	return nil, false
22361}
22362
22363// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
22364func (fe FabricEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
22365	return nil, false
22366}
22367
22368// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
22369func (fe FabricEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
22370	return nil, false
22371}
22372
22373// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22374func (fe FabricEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
22375	return nil, false
22376}
22377
22378// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22379func (fe FabricEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
22380	return nil, false
22381}
22382
22383// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22384func (fe FabricEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
22385	return nil, false
22386}
22387
22388// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
22389func (fe FabricEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
22390	return nil, false
22391}
22392
22393// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
22394func (fe FabricEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
22395	return nil, false
22396}
22397
22398// AsChaosStoppedEvent is the BasicFabricEvent implementation for FabricEvent.
22399func (fe FabricEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
22400	return nil, false
22401}
22402
22403// AsChaosStartedEvent is the BasicFabricEvent implementation for FabricEvent.
22404func (fe FabricEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
22405	return nil, false
22406}
22407
22408// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
22409func (fe FabricEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
22410	return nil, false
22411}
22412
22413// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22414func (fe FabricEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
22415	return nil, false
22416}
22417
22418// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
22419func (fe FabricEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
22420	return nil, false
22421}
22422
22423// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22424func (fe FabricEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
22425	return nil, false
22426}
22427
22428// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
22429func (fe FabricEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
22430	return nil, false
22431}
22432
22433// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22434func (fe FabricEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
22435	return nil, false
22436}
22437
22438// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22439func (fe FabricEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
22440	return nil, false
22441}
22442
22443// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22444func (fe FabricEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
22445	return nil, false
22446}
22447
22448// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22449func (fe FabricEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
22450	return nil, false
22451}
22452
22453// AsFabricEvent is the BasicFabricEvent implementation for FabricEvent.
22454func (fe FabricEvent) AsFabricEvent() (*FabricEvent, bool) {
22455	return &fe, true
22456}
22457
22458// AsBasicFabricEvent is the BasicFabricEvent implementation for FabricEvent.
22459func (fe FabricEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
22460	return &fe, true
22461}
22462
22463// FailedPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch failing. Contains
22464// information about the specific batch failure.
22465type FailedPropertyBatchInfo struct {
22466	// ErrorMessage - The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch.
22467	ErrorMessage *string `json:"ErrorMessage,omitempty"`
22468	// OperationIndex - The index of the unsuccessful operation in the property batch.
22469	OperationIndex *int32 `json:"OperationIndex,omitempty"`
22470	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
22471	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
22472}
22473
22474// MarshalJSON is the custom marshaler for FailedPropertyBatchInfo.
22475func (fpbi FailedPropertyBatchInfo) MarshalJSON() ([]byte, error) {
22476	fpbi.Kind = KindFailed
22477	objectMap := make(map[string]interface{})
22478	if fpbi.ErrorMessage != nil {
22479		objectMap["ErrorMessage"] = fpbi.ErrorMessage
22480	}
22481	if fpbi.OperationIndex != nil {
22482		objectMap["OperationIndex"] = fpbi.OperationIndex
22483	}
22484	if fpbi.Kind != "" {
22485		objectMap["Kind"] = fpbi.Kind
22486	}
22487	return json.Marshal(objectMap)
22488}
22489
22490// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22491func (fpbi FailedPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
22492	return nil, false
22493}
22494
22495// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22496func (fpbi FailedPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
22497	return &fpbi, true
22498}
22499
22500// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22501func (fpbi FailedPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
22502	return nil, false
22503}
22504
22505// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22506func (fpbi FailedPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
22507	return &fpbi, true
22508}
22509
22510// FailedUpgradeDomainProgressObject the detailed upgrade progress for nodes in the current upgrade domain
22511// at the point of failure.
22512type FailedUpgradeDomainProgressObject struct {
22513	// DomainName - The name of the upgrade domain
22514	DomainName *string `json:"DomainName,omitempty"`
22515	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
22516	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
22517}
22518
22519// FailureUpgradeDomainProgressInfo information about the upgrade domain progress at the time of upgrade
22520// failure.
22521type FailureUpgradeDomainProgressInfo struct {
22522	// DomainName - The name of the upgrade domain
22523	DomainName *string `json:"DomainName,omitempty"`
22524	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
22525	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
22526}
22527
22528// FileInfo information about a image store file.
22529type FileInfo struct {
22530	// FileSize - The size of file in bytes.
22531	FileSize *string `json:"FileSize,omitempty"`
22532	// FileVersion - Information about the version of image store file.
22533	FileVersion *FileVersion `json:"FileVersion,omitempty"`
22534	// ModifiedDate - The date and time when the image store file was last modified.
22535	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
22536	// StoreRelativePath - The file path relative to the image store root path.
22537	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
22538}
22539
22540// FileShareBackupStorageDescription describes the parameters for file share storage used for storing or
22541// enumerating backups.
22542type FileShareBackupStorageDescription struct {
22543	// Path - UNC path of the file share where to store or enumerate backups from.
22544	Path *string `json:"Path,omitempty"`
22545	// PrimaryUserName - Primary user name to access the file share.
22546	PrimaryUserName *string `json:"PrimaryUserName,omitempty"`
22547	// PrimaryPassword - Primary password to access the share location.
22548	PrimaryPassword *string `json:"PrimaryPassword,omitempty"`
22549	// SecondaryUserName - Secondary user name to access the file share.
22550	SecondaryUserName *string `json:"SecondaryUserName,omitempty"`
22551	// SecondaryPassword - Secondary password to access the share location
22552	SecondaryPassword *string `json:"SecondaryPassword,omitempty"`
22553	// FriendlyName - Friendly name for this backup storage.
22554	FriendlyName *string `json:"FriendlyName,omitempty"`
22555	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
22556	StorageKind StorageKind `json:"StorageKind,omitempty"`
22557}
22558
22559// MarshalJSON is the custom marshaler for FileShareBackupStorageDescription.
22560func (fsbsd FileShareBackupStorageDescription) MarshalJSON() ([]byte, error) {
22561	fsbsd.StorageKind = StorageKindFileShare
22562	objectMap := make(map[string]interface{})
22563	if fsbsd.Path != nil {
22564		objectMap["Path"] = fsbsd.Path
22565	}
22566	if fsbsd.PrimaryUserName != nil {
22567		objectMap["PrimaryUserName"] = fsbsd.PrimaryUserName
22568	}
22569	if fsbsd.PrimaryPassword != nil {
22570		objectMap["PrimaryPassword"] = fsbsd.PrimaryPassword
22571	}
22572	if fsbsd.SecondaryUserName != nil {
22573		objectMap["SecondaryUserName"] = fsbsd.SecondaryUserName
22574	}
22575	if fsbsd.SecondaryPassword != nil {
22576		objectMap["SecondaryPassword"] = fsbsd.SecondaryPassword
22577	}
22578	if fsbsd.FriendlyName != nil {
22579		objectMap["FriendlyName"] = fsbsd.FriendlyName
22580	}
22581	if fsbsd.StorageKind != "" {
22582		objectMap["StorageKind"] = fsbsd.StorageKind
22583	}
22584	return json.Marshal(objectMap)
22585}
22586
22587// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22588func (fsbsd FileShareBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
22589	return nil, false
22590}
22591
22592// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22593func (fsbsd FileShareBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
22594	return &fsbsd, true
22595}
22596
22597// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22598func (fsbsd FileShareBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
22599	return nil, false
22600}
22601
22602// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22603func (fsbsd FileShareBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
22604	return &fsbsd, true
22605}
22606
22607// FileVersion information about the version of image store file.
22608type FileVersion struct {
22609	// VersionNumber - The current image store version number for the file is used in image store for checking whether it need to be updated.
22610	VersionNumber *string `json:"VersionNumber,omitempty"`
22611	// EpochDataLossNumber - The epoch data loss number of image store replica when this file entry was updated or created.
22612	EpochDataLossNumber *string `json:"EpochDataLossNumber,omitempty"`
22613	// EpochConfigurationNumber - The epoch configuration version number of the image store replica when this file entry was created or updated.
22614	EpochConfigurationNumber *string `json:"EpochConfigurationNumber,omitempty"`
22615}
22616
22617// FolderInfo information about a image store folder. It includes how many files this folder contains and
22618// its image store relative path.
22619type FolderInfo struct {
22620	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
22621	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
22622	// FileCount - The number of files from within the image store folder.
22623	FileCount *string `json:"FileCount,omitempty"`
22624}
22625
22626// FrequencyBasedBackupScheduleDescription describes the frequency based backup schedule.
22627type FrequencyBasedBackupScheduleDescription struct {
22628	// Interval - Defines the interval with which backups are periodically taken. It should be specified in ISO8601 format. Timespan in seconds is not supported and will be ignored while creating the policy.
22629	Interval *string `json:"Interval,omitempty"`
22630	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
22631	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
22632}
22633
22634// MarshalJSON is the custom marshaler for FrequencyBasedBackupScheduleDescription.
22635func (fbbsd FrequencyBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
22636	fbbsd.ScheduleKind = ScheduleKindFrequencyBased
22637	objectMap := make(map[string]interface{})
22638	if fbbsd.Interval != nil {
22639		objectMap["Interval"] = fbbsd.Interval
22640	}
22641	if fbbsd.ScheduleKind != "" {
22642		objectMap["ScheduleKind"] = fbbsd.ScheduleKind
22643	}
22644	return json.Marshal(objectMap)
22645}
22646
22647// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22648func (fbbsd FrequencyBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
22649	return &fbbsd, true
22650}
22651
22652// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22653func (fbbsd FrequencyBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
22654	return nil, false
22655}
22656
22657// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22658func (fbbsd FrequencyBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
22659	return nil, false
22660}
22661
22662// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22663func (fbbsd FrequencyBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
22664	return &fbbsd, true
22665}
22666
22667// GetBackupByStorageQueryDescription describes additional filters to be applied, while listing backups,
22668// and backup storage details from where to fetch the backups.
22669type GetBackupByStorageQueryDescription struct {
22670	// StartDateTimeFilter - Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning.
22671	StartDateTimeFilter *date.Time `json:"StartDateTimeFilter,omitempty"`
22672	// EndDateTimeFilter - Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end.
22673	EndDateTimeFilter *date.Time `json:"EndDateTimeFilter,omitempty"`
22674	// Latest - If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity.
22675	Latest *bool `json:"Latest,omitempty"`
22676	// Storage - Describes the parameters for the backup storage from where to enumerate backups. This is optional and by default backups are enumerated from the backup storage where this backup entity is currently being backed up (as specified in backup policy). This parameter is useful to be able to enumerate backups from another cluster where you may intend to restore.
22677	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
22678	// BackupEntity - Indicates the entity for which to enumerate backups.
22679	BackupEntity BasicBackupEntity `json:"BackupEntity,omitempty"`
22680}
22681
22682// UnmarshalJSON is the custom unmarshaler for GetBackupByStorageQueryDescription struct.
22683func (gbbsqd *GetBackupByStorageQueryDescription) UnmarshalJSON(body []byte) error {
22684	var m map[string]*json.RawMessage
22685	err := json.Unmarshal(body, &m)
22686	if err != nil {
22687		return err
22688	}
22689	for k, v := range m {
22690		switch k {
22691		case "StartDateTimeFilter":
22692			if v != nil {
22693				var startDateTimeFilter date.Time
22694				err = json.Unmarshal(*v, &startDateTimeFilter)
22695				if err != nil {
22696					return err
22697				}
22698				gbbsqd.StartDateTimeFilter = &startDateTimeFilter
22699			}
22700		case "EndDateTimeFilter":
22701			if v != nil {
22702				var endDateTimeFilter date.Time
22703				err = json.Unmarshal(*v, &endDateTimeFilter)
22704				if err != nil {
22705					return err
22706				}
22707				gbbsqd.EndDateTimeFilter = &endDateTimeFilter
22708			}
22709		case "Latest":
22710			if v != nil {
22711				var latest bool
22712				err = json.Unmarshal(*v, &latest)
22713				if err != nil {
22714					return err
22715				}
22716				gbbsqd.Latest = &latest
22717			}
22718		case "Storage":
22719			if v != nil {
22720				storage, err := unmarshalBasicBackupStorageDescription(*v)
22721				if err != nil {
22722					return err
22723				}
22724				gbbsqd.Storage = storage
22725			}
22726		case "BackupEntity":
22727			if v != nil {
22728				backupEntity, err := unmarshalBasicBackupEntity(*v)
22729				if err != nil {
22730					return err
22731				}
22732				gbbsqd.BackupEntity = backupEntity
22733			}
22734		}
22735	}
22736
22737	return nil
22738}
22739
22740// GetPropertyBatchOperation represents a PropertyBatchOperation that gets the specified property if it
22741// exists.
22742// Note that if one PropertyBatchOperation in a PropertyBatch fails,
22743// the entire batch fails and cannot be committed in a transactional manner.
22744type GetPropertyBatchOperation struct {
22745	// IncludeValue - Whether or not to return the property value with the metadata.
22746	// True if values should be returned with the metadata; False to return only property metadata.
22747	IncludeValue *bool `json:"IncludeValue,omitempty"`
22748	// PropertyName - The name of the Service Fabric property.
22749	PropertyName *string `json:"PropertyName,omitempty"`
22750	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
22751	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
22752}
22753
22754// MarshalJSON is the custom marshaler for GetPropertyBatchOperation.
22755func (gpbo GetPropertyBatchOperation) MarshalJSON() ([]byte, error) {
22756	gpbo.Kind = KindGet
22757	objectMap := make(map[string]interface{})
22758	if gpbo.IncludeValue != nil {
22759		objectMap["IncludeValue"] = gpbo.IncludeValue
22760	}
22761	if gpbo.PropertyName != nil {
22762		objectMap["PropertyName"] = gpbo.PropertyName
22763	}
22764	if gpbo.Kind != "" {
22765		objectMap["Kind"] = gpbo.Kind
22766	}
22767	return json.Marshal(objectMap)
22768}
22769
22770// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22771func (gpbo GetPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
22772	return nil, false
22773}
22774
22775// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22776func (gpbo GetPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
22777	return nil, false
22778}
22779
22780// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22781func (gpbo GetPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
22782	return nil, false
22783}
22784
22785// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22786func (gpbo GetPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
22787	return nil, false
22788}
22789
22790// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22791func (gpbo GetPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
22792	return &gpbo, true
22793}
22794
22795// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22796func (gpbo GetPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
22797	return nil, false
22798}
22799
22800// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22801func (gpbo GetPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
22802	return nil, false
22803}
22804
22805// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22806func (gpbo GetPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
22807	return &gpbo, true
22808}
22809
22810// GUIDPropertyValue describes a Service Fabric property value of type Guid.
22811type GUIDPropertyValue struct {
22812	// Data - The data of the property value.
22813	Data *uuid.UUID `json:"Data,omitempty"`
22814	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
22815	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
22816}
22817
22818// MarshalJSON is the custom marshaler for GUIDPropertyValue.
22819func (gpv GUIDPropertyValue) MarshalJSON() ([]byte, error) {
22820	gpv.Kind = KindGUID
22821	objectMap := make(map[string]interface{})
22822	if gpv.Data != nil {
22823		objectMap["Data"] = gpv.Data
22824	}
22825	if gpv.Kind != "" {
22826		objectMap["Kind"] = gpv.Kind
22827	}
22828	return json.Marshal(objectMap)
22829}
22830
22831// AsBinaryPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22832func (gpv GUIDPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
22833	return nil, false
22834}
22835
22836// AsInt64PropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22837func (gpv GUIDPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
22838	return nil, false
22839}
22840
22841// AsDoublePropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22842func (gpv GUIDPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
22843	return nil, false
22844}
22845
22846// AsStringPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22847func (gpv GUIDPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
22848	return nil, false
22849}
22850
22851// AsGUIDPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22852func (gpv GUIDPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
22853	return &gpv, true
22854}
22855
22856// AsPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22857func (gpv GUIDPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
22858	return nil, false
22859}
22860
22861// AsBasicPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22862func (gpv GUIDPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
22863	return &gpv, true
22864}
22865
22866// BasicHealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
22867// manager to evaluate the health of an entity.
22868type BasicHealthEvaluation interface {
22869	AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool)
22870	AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool)
22871	AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool)
22872	AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool)
22873	AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool)
22874	AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool)
22875	AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool)
22876	AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool)
22877	AsEventHealthEvaluation() (*EventHealthEvaluation, bool)
22878	AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool)
22879	AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool)
22880	AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool)
22881	AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool)
22882	AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool)
22883	AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool)
22884	AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool)
22885	AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool)
22886	AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool)
22887	AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool)
22888	AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool)
22889	AsHealthEvaluation() (*HealthEvaluation, bool)
22890}
22891
22892// HealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
22893// manager to evaluate the health of an entity.
22894type HealthEvaluation struct {
22895	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
22896	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22897	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
22898	Description *string `json:"Description,omitempty"`
22899	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
22900	Kind Kind `json:"Kind,omitempty"`
22901}
22902
22903func unmarshalBasicHealthEvaluation(body []byte) (BasicHealthEvaluation, error) {
22904	var m map[string]interface{}
22905	err := json.Unmarshal(body, &m)
22906	if err != nil {
22907		return nil, err
22908	}
22909
22910	switch m["Kind"] {
22911	case string(KindApplication):
22912		var ahe ApplicationHealthEvaluation
22913		err := json.Unmarshal(body, &ahe)
22914		return ahe, err
22915	case string(KindApplications):
22916		var ahe ApplicationsHealthEvaluation
22917		err := json.Unmarshal(body, &ahe)
22918		return ahe, err
22919	case string(KindApplicationTypeApplications):
22920		var atahe ApplicationTypeApplicationsHealthEvaluation
22921		err := json.Unmarshal(body, &atahe)
22922		return atahe, err
22923	case string(KindDeltaNodesCheck):
22924		var dnche DeltaNodesCheckHealthEvaluation
22925		err := json.Unmarshal(body, &dnche)
22926		return dnche, err
22927	case string(KindDeployedApplication):
22928		var dahe DeployedApplicationHealthEvaluation
22929		err := json.Unmarshal(body, &dahe)
22930		return dahe, err
22931	case string(KindDeployedApplications):
22932		var dahe DeployedApplicationsHealthEvaluation
22933		err := json.Unmarshal(body, &dahe)
22934		return dahe, err
22935	case string(KindDeployedServicePackage):
22936		var dsphe DeployedServicePackageHealthEvaluation
22937		err := json.Unmarshal(body, &dsphe)
22938		return dsphe, err
22939	case string(KindDeployedServicePackages):
22940		var dsphe DeployedServicePackagesHealthEvaluation
22941		err := json.Unmarshal(body, &dsphe)
22942		return dsphe, err
22943	case string(KindEvent):
22944		var ehe EventHealthEvaluation
22945		err := json.Unmarshal(body, &ehe)
22946		return ehe, err
22947	case string(KindNode):
22948		var nhe NodeHealthEvaluation
22949		err := json.Unmarshal(body, &nhe)
22950		return nhe, err
22951	case string(KindNodes):
22952		var nhe NodesHealthEvaluation
22953		err := json.Unmarshal(body, &nhe)
22954		return nhe, err
22955	case string(KindPartition):
22956		var phe PartitionHealthEvaluation
22957		err := json.Unmarshal(body, &phe)
22958		return phe, err
22959	case string(KindPartitions):
22960		var phe PartitionsHealthEvaluation
22961		err := json.Unmarshal(body, &phe)
22962		return phe, err
22963	case string(KindReplica):
22964		var rhe ReplicaHealthEvaluation
22965		err := json.Unmarshal(body, &rhe)
22966		return rhe, err
22967	case string(KindReplicas):
22968		var rhe ReplicasHealthEvaluation
22969		err := json.Unmarshal(body, &rhe)
22970		return rhe, err
22971	case string(KindService):
22972		var she ServiceHealthEvaluation
22973		err := json.Unmarshal(body, &she)
22974		return she, err
22975	case string(KindServices):
22976		var she ServicesHealthEvaluation
22977		err := json.Unmarshal(body, &she)
22978		return she, err
22979	case string(KindSystemApplication):
22980		var sahe SystemApplicationHealthEvaluation
22981		err := json.Unmarshal(body, &sahe)
22982		return sahe, err
22983	case string(KindUpgradeDomainDeltaNodesCheck):
22984		var uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation
22985		err := json.Unmarshal(body, &uddnche)
22986		return uddnche, err
22987	case string(KindUpgradeDomainNodes):
22988		var udnhe UpgradeDomainNodesHealthEvaluation
22989		err := json.Unmarshal(body, &udnhe)
22990		return udnhe, err
22991	default:
22992		var he HealthEvaluation
22993		err := json.Unmarshal(body, &he)
22994		return he, err
22995	}
22996}
22997func unmarshalBasicHealthEvaluationArray(body []byte) ([]BasicHealthEvaluation, error) {
22998	var rawMessages []*json.RawMessage
22999	err := json.Unmarshal(body, &rawMessages)
23000	if err != nil {
23001		return nil, err
23002	}
23003
23004	heArray := make([]BasicHealthEvaluation, len(rawMessages))
23005
23006	for index, rawMessage := range rawMessages {
23007		he, err := unmarshalBasicHealthEvaluation(*rawMessage)
23008		if err != nil {
23009			return nil, err
23010		}
23011		heArray[index] = he
23012	}
23013	return heArray, nil
23014}
23015
23016// MarshalJSON is the custom marshaler for HealthEvaluation.
23017func (he HealthEvaluation) MarshalJSON() ([]byte, error) {
23018	he.Kind = KindHealthEvaluation
23019	objectMap := make(map[string]interface{})
23020	if he.AggregatedHealthState != "" {
23021		objectMap["AggregatedHealthState"] = he.AggregatedHealthState
23022	}
23023	if he.Description != nil {
23024		objectMap["Description"] = he.Description
23025	}
23026	if he.Kind != "" {
23027		objectMap["Kind"] = he.Kind
23028	}
23029	return json.Marshal(objectMap)
23030}
23031
23032// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23033func (he HealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
23034	return nil, false
23035}
23036
23037// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23038func (he HealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
23039	return nil, false
23040}
23041
23042// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23043func (he HealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
23044	return nil, false
23045}
23046
23047// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23048func (he HealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
23049	return nil, false
23050}
23051
23052// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23053func (he HealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
23054	return nil, false
23055}
23056
23057// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23058func (he HealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
23059	return nil, false
23060}
23061
23062// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23063func (he HealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
23064	return nil, false
23065}
23066
23067// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23068func (he HealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
23069	return nil, false
23070}
23071
23072// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23073func (he HealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
23074	return nil, false
23075}
23076
23077// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23078func (he HealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
23079	return nil, false
23080}
23081
23082// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23083func (he HealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
23084	return nil, false
23085}
23086
23087// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23088func (he HealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
23089	return nil, false
23090}
23091
23092// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23093func (he HealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
23094	return nil, false
23095}
23096
23097// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23098func (he HealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
23099	return nil, false
23100}
23101
23102// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23103func (he HealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
23104	return nil, false
23105}
23106
23107// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23108func (he HealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
23109	return nil, false
23110}
23111
23112// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23113func (he HealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
23114	return nil, false
23115}
23116
23117// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23118func (he HealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
23119	return nil, false
23120}
23121
23122// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23123func (he HealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
23124	return nil, false
23125}
23126
23127// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23128func (he HealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
23129	return nil, false
23130}
23131
23132// AsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23133func (he HealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
23134	return &he, true
23135}
23136
23137// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
23138func (he HealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
23139	return &he, true
23140}
23141
23142// HealthEvaluationWrapper wrapper object for health evaluation.
23143type HealthEvaluationWrapper struct {
23144	// HealthEvaluation - Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.
23145	HealthEvaluation BasicHealthEvaluation `json:"HealthEvaluation,omitempty"`
23146}
23147
23148// UnmarshalJSON is the custom unmarshaler for HealthEvaluationWrapper struct.
23149func (hew *HealthEvaluationWrapper) UnmarshalJSON(body []byte) error {
23150	var m map[string]*json.RawMessage
23151	err := json.Unmarshal(body, &m)
23152	if err != nil {
23153		return err
23154	}
23155	for k, v := range m {
23156		switch k {
23157		case "HealthEvaluation":
23158			if v != nil {
23159				healthEvaluation, err := unmarshalBasicHealthEvaluation(*v)
23160				if err != nil {
23161					return err
23162				}
23163				hew.HealthEvaluation = healthEvaluation
23164			}
23165		}
23166	}
23167
23168	return nil
23169}
23170
23171// HealthEvent represents health information reported on a health entity, such as cluster, application or
23172// node, with additional metadata added by the Health Manager.
23173type HealthEvent struct {
23174	// IsExpired - Returns true if the health event is expired, otherwise false.
23175	IsExpired *bool `json:"IsExpired,omitempty"`
23176	// SourceUtcTimestamp - The date and time when the health report was sent by the source.
23177	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
23178	// LastModifiedUtcTimestamp - The date and time when the health report was last modified by the health store.
23179	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
23180	// LastOkTransitionAt - If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.
23181	// For periodic reporting, many reports with the same state may have been generated.
23182	// This property returns the date and time when the first 'Ok' health report was received.
23183	// If the current health state is 'Error' or 'Warning', returns the date and time at which the health state was last in 'Ok', before transitioning to a different state.
23184	// If the health state was never 'Ok', the value will be zero date-time.
23185	LastOkTransitionAt *date.Time `json:"LastOkTransitionAt,omitempty"`
23186	// LastWarningTransitionAt - If the current health state is 'Warning', this property returns the time at which the health report was first reported with 'Warning'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Warning' health report was received.
23187	// If the current health state is 'Ok' or 'Error', returns the date and time at which the health state was last in 'Warning', before transitioning to a different state.
23188	// If the health state was never 'Warning', the value will be zero date-time.
23189	LastWarningTransitionAt *date.Time `json:"LastWarningTransitionAt,omitempty"`
23190	// LastErrorTransitionAt - If the current health state is 'Error', this property returns the time at which the health report was first reported with 'Error'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Error' health report was received.
23191	// If the current health state is 'Ok' or 'Warning', returns the date and time at which the health state was last in 'Error', before transitioning to a different state.
23192	// If the health state was never 'Error', the value will be zero date-time.
23193	LastErrorTransitionAt *date.Time `json:"LastErrorTransitionAt,omitempty"`
23194	// SourceID - The source name that identifies the client/watchdog/system component that generated the health information.
23195	SourceID *string `json:"SourceId,omitempty"`
23196	// Property - The property of the health information. An entity can have health reports for different properties.
23197	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
23198	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
23199	// so it can report "AvailableDisk" property on that node.
23200	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
23201	// In the health store, these reports are treated as separate health events for the specified node.
23202	// Together with the SourceId, the property uniquely identifies the health information.
23203	Property *string `json:"Property,omitempty"`
23204	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
23205	HealthState HealthState `json:"HealthState,omitempty"`
23206	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
23207	// When clients report periodically, they should send reports with higher frequency than time to live.
23208	// If clients report on transition, they can set the time to live to infinite.
23209	// When time to live expires, the health event that contains the health information
23210	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
23211	// If not specified, time to live defaults to infinite value.
23212	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
23213	// Description - The description of the health information. It represents free text used to add human readable information about the report.
23214	// The maximum string length for the description is 4096 characters.
23215	// If the provided string is longer, it will be automatically truncated.
23216	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
23217	// The presence of the marker indicates to users that truncation occurred.
23218	// Note that when truncated, the description has less than 4096 characters from the original string.
23219	Description *string `json:"Description,omitempty"`
23220	// SequenceNumber - The sequence number for this health report as a numeric string.
23221	// The report sequence number is used by the health store to detect stale reports.
23222	// If not specified, a sequence number is auto-generated by the health client when a report is added.
23223	SequenceNumber *string `json:"SequenceNumber,omitempty"`
23224	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
23225	// If set to true, the report is removed from the health store after it expires.
23226	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
23227	// When clients report periodically, they should set RemoveWhenExpired false (default).
23228	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
23229	// This flags the entity as being in Error health state.
23230	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
23231}
23232
23233// HealthInformation represents common health report information. It is included in all health reports sent
23234// to health store and in all health events returned by health queries.
23235type HealthInformation struct {
23236	// SourceID - The source name that identifies the client/watchdog/system component that generated the health information.
23237	SourceID *string `json:"SourceId,omitempty"`
23238	// Property - The property of the health information. An entity can have health reports for different properties.
23239	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
23240	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
23241	// so it can report "AvailableDisk" property on that node.
23242	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
23243	// In the health store, these reports are treated as separate health events for the specified node.
23244	// Together with the SourceId, the property uniquely identifies the health information.
23245	Property *string `json:"Property,omitempty"`
23246	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
23247	HealthState HealthState `json:"HealthState,omitempty"`
23248	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
23249	// When clients report periodically, they should send reports with higher frequency than time to live.
23250	// If clients report on transition, they can set the time to live to infinite.
23251	// When time to live expires, the health event that contains the health information
23252	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
23253	// If not specified, time to live defaults to infinite value.
23254	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
23255	// Description - The description of the health information. It represents free text used to add human readable information about the report.
23256	// The maximum string length for the description is 4096 characters.
23257	// If the provided string is longer, it will be automatically truncated.
23258	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
23259	// The presence of the marker indicates to users that truncation occurred.
23260	// Note that when truncated, the description has less than 4096 characters from the original string.
23261	Description *string `json:"Description,omitempty"`
23262	// SequenceNumber - The sequence number for this health report as a numeric string.
23263	// The report sequence number is used by the health store to detect stale reports.
23264	// If not specified, a sequence number is auto-generated by the health client when a report is added.
23265	SequenceNumber *string `json:"SequenceNumber,omitempty"`
23266	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
23267	// If set to true, the report is removed from the health store after it expires.
23268	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
23269	// When clients report periodically, they should set RemoveWhenExpired false (default).
23270	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
23271	// This flags the entity as being in Error health state.
23272	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
23273}
23274
23275// HealthStateCount represents information about how many health entities are in Ok, Warning and Error
23276// health state.
23277type HealthStateCount struct {
23278	// OkCount - The number of health entities with aggregated health state Ok.
23279	OkCount *int64 `json:"OkCount,omitempty"`
23280	// WarningCount - The number of health entities with aggregated health state Warning.
23281	WarningCount *int64 `json:"WarningCount,omitempty"`
23282	// ErrorCount - The number of health entities with aggregated health state Error.
23283	ErrorCount *int64 `json:"ErrorCount,omitempty"`
23284}
23285
23286// HealthStatistics the health statistics of an entity, returned as part of the health query result when
23287// the query description is configured to include statistics.
23288// The statistics include health state counts for all children types of the current entity.
23289// For example, for cluster, the health statistics include health state counts for nodes, applications,
23290// services, partitions, replicas, deployed applications and deployed service packages.
23291// For partition, the health statistics include health counts for replicas.
23292type HealthStatistics struct {
23293	// HealthStateCountList - List of health state counts per entity kind, which keeps track of how many children of the queried entity are in Ok, Warning and Error state.
23294	HealthStateCountList *[]EntityKindHealthStateCount `json:"HealthStateCountList,omitempty"`
23295}
23296
23297// ImageRegistryCredential image registry credential.
23298type ImageRegistryCredential struct {
23299	// Server - Docker image registry server, without protocol such as `http` and `https`.
23300	Server *string `json:"server,omitempty"`
23301	// Username - The username for the private registry.
23302	Username *string `json:"username,omitempty"`
23303	// Password - The password for the private registry.
23304	Password *string `json:"password,omitempty"`
23305}
23306
23307// ImageStoreContent information about the image store content.
23308type ImageStoreContent struct {
23309	autorest.Response `json:"-"`
23310	// StoreFiles - The list of image store file info objects represents files found under the given image store relative path.
23311	StoreFiles *[]FileInfo `json:"StoreFiles,omitempty"`
23312	// StoreFolders - The list of image store folder info objects represents subfolders found under the given image store relative path.
23313	StoreFolders *[]FolderInfo `json:"StoreFolders,omitempty"`
23314}
23315
23316// ImageStoreCopyDescription information about how to copy image store content from one image store
23317// relative path to another image store relative path.
23318type ImageStoreCopyDescription struct {
23319	// RemoteSource - The relative path of source image store content to be copied from.
23320	RemoteSource *string `json:"RemoteSource,omitempty"`
23321	// RemoteDestination - The relative path of destination image store content to be copied to.
23322	RemoteDestination *string `json:"RemoteDestination,omitempty"`
23323	// SkipFiles - The list of the file names to be skipped for copying.
23324	SkipFiles *[]string `json:"SkipFiles,omitempty"`
23325	// CheckMarkFile - Indicates whether to check mark file during copying. The property is true if checking mark file is required, false otherwise. The mark file is used to check whether the folder is well constructed. If the property is true and mark file does not exist, the copy is skipped.
23326	CheckMarkFile *bool `json:"CheckMarkFile,omitempty"`
23327}
23328
23329// Int64PropertyValue describes a Service Fabric property value of type Int64.
23330type Int64PropertyValue struct {
23331	// Data - The data of the property value.
23332	Data *string `json:"Data,omitempty"`
23333	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
23334	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
23335}
23336
23337// MarshalJSON is the custom marshaler for Int64PropertyValue.
23338func (i6pv Int64PropertyValue) MarshalJSON() ([]byte, error) {
23339	i6pv.Kind = KindInt64
23340	objectMap := make(map[string]interface{})
23341	if i6pv.Data != nil {
23342		objectMap["Data"] = i6pv.Data
23343	}
23344	if i6pv.Kind != "" {
23345		objectMap["Kind"] = i6pv.Kind
23346	}
23347	return json.Marshal(objectMap)
23348}
23349
23350// AsBinaryPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
23351func (i6pv Int64PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
23352	return nil, false
23353}
23354
23355// AsInt64PropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
23356func (i6pv Int64PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
23357	return &i6pv, true
23358}
23359
23360// AsDoublePropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
23361func (i6pv Int64PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
23362	return nil, false
23363}
23364
23365// AsStringPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
23366func (i6pv Int64PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
23367	return nil, false
23368}
23369
23370// AsGUIDPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
23371func (i6pv Int64PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
23372	return nil, false
23373}
23374
23375// AsPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
23376func (i6pv Int64PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
23377	return nil, false
23378}
23379
23380// AsBasicPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
23381func (i6pv Int64PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
23382	return &i6pv, true
23383}
23384
23385// Int64RangePartitionInformation describes the partition information for the integer range that is based
23386// on partition schemes.
23387type Int64RangePartitionInformation struct {
23388	// LowKey - Specifies the minimum key value handled by this partition.
23389	LowKey *string `json:"LowKey,omitempty"`
23390	// HighKey - Specifies the maximum key value handled by this partition.
23391	HighKey *string `json:"HighKey,omitempty"`
23392	// ID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
23393	ID *uuid.UUID `json:"Id,omitempty"`
23394	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
23395	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
23396}
23397
23398// MarshalJSON is the custom marshaler for Int64RangePartitionInformation.
23399func (i6rpi Int64RangePartitionInformation) MarshalJSON() ([]byte, error) {
23400	i6rpi.ServicePartitionKind = ServicePartitionKindInt64Range1
23401	objectMap := make(map[string]interface{})
23402	if i6rpi.LowKey != nil {
23403		objectMap["LowKey"] = i6rpi.LowKey
23404	}
23405	if i6rpi.HighKey != nil {
23406		objectMap["HighKey"] = i6rpi.HighKey
23407	}
23408	if i6rpi.ID != nil {
23409		objectMap["Id"] = i6rpi.ID
23410	}
23411	if i6rpi.ServicePartitionKind != "" {
23412		objectMap["ServicePartitionKind"] = i6rpi.ServicePartitionKind
23413	}
23414	return json.Marshal(objectMap)
23415}
23416
23417// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23418func (i6rpi Int64RangePartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
23419	return &i6rpi, true
23420}
23421
23422// AsNamedPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23423func (i6rpi Int64RangePartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
23424	return nil, false
23425}
23426
23427// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23428func (i6rpi Int64RangePartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
23429	return nil, false
23430}
23431
23432// AsPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23433func (i6rpi Int64RangePartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
23434	return nil, false
23435}
23436
23437// AsBasicPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23438func (i6rpi Int64RangePartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
23439	return &i6rpi, true
23440}
23441
23442// InvokeDataLossResult represents information about an operation in a terminal state (Completed or
23443// Faulted).
23444type InvokeDataLossResult struct {
23445	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
23446	ErrorCode *int32 `json:"ErrorCode,omitempty"`
23447	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
23448	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
23449}
23450
23451// InvokeQuorumLossResult represents information about an operation in a terminal state (Completed or
23452// Faulted).
23453type InvokeQuorumLossResult struct {
23454	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
23455	ErrorCode *int32 `json:"ErrorCode,omitempty"`
23456	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
23457	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
23458}
23459
23460// KeyValueStoreReplicaStatus key value store related information for the replica.
23461type KeyValueStoreReplicaStatus struct {
23462	// DatabaseRowCountEstimate - Value indicating the estimated number of rows in the underlying database.
23463	DatabaseRowCountEstimate *string `json:"DatabaseRowCountEstimate,omitempty"`
23464	// DatabaseLogicalSizeEstimate - Value indicating the estimated size of the underlying database.
23465	DatabaseLogicalSizeEstimate *string `json:"DatabaseLogicalSizeEstimate,omitempty"`
23466	// CopyNotificationCurrentKeyFilter - Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback.
23467	CopyNotificationCurrentKeyFilter *string `json:"CopyNotificationCurrentKeyFilter,omitempty"`
23468	// CopyNotificationCurrentProgress - Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback.
23469	CopyNotificationCurrentProgress *string `json:"CopyNotificationCurrentProgress,omitempty"`
23470	// StatusDetails - Value indicating the current status details of the replica.
23471	StatusDetails *string `json:"StatusDetails,omitempty"`
23472	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
23473	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
23474}
23475
23476// MarshalJSON is the custom marshaler for KeyValueStoreReplicaStatus.
23477func (kvsrs KeyValueStoreReplicaStatus) MarshalJSON() ([]byte, error) {
23478	kvsrs.Kind = KindKeyValueStore
23479	objectMap := make(map[string]interface{})
23480	if kvsrs.DatabaseRowCountEstimate != nil {
23481		objectMap["DatabaseRowCountEstimate"] = kvsrs.DatabaseRowCountEstimate
23482	}
23483	if kvsrs.DatabaseLogicalSizeEstimate != nil {
23484		objectMap["DatabaseLogicalSizeEstimate"] = kvsrs.DatabaseLogicalSizeEstimate
23485	}
23486	if kvsrs.CopyNotificationCurrentKeyFilter != nil {
23487		objectMap["CopyNotificationCurrentKeyFilter"] = kvsrs.CopyNotificationCurrentKeyFilter
23488	}
23489	if kvsrs.CopyNotificationCurrentProgress != nil {
23490		objectMap["CopyNotificationCurrentProgress"] = kvsrs.CopyNotificationCurrentProgress
23491	}
23492	if kvsrs.StatusDetails != nil {
23493		objectMap["StatusDetails"] = kvsrs.StatusDetails
23494	}
23495	if kvsrs.Kind != "" {
23496		objectMap["Kind"] = kvsrs.Kind
23497	}
23498	return json.Marshal(objectMap)
23499}
23500
23501// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
23502func (kvsrs KeyValueStoreReplicaStatus) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
23503	return &kvsrs, true
23504}
23505
23506// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
23507func (kvsrs KeyValueStoreReplicaStatus) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
23508	return nil, false
23509}
23510
23511// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
23512func (kvsrs KeyValueStoreReplicaStatus) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
23513	return &kvsrs, true
23514}
23515
23516// ListApplicationEvent ...
23517type ListApplicationEvent struct {
23518	autorest.Response `json:"-"`
23519	Value             *[]BasicApplicationEvent `json:"value,omitempty"`
23520}
23521
23522// UnmarshalJSON is the custom unmarshaler for ListApplicationEvent struct.
23523func (lae *ListApplicationEvent) UnmarshalJSON(body []byte) error {
23524	ae, err := unmarshalBasicApplicationEventArray(body)
23525	if err != nil {
23526		return err
23527	}
23528	lae.Value = &ae
23529
23530	return nil
23531}
23532
23533// ListClusterEvent ...
23534type ListClusterEvent struct {
23535	autorest.Response `json:"-"`
23536	Value             *[]BasicClusterEvent `json:"value,omitempty"`
23537}
23538
23539// UnmarshalJSON is the custom unmarshaler for ListClusterEvent struct.
23540func (lce *ListClusterEvent) UnmarshalJSON(body []byte) error {
23541	ce, err := unmarshalBasicClusterEventArray(body)
23542	if err != nil {
23543		return err
23544	}
23545	lce.Value = &ce
23546
23547	return nil
23548}
23549
23550// ListContainerInstanceEvent ...
23551type ListContainerInstanceEvent struct {
23552	autorest.Response `json:"-"`
23553	Value             *[]ContainerInstanceEvent `json:"value,omitempty"`
23554}
23555
23556// ListDeployedCodePackageInfo ...
23557type ListDeployedCodePackageInfo struct {
23558	autorest.Response `json:"-"`
23559	Value             *[]DeployedCodePackageInfo `json:"value,omitempty"`
23560}
23561
23562// ListDeployedServicePackageInfo ...
23563type ListDeployedServicePackageInfo struct {
23564	autorest.Response `json:"-"`
23565	Value             *[]DeployedServicePackageInfo `json:"value,omitempty"`
23566}
23567
23568// ListDeployedServiceReplicaInfo ...
23569type ListDeployedServiceReplicaInfo struct {
23570	autorest.Response `json:"-"`
23571	Value             *[]BasicDeployedServiceReplicaInfo `json:"value,omitempty"`
23572}
23573
23574// UnmarshalJSON is the custom unmarshaler for ListDeployedServiceReplicaInfo struct.
23575func (ldsri *ListDeployedServiceReplicaInfo) UnmarshalJSON(body []byte) error {
23576	dsri, err := unmarshalBasicDeployedServiceReplicaInfoArray(body)
23577	if err != nil {
23578		return err
23579	}
23580	ldsri.Value = &dsri
23581
23582	return nil
23583}
23584
23585// ListDeployedServiceTypeInfo ...
23586type ListDeployedServiceTypeInfo struct {
23587	autorest.Response `json:"-"`
23588	Value             *[]DeployedServiceTypeInfo `json:"value,omitempty"`
23589}
23590
23591// ListFabricCodeVersionInfo ...
23592type ListFabricCodeVersionInfo struct {
23593	autorest.Response `json:"-"`
23594	Value             *[]FabricCodeVersionInfo `json:"value,omitempty"`
23595}
23596
23597// ListFabricConfigVersionInfo ...
23598type ListFabricConfigVersionInfo struct {
23599	autorest.Response `json:"-"`
23600	Value             *[]FabricConfigVersionInfo `json:"value,omitempty"`
23601}
23602
23603// ListFabricEvent ...
23604type ListFabricEvent struct {
23605	autorest.Response `json:"-"`
23606	Value             *[]BasicFabricEvent `json:"value,omitempty"`
23607}
23608
23609// UnmarshalJSON is the custom unmarshaler for ListFabricEvent struct.
23610func (lfe *ListFabricEvent) UnmarshalJSON(body []byte) error {
23611	fe, err := unmarshalBasicFabricEventArray(body)
23612	if err != nil {
23613		return err
23614	}
23615	lfe.Value = &fe
23616
23617	return nil
23618}
23619
23620// ListNodeEvent ...
23621type ListNodeEvent struct {
23622	autorest.Response `json:"-"`
23623	Value             *[]BasicNodeEvent `json:"value,omitempty"`
23624}
23625
23626// UnmarshalJSON is the custom unmarshaler for ListNodeEvent struct.
23627func (lne *ListNodeEvent) UnmarshalJSON(body []byte) error {
23628	ne, err := unmarshalBasicNodeEventArray(body)
23629	if err != nil {
23630		return err
23631	}
23632	lne.Value = &ne
23633
23634	return nil
23635}
23636
23637// ListOperationStatus ...
23638type ListOperationStatus struct {
23639	autorest.Response `json:"-"`
23640	Value             *[]OperationStatus `json:"value,omitempty"`
23641}
23642
23643// ListPartitionEvent ...
23644type ListPartitionEvent struct {
23645	autorest.Response `json:"-"`
23646	Value             *[]BasicPartitionEvent `json:"value,omitempty"`
23647}
23648
23649// UnmarshalJSON is the custom unmarshaler for ListPartitionEvent struct.
23650func (lpe *ListPartitionEvent) UnmarshalJSON(body []byte) error {
23651	peVar, err := unmarshalBasicPartitionEventArray(body)
23652	if err != nil {
23653		return err
23654	}
23655	lpe.Value = &peVar
23656
23657	return nil
23658}
23659
23660// ListRepairTask ...
23661type ListRepairTask struct {
23662	autorest.Response `json:"-"`
23663	Value             *[]RepairTask `json:"value,omitempty"`
23664}
23665
23666// ListReplicaEvent ...
23667type ListReplicaEvent struct {
23668	autorest.Response `json:"-"`
23669	Value             *[]BasicReplicaEvent `json:"value,omitempty"`
23670}
23671
23672// UnmarshalJSON is the custom unmarshaler for ListReplicaEvent struct.
23673func (lre *ListReplicaEvent) UnmarshalJSON(body []byte) error {
23674	re, err := unmarshalBasicReplicaEventArray(body)
23675	if err != nil {
23676		return err
23677	}
23678	lre.Value = &re
23679
23680	return nil
23681}
23682
23683// ListServiceEvent ...
23684type ListServiceEvent struct {
23685	autorest.Response `json:"-"`
23686	Value             *[]BasicServiceEvent `json:"value,omitempty"`
23687}
23688
23689// UnmarshalJSON is the custom unmarshaler for ListServiceEvent struct.
23690func (lse *ListServiceEvent) UnmarshalJSON(body []byte) error {
23691	se, err := unmarshalBasicServiceEventArray(body)
23692	if err != nil {
23693		return err
23694	}
23695	lse.Value = &se
23696
23697	return nil
23698}
23699
23700// ListServiceTypeInfo ...
23701type ListServiceTypeInfo struct {
23702	autorest.Response `json:"-"`
23703	Value             *[]ServiceTypeInfo `json:"value,omitempty"`
23704}
23705
23706// LoadMetricReport represents the load metric report which contains the time metric was reported, its name
23707// and value.
23708type LoadMetricReport struct {
23709	// LastReportedUtc - Gets the UTC time when the load was reported.
23710	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
23711	// Name - The name of the load metric.
23712	Name *string `json:"Name,omitempty"`
23713	// Value - The value of the load metric.
23714	Value *string `json:"Value,omitempty"`
23715}
23716
23717// LoadMetricReportInfo information about load reported by replica.
23718type LoadMetricReportInfo struct {
23719	// Name - The name of the metric.
23720	Name *string `json:"Name,omitempty"`
23721	// Value - The value of the load for the metric..
23722	Value *int32 `json:"Value,omitempty"`
23723	// LastReportedUtc - The UTC time when the load is reported.
23724	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
23725}
23726
23727// MonitoringPolicyDescription describes the parameters for monitoring an upgrade in Monitored mode.
23728type MonitoringPolicyDescription struct {
23729	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
23730	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
23731	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
23732	FailureAction FailureAction `json:"FailureAction,omitempty"`
23733	// HealthCheckWaitDurationInMilliseconds - The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
23734	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
23735	// HealthCheckStableDurationInMilliseconds - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
23736	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
23737	// HealthCheckRetryTimeoutInMilliseconds - The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
23738	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
23739	// UpgradeTimeoutInMilliseconds - The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
23740	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
23741	// UpgradeDomainTimeoutInMilliseconds - The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
23742	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
23743}
23744
23745// NameDescription describes a Service Fabric name.
23746type NameDescription struct {
23747	// Name - The Service Fabric name, including the 'fabric:' URI scheme.
23748	Name *string `json:"Name,omitempty"`
23749}
23750
23751// NamedPartitionInformation describes the partition information for the name as a string that is based on
23752// partition schemes.
23753type NamedPartitionInformation struct {
23754	// Name - Name of the partition.
23755	Name *string `json:"Name,omitempty"`
23756	// ID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
23757	ID *uuid.UUID `json:"Id,omitempty"`
23758	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
23759	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
23760}
23761
23762// MarshalJSON is the custom marshaler for NamedPartitionInformation.
23763func (npi NamedPartitionInformation) MarshalJSON() ([]byte, error) {
23764	npi.ServicePartitionKind = ServicePartitionKindNamed1
23765	objectMap := make(map[string]interface{})
23766	if npi.Name != nil {
23767		objectMap["Name"] = npi.Name
23768	}
23769	if npi.ID != nil {
23770		objectMap["Id"] = npi.ID
23771	}
23772	if npi.ServicePartitionKind != "" {
23773		objectMap["ServicePartitionKind"] = npi.ServicePartitionKind
23774	}
23775	return json.Marshal(objectMap)
23776}
23777
23778// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23779func (npi NamedPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
23780	return nil, false
23781}
23782
23783// AsNamedPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23784func (npi NamedPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
23785	return &npi, true
23786}
23787
23788// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23789func (npi NamedPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
23790	return nil, false
23791}
23792
23793// AsPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23794func (npi NamedPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
23795	return nil, false
23796}
23797
23798// AsBasicPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23799func (npi NamedPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
23800	return &npi, true
23801}
23802
23803// NamedPartitionSchemeDescription describes the named partition scheme of the service.
23804type NamedPartitionSchemeDescription struct {
23805	// Count - The number of partitions.
23806	Count *int32 `json:"Count,omitempty"`
23807	// Names - Array of size specified by the ‘Count’ parameter, for the names of the partitions.
23808	Names *[]string `json:"Names,omitempty"`
23809	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
23810	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
23811}
23812
23813// MarshalJSON is the custom marshaler for NamedPartitionSchemeDescription.
23814func (npsd NamedPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
23815	npsd.PartitionScheme = PartitionSchemeNamed1
23816	objectMap := make(map[string]interface{})
23817	if npsd.Count != nil {
23818		objectMap["Count"] = npsd.Count
23819	}
23820	if npsd.Names != nil {
23821		objectMap["Names"] = npsd.Names
23822	}
23823	if npsd.PartitionScheme != "" {
23824		objectMap["PartitionScheme"] = npsd.PartitionScheme
23825	}
23826	return json.Marshal(objectMap)
23827}
23828
23829// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23830func (npsd NamedPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
23831	return &npsd, true
23832}
23833
23834// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23835func (npsd NamedPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
23836	return nil, false
23837}
23838
23839// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23840func (npsd NamedPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
23841	return nil, false
23842}
23843
23844// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23845func (npsd NamedPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
23846	return nil, false
23847}
23848
23849// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23850func (npsd NamedPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
23851	return &npsd, true
23852}
23853
23854// NetworkRef describes a network reference in a service.
23855type NetworkRef struct {
23856	// Name - Name of the network.
23857	Name *string `json:"name,omitempty"`
23858}
23859
23860// NodeAbortedEvent node Aborted event.
23861type NodeAbortedEvent struct {
23862	// NodeInstance - Id of Node instance.
23863	NodeInstance *int64 `json:"NodeInstance,omitempty"`
23864	// NodeID - Id of Node.
23865	NodeID *string `json:"NodeId,omitempty"`
23866	// UpgradeDomain - Upgrade domain of Node.
23867	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
23868	// FaultDomain - Fault domain of Node.
23869	FaultDomain *string `json:"FaultDomain,omitempty"`
23870	// IPAddressOrFQDN - IP address or FQDN.
23871	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
23872	// Hostname - Name of Host.
23873	Hostname *string `json:"Hostname,omitempty"`
23874	// IsSeedNode - Indicates if it is seed node.
23875	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
23876	// NodeVersion - Version of Node.
23877	NodeVersion *string `json:"NodeVersion,omitempty"`
23878	// NodeName - The name of a Service Fabric node.
23879	NodeName *string `json:"NodeName,omitempty"`
23880	// EventInstanceID - The identifier for the FabricEvent instance.
23881	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
23882	// TimeStamp - The time event was logged.
23883	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
23884	// HasCorrelatedEvents - Shows there is existing related events available.
23885	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
23886	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
23887	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
23888}
23889
23890// MarshalJSON is the custom marshaler for NodeAbortedEvent.
23891func (nae NodeAbortedEvent) MarshalJSON() ([]byte, error) {
23892	nae.Kind = KindNodeAborted
23893	objectMap := make(map[string]interface{})
23894	if nae.NodeInstance != nil {
23895		objectMap["NodeInstance"] = nae.NodeInstance
23896	}
23897	if nae.NodeID != nil {
23898		objectMap["NodeId"] = nae.NodeID
23899	}
23900	if nae.UpgradeDomain != nil {
23901		objectMap["UpgradeDomain"] = nae.UpgradeDomain
23902	}
23903	if nae.FaultDomain != nil {
23904		objectMap["FaultDomain"] = nae.FaultDomain
23905	}
23906	if nae.IPAddressOrFQDN != nil {
23907		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
23908	}
23909	if nae.Hostname != nil {
23910		objectMap["Hostname"] = nae.Hostname
23911	}
23912	if nae.IsSeedNode != nil {
23913		objectMap["IsSeedNode"] = nae.IsSeedNode
23914	}
23915	if nae.NodeVersion != nil {
23916		objectMap["NodeVersion"] = nae.NodeVersion
23917	}
23918	if nae.NodeName != nil {
23919		objectMap["NodeName"] = nae.NodeName
23920	}
23921	if nae.EventInstanceID != nil {
23922		objectMap["EventInstanceId"] = nae.EventInstanceID
23923	}
23924	if nae.TimeStamp != nil {
23925		objectMap["TimeStamp"] = nae.TimeStamp
23926	}
23927	if nae.HasCorrelatedEvents != nil {
23928		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
23929	}
23930	if nae.Kind != "" {
23931		objectMap["Kind"] = nae.Kind
23932	}
23933	return json.Marshal(objectMap)
23934}
23935
23936// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23937func (nae NodeAbortedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
23938	return nil, false
23939}
23940
23941// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23942func (nae NodeAbortedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
23943	return nil, false
23944}
23945
23946// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23947func (nae NodeAbortedEvent) AsClusterEvent() (*ClusterEvent, bool) {
23948	return nil, false
23949}
23950
23951// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23952func (nae NodeAbortedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
23953	return nil, false
23954}
23955
23956// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23957func (nae NodeAbortedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
23958	return nil, false
23959}
23960
23961// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23962func (nae NodeAbortedEvent) AsNodeEvent() (*NodeEvent, bool) {
23963	return nil, false
23964}
23965
23966// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23967func (nae NodeAbortedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
23968	return &nae, true
23969}
23970
23971// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23972func (nae NodeAbortedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
23973	return nil, false
23974}
23975
23976// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23977func (nae NodeAbortedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
23978	return nil, false
23979}
23980
23981// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23982func (nae NodeAbortedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
23983	return nil, false
23984}
23985
23986// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23987func (nae NodeAbortedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
23988	return nil, false
23989}
23990
23991// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23992func (nae NodeAbortedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
23993	return nil, false
23994}
23995
23996// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23997func (nae NodeAbortedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
23998	return nil, false
23999}
24000
24001// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24002func (nae NodeAbortedEvent) AsServiceEvent() (*ServiceEvent, bool) {
24003	return nil, false
24004}
24005
24006// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24007func (nae NodeAbortedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
24008	return nil, false
24009}
24010
24011// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24012func (nae NodeAbortedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
24013	return nil, false
24014}
24015
24016// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24017func (nae NodeAbortedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
24018	return nil, false
24019}
24020
24021// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24022func (nae NodeAbortedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
24023	return nil, false
24024}
24025
24026// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24027func (nae NodeAbortedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
24028	return nil, false
24029}
24030
24031// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24032func (nae NodeAbortedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
24033	return nil, false
24034}
24035
24036// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24037func (nae NodeAbortedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
24038	return nil, false
24039}
24040
24041// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24042func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
24043	return nil, false
24044}
24045
24046// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24047func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
24048	return nil, false
24049}
24050
24051// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24052func (nae NodeAbortedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
24053	return nil, false
24054}
24055
24056// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24057func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
24058	return nil, false
24059}
24060
24061// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24062func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
24063	return nil, false
24064}
24065
24066// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24067func (nae NodeAbortedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
24068	return nil, false
24069}
24070
24071// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24072func (nae NodeAbortedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
24073	return nil, false
24074}
24075
24076// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24077func (nae NodeAbortedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
24078	return &nae, true
24079}
24080
24081// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24082func (nae NodeAbortedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
24083	return nil, false
24084}
24085
24086// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24087func (nae NodeAbortedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
24088	return nil, false
24089}
24090
24091// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24092func (nae NodeAbortedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
24093	return nil, false
24094}
24095
24096// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24097func (nae NodeAbortedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
24098	return nil, false
24099}
24100
24101// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24102func (nae NodeAbortedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
24103	return nil, false
24104}
24105
24106// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24107func (nae NodeAbortedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
24108	return nil, false
24109}
24110
24111// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24112func (nae NodeAbortedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
24113	return nil, false
24114}
24115
24116// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24117func (nae NodeAbortedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
24118	return nil, false
24119}
24120
24121// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24122func (nae NodeAbortedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
24123	return nil, false
24124}
24125
24126// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24127func (nae NodeAbortedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
24128	return nil, false
24129}
24130
24131// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24132func (nae NodeAbortedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
24133	return nil, false
24134}
24135
24136// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24137func (nae NodeAbortedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
24138	return nil, false
24139}
24140
24141// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24142func (nae NodeAbortedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
24143	return nil, false
24144}
24145
24146// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24147func (nae NodeAbortedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
24148	return nil, false
24149}
24150
24151// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24152func (nae NodeAbortedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
24153	return nil, false
24154}
24155
24156// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24157func (nae NodeAbortedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
24158	return nil, false
24159}
24160
24161// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24162func (nae NodeAbortedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
24163	return nil, false
24164}
24165
24166// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24167func (nae NodeAbortedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
24168	return nil, false
24169}
24170
24171// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24172func (nae NodeAbortedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
24173	return nil, false
24174}
24175
24176// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24177func (nae NodeAbortedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
24178	return nil, false
24179}
24180
24181// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24182func (nae NodeAbortedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
24183	return nil, false
24184}
24185
24186// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24187func (nae NodeAbortedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
24188	return nil, false
24189}
24190
24191// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24192func (nae NodeAbortedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
24193	return nil, false
24194}
24195
24196// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24197func (nae NodeAbortedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
24198	return nil, false
24199}
24200
24201// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24202func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
24203	return nil, false
24204}
24205
24206// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24207func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
24208	return nil, false
24209}
24210
24211// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24212func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
24213	return nil, false
24214}
24215
24216// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24217func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
24218	return nil, false
24219}
24220
24221// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24222func (nae NodeAbortedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
24223	return nil, false
24224}
24225
24226// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24227func (nae NodeAbortedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
24228	return nil, false
24229}
24230
24231// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24232func (nae NodeAbortedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
24233	return nil, false
24234}
24235
24236// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24237func (nae NodeAbortedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
24238	return nil, false
24239}
24240
24241// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24242func (nae NodeAbortedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
24243	return nil, false
24244}
24245
24246// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24247func (nae NodeAbortedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
24248	return nil, false
24249}
24250
24251// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24252func (nae NodeAbortedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
24253	return nil, false
24254}
24255
24256// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24257func (nae NodeAbortedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
24258	return nil, false
24259}
24260
24261// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24262func (nae NodeAbortedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
24263	return nil, false
24264}
24265
24266// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24267func (nae NodeAbortedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
24268	return nil, false
24269}
24270
24271// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24272func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
24273	return nil, false
24274}
24275
24276// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24277func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
24278	return nil, false
24279}
24280
24281// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24282func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
24283	return nil, false
24284}
24285
24286// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24287func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
24288	return nil, false
24289}
24290
24291// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24292func (nae NodeAbortedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
24293	return nil, false
24294}
24295
24296// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24297func (nae NodeAbortedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
24298	return nil, false
24299}
24300
24301// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24302func (nae NodeAbortedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
24303	return nil, false
24304}
24305
24306// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24307func (nae NodeAbortedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
24308	return nil, false
24309}
24310
24311// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24312func (nae NodeAbortedEvent) AsFabricEvent() (*FabricEvent, bool) {
24313	return nil, false
24314}
24315
24316// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
24317func (nae NodeAbortedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
24318	return &nae, true
24319}
24320
24321// NodeAbortingEvent node Aborting event.
24322type NodeAbortingEvent struct {
24323	// NodeInstance - Id of Node instance.
24324	NodeInstance *int64 `json:"NodeInstance,omitempty"`
24325	// NodeID - Id of Node.
24326	NodeID *string `json:"NodeId,omitempty"`
24327	// UpgradeDomain - Upgrade domain of Node.
24328	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
24329	// FaultDomain - Fault domain of Node.
24330	FaultDomain *string `json:"FaultDomain,omitempty"`
24331	// IPAddressOrFQDN - IP address or FQDN.
24332	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
24333	// Hostname - Name of Host.
24334	Hostname *string `json:"Hostname,omitempty"`
24335	// IsSeedNode - Indicates if it is seed node.
24336	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
24337	// NodeVersion - Version of Node.
24338	NodeVersion *string `json:"NodeVersion,omitempty"`
24339	// NodeName - The name of a Service Fabric node.
24340	NodeName *string `json:"NodeName,omitempty"`
24341	// EventInstanceID - The identifier for the FabricEvent instance.
24342	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
24343	// TimeStamp - The time event was logged.
24344	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
24345	// HasCorrelatedEvents - Shows there is existing related events available.
24346	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
24347	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
24348	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
24349}
24350
24351// MarshalJSON is the custom marshaler for NodeAbortingEvent.
24352func (nae NodeAbortingEvent) MarshalJSON() ([]byte, error) {
24353	nae.Kind = KindNodeAborting
24354	objectMap := make(map[string]interface{})
24355	if nae.NodeInstance != nil {
24356		objectMap["NodeInstance"] = nae.NodeInstance
24357	}
24358	if nae.NodeID != nil {
24359		objectMap["NodeId"] = nae.NodeID
24360	}
24361	if nae.UpgradeDomain != nil {
24362		objectMap["UpgradeDomain"] = nae.UpgradeDomain
24363	}
24364	if nae.FaultDomain != nil {
24365		objectMap["FaultDomain"] = nae.FaultDomain
24366	}
24367	if nae.IPAddressOrFQDN != nil {
24368		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
24369	}
24370	if nae.Hostname != nil {
24371		objectMap["Hostname"] = nae.Hostname
24372	}
24373	if nae.IsSeedNode != nil {
24374		objectMap["IsSeedNode"] = nae.IsSeedNode
24375	}
24376	if nae.NodeVersion != nil {
24377		objectMap["NodeVersion"] = nae.NodeVersion
24378	}
24379	if nae.NodeName != nil {
24380		objectMap["NodeName"] = nae.NodeName
24381	}
24382	if nae.EventInstanceID != nil {
24383		objectMap["EventInstanceId"] = nae.EventInstanceID
24384	}
24385	if nae.TimeStamp != nil {
24386		objectMap["TimeStamp"] = nae.TimeStamp
24387	}
24388	if nae.HasCorrelatedEvents != nil {
24389		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
24390	}
24391	if nae.Kind != "" {
24392		objectMap["Kind"] = nae.Kind
24393	}
24394	return json.Marshal(objectMap)
24395}
24396
24397// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24398func (nae NodeAbortingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
24399	return nil, false
24400}
24401
24402// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24403func (nae NodeAbortingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
24404	return nil, false
24405}
24406
24407// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24408func (nae NodeAbortingEvent) AsClusterEvent() (*ClusterEvent, bool) {
24409	return nil, false
24410}
24411
24412// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24413func (nae NodeAbortingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
24414	return nil, false
24415}
24416
24417// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24418func (nae NodeAbortingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
24419	return nil, false
24420}
24421
24422// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24423func (nae NodeAbortingEvent) AsNodeEvent() (*NodeEvent, bool) {
24424	return nil, false
24425}
24426
24427// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24428func (nae NodeAbortingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
24429	return &nae, true
24430}
24431
24432// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24433func (nae NodeAbortingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
24434	return nil, false
24435}
24436
24437// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24438func (nae NodeAbortingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
24439	return nil, false
24440}
24441
24442// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24443func (nae NodeAbortingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
24444	return nil, false
24445}
24446
24447// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24448func (nae NodeAbortingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
24449	return nil, false
24450}
24451
24452// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24453func (nae NodeAbortingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
24454	return nil, false
24455}
24456
24457// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24458func (nae NodeAbortingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
24459	return nil, false
24460}
24461
24462// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24463func (nae NodeAbortingEvent) AsServiceEvent() (*ServiceEvent, bool) {
24464	return nil, false
24465}
24466
24467// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24468func (nae NodeAbortingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
24469	return nil, false
24470}
24471
24472// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24473func (nae NodeAbortingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
24474	return nil, false
24475}
24476
24477// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24478func (nae NodeAbortingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
24479	return nil, false
24480}
24481
24482// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24483func (nae NodeAbortingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
24484	return nil, false
24485}
24486
24487// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24488func (nae NodeAbortingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
24489	return nil, false
24490}
24491
24492// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24493func (nae NodeAbortingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
24494	return nil, false
24495}
24496
24497// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24498func (nae NodeAbortingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
24499	return nil, false
24500}
24501
24502// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24503func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
24504	return nil, false
24505}
24506
24507// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24508func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
24509	return nil, false
24510}
24511
24512// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24513func (nae NodeAbortingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
24514	return nil, false
24515}
24516
24517// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24518func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
24519	return nil, false
24520}
24521
24522// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24523func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
24524	return nil, false
24525}
24526
24527// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24528func (nae NodeAbortingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
24529	return nil, false
24530}
24531
24532// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24533func (nae NodeAbortingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
24534	return nil, false
24535}
24536
24537// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24538func (nae NodeAbortingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
24539	return nil, false
24540}
24541
24542// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24543func (nae NodeAbortingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
24544	return &nae, true
24545}
24546
24547// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24548func (nae NodeAbortingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
24549	return nil, false
24550}
24551
24552// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24553func (nae NodeAbortingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
24554	return nil, false
24555}
24556
24557// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24558func (nae NodeAbortingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
24559	return nil, false
24560}
24561
24562// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24563func (nae NodeAbortingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
24564	return nil, false
24565}
24566
24567// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24568func (nae NodeAbortingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
24569	return nil, false
24570}
24571
24572// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24573func (nae NodeAbortingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
24574	return nil, false
24575}
24576
24577// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24578func (nae NodeAbortingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
24579	return nil, false
24580}
24581
24582// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24583func (nae NodeAbortingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
24584	return nil, false
24585}
24586
24587// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24588func (nae NodeAbortingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
24589	return nil, false
24590}
24591
24592// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24593func (nae NodeAbortingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
24594	return nil, false
24595}
24596
24597// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24598func (nae NodeAbortingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
24599	return nil, false
24600}
24601
24602// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24603func (nae NodeAbortingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
24604	return nil, false
24605}
24606
24607// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24608func (nae NodeAbortingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
24609	return nil, false
24610}
24611
24612// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24613func (nae NodeAbortingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
24614	return nil, false
24615}
24616
24617// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24618func (nae NodeAbortingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
24619	return nil, false
24620}
24621
24622// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24623func (nae NodeAbortingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
24624	return nil, false
24625}
24626
24627// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24628func (nae NodeAbortingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
24629	return nil, false
24630}
24631
24632// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24633func (nae NodeAbortingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
24634	return nil, false
24635}
24636
24637// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24638func (nae NodeAbortingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
24639	return nil, false
24640}
24641
24642// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24643func (nae NodeAbortingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
24644	return nil, false
24645}
24646
24647// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24648func (nae NodeAbortingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
24649	return nil, false
24650}
24651
24652// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24653func (nae NodeAbortingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
24654	return nil, false
24655}
24656
24657// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24658func (nae NodeAbortingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
24659	return nil, false
24660}
24661
24662// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24663func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
24664	return nil, false
24665}
24666
24667// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24668func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
24669	return nil, false
24670}
24671
24672// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24673func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
24674	return nil, false
24675}
24676
24677// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24678func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
24679	return nil, false
24680}
24681
24682// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24683func (nae NodeAbortingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
24684	return nil, false
24685}
24686
24687// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24688func (nae NodeAbortingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
24689	return nil, false
24690}
24691
24692// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24693func (nae NodeAbortingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
24694	return nil, false
24695}
24696
24697// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24698func (nae NodeAbortingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
24699	return nil, false
24700}
24701
24702// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24703func (nae NodeAbortingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
24704	return nil, false
24705}
24706
24707// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24708func (nae NodeAbortingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
24709	return nil, false
24710}
24711
24712// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24713func (nae NodeAbortingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
24714	return nil, false
24715}
24716
24717// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24718func (nae NodeAbortingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
24719	return nil, false
24720}
24721
24722// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24723func (nae NodeAbortingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
24724	return nil, false
24725}
24726
24727// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24728func (nae NodeAbortingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
24729	return nil, false
24730}
24731
24732// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24733func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
24734	return nil, false
24735}
24736
24737// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24738func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
24739	return nil, false
24740}
24741
24742// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24743func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
24744	return nil, false
24745}
24746
24747// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24748func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
24749	return nil, false
24750}
24751
24752// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24753func (nae NodeAbortingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
24754	return nil, false
24755}
24756
24757// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24758func (nae NodeAbortingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
24759	return nil, false
24760}
24761
24762// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24763func (nae NodeAbortingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
24764	return nil, false
24765}
24766
24767// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24768func (nae NodeAbortingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
24769	return nil, false
24770}
24771
24772// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24773func (nae NodeAbortingEvent) AsFabricEvent() (*FabricEvent, bool) {
24774	return nil, false
24775}
24776
24777// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24778func (nae NodeAbortingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
24779	return &nae, true
24780}
24781
24782// NodeAddedEvent node Added event.
24783type NodeAddedEvent struct {
24784	// NodeID - Id of Node.
24785	NodeID *string `json:"NodeId,omitempty"`
24786	// NodeInstance - Id of Node instance.
24787	NodeInstance *int64 `json:"NodeInstance,omitempty"`
24788	// NodeType - Type of Node.
24789	NodeType *string `json:"NodeType,omitempty"`
24790	// FabricVersion - Fabric version.
24791	FabricVersion *string `json:"FabricVersion,omitempty"`
24792	// IPAddressOrFQDN - IP address or FQDN.
24793	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
24794	// NodeCapacities - Capacities.
24795	NodeCapacities *string `json:"NodeCapacities,omitempty"`
24796	// NodeName - The name of a Service Fabric node.
24797	NodeName *string `json:"NodeName,omitempty"`
24798	// EventInstanceID - The identifier for the FabricEvent instance.
24799	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
24800	// TimeStamp - The time event was logged.
24801	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
24802	// HasCorrelatedEvents - Shows there is existing related events available.
24803	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
24804	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
24805	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
24806}
24807
24808// MarshalJSON is the custom marshaler for NodeAddedEvent.
24809func (nae NodeAddedEvent) MarshalJSON() ([]byte, error) {
24810	nae.Kind = KindNodeAdded
24811	objectMap := make(map[string]interface{})
24812	if nae.NodeID != nil {
24813		objectMap["NodeId"] = nae.NodeID
24814	}
24815	if nae.NodeInstance != nil {
24816		objectMap["NodeInstance"] = nae.NodeInstance
24817	}
24818	if nae.NodeType != nil {
24819		objectMap["NodeType"] = nae.NodeType
24820	}
24821	if nae.FabricVersion != nil {
24822		objectMap["FabricVersion"] = nae.FabricVersion
24823	}
24824	if nae.IPAddressOrFQDN != nil {
24825		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
24826	}
24827	if nae.NodeCapacities != nil {
24828		objectMap["NodeCapacities"] = nae.NodeCapacities
24829	}
24830	if nae.NodeName != nil {
24831		objectMap["NodeName"] = nae.NodeName
24832	}
24833	if nae.EventInstanceID != nil {
24834		objectMap["EventInstanceId"] = nae.EventInstanceID
24835	}
24836	if nae.TimeStamp != nil {
24837		objectMap["TimeStamp"] = nae.TimeStamp
24838	}
24839	if nae.HasCorrelatedEvents != nil {
24840		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
24841	}
24842	if nae.Kind != "" {
24843		objectMap["Kind"] = nae.Kind
24844	}
24845	return json.Marshal(objectMap)
24846}
24847
24848// AsApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24849func (nae NodeAddedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
24850	return nil, false
24851}
24852
24853// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24854func (nae NodeAddedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
24855	return nil, false
24856}
24857
24858// AsClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24859func (nae NodeAddedEvent) AsClusterEvent() (*ClusterEvent, bool) {
24860	return nil, false
24861}
24862
24863// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24864func (nae NodeAddedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
24865	return nil, false
24866}
24867
24868// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24869func (nae NodeAddedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
24870	return nil, false
24871}
24872
24873// AsNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24874func (nae NodeAddedEvent) AsNodeEvent() (*NodeEvent, bool) {
24875	return nil, false
24876}
24877
24878// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24879func (nae NodeAddedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
24880	return &nae, true
24881}
24882
24883// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24884func (nae NodeAddedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
24885	return nil, false
24886}
24887
24888// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24889func (nae NodeAddedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
24890	return nil, false
24891}
24892
24893// AsPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24894func (nae NodeAddedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
24895	return nil, false
24896}
24897
24898// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24899func (nae NodeAddedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
24900	return nil, false
24901}
24902
24903// AsReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24904func (nae NodeAddedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
24905	return nil, false
24906}
24907
24908// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24909func (nae NodeAddedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
24910	return nil, false
24911}
24912
24913// AsServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24914func (nae NodeAddedEvent) AsServiceEvent() (*ServiceEvent, bool) {
24915	return nil, false
24916}
24917
24918// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24919func (nae NodeAddedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
24920	return nil, false
24921}
24922
24923// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24924func (nae NodeAddedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
24925	return nil, false
24926}
24927
24928// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24929func (nae NodeAddedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
24930	return nil, false
24931}
24932
24933// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24934func (nae NodeAddedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
24935	return nil, false
24936}
24937
24938// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24939func (nae NodeAddedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
24940	return nil, false
24941}
24942
24943// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24944func (nae NodeAddedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
24945	return nil, false
24946}
24947
24948// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24949func (nae NodeAddedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
24950	return nil, false
24951}
24952
24953// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24954func (nae NodeAddedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
24955	return nil, false
24956}
24957
24958// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24959func (nae NodeAddedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
24960	return nil, false
24961}
24962
24963// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24964func (nae NodeAddedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
24965	return nil, false
24966}
24967
24968// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24969func (nae NodeAddedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
24970	return nil, false
24971}
24972
24973// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24974func (nae NodeAddedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
24975	return nil, false
24976}
24977
24978// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24979func (nae NodeAddedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
24980	return nil, false
24981}
24982
24983// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24984func (nae NodeAddedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
24985	return nil, false
24986}
24987
24988// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24989func (nae NodeAddedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
24990	return nil, false
24991}
24992
24993// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24994func (nae NodeAddedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
24995	return nil, false
24996}
24997
24998// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24999func (nae NodeAddedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
25000	return &nae, true
25001}
25002
25003// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25004func (nae NodeAddedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
25005	return nil, false
25006}
25007
25008// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25009func (nae NodeAddedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
25010	return nil, false
25011}
25012
25013// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25014func (nae NodeAddedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
25015	return nil, false
25016}
25017
25018// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25019func (nae NodeAddedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
25020	return nil, false
25021}
25022
25023// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25024func (nae NodeAddedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
25025	return nil, false
25026}
25027
25028// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25029func (nae NodeAddedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
25030	return nil, false
25031}
25032
25033// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25034func (nae NodeAddedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
25035	return nil, false
25036}
25037
25038// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25039func (nae NodeAddedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
25040	return nil, false
25041}
25042
25043// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25044func (nae NodeAddedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
25045	return nil, false
25046}
25047
25048// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25049func (nae NodeAddedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
25050	return nil, false
25051}
25052
25053// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25054func (nae NodeAddedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
25055	return nil, false
25056}
25057
25058// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25059func (nae NodeAddedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
25060	return nil, false
25061}
25062
25063// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25064func (nae NodeAddedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
25065	return nil, false
25066}
25067
25068// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25069func (nae NodeAddedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
25070	return nil, false
25071}
25072
25073// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25074func (nae NodeAddedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
25075	return nil, false
25076}
25077
25078// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25079func (nae NodeAddedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
25080	return nil, false
25081}
25082
25083// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25084func (nae NodeAddedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
25085	return nil, false
25086}
25087
25088// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25089func (nae NodeAddedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
25090	return nil, false
25091}
25092
25093// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25094func (nae NodeAddedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
25095	return nil, false
25096}
25097
25098// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25099func (nae NodeAddedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
25100	return nil, false
25101}
25102
25103// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25104func (nae NodeAddedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
25105	return nil, false
25106}
25107
25108// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25109func (nae NodeAddedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
25110	return nil, false
25111}
25112
25113// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25114func (nae NodeAddedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
25115	return nil, false
25116}
25117
25118// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25119func (nae NodeAddedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
25120	return nil, false
25121}
25122
25123// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25124func (nae NodeAddedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
25125	return nil, false
25126}
25127
25128// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25129func (nae NodeAddedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
25130	return nil, false
25131}
25132
25133// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25134func (nae NodeAddedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
25135	return nil, false
25136}
25137
25138// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25139func (nae NodeAddedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
25140	return nil, false
25141}
25142
25143// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25144func (nae NodeAddedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
25145	return nil, false
25146}
25147
25148// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25149func (nae NodeAddedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
25150	return nil, false
25151}
25152
25153// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25154func (nae NodeAddedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
25155	return nil, false
25156}
25157
25158// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25159func (nae NodeAddedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
25160	return nil, false
25161}
25162
25163// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25164func (nae NodeAddedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
25165	return nil, false
25166}
25167
25168// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25169func (nae NodeAddedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
25170	return nil, false
25171}
25172
25173// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25174func (nae NodeAddedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
25175	return nil, false
25176}
25177
25178// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25179func (nae NodeAddedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
25180	return nil, false
25181}
25182
25183// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25184func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
25185	return nil, false
25186}
25187
25188// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25189func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
25190	return nil, false
25191}
25192
25193// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25194func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
25195	return nil, false
25196}
25197
25198// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25199func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
25200	return nil, false
25201}
25202
25203// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25204func (nae NodeAddedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
25205	return nil, false
25206}
25207
25208// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25209func (nae NodeAddedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
25210	return nil, false
25211}
25212
25213// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25214func (nae NodeAddedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
25215	return nil, false
25216}
25217
25218// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25219func (nae NodeAddedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
25220	return nil, false
25221}
25222
25223// AsFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25224func (nae NodeAddedEvent) AsFabricEvent() (*FabricEvent, bool) {
25225	return nil, false
25226}
25227
25228// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
25229func (nae NodeAddedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
25230	return &nae, true
25231}
25232
25233// NodeCloseEvent node Close event.
25234type NodeCloseEvent struct {
25235	// NodeID - Id of Node.
25236	NodeID *string `json:"NodeId,omitempty"`
25237	// NodeInstance - Id of Node instance.
25238	NodeInstance *string `json:"NodeInstance,omitempty"`
25239	// Error - Describes error.
25240	Error *string `json:"Error,omitempty"`
25241	// NodeName - The name of a Service Fabric node.
25242	NodeName *string `json:"NodeName,omitempty"`
25243	// EventInstanceID - The identifier for the FabricEvent instance.
25244	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
25245	// TimeStamp - The time event was logged.
25246	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
25247	// HasCorrelatedEvents - Shows there is existing related events available.
25248	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
25249	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
25250	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
25251}
25252
25253// MarshalJSON is the custom marshaler for NodeCloseEvent.
25254func (nce NodeCloseEvent) MarshalJSON() ([]byte, error) {
25255	nce.Kind = KindNodeClose
25256	objectMap := make(map[string]interface{})
25257	if nce.NodeID != nil {
25258		objectMap["NodeId"] = nce.NodeID
25259	}
25260	if nce.NodeInstance != nil {
25261		objectMap["NodeInstance"] = nce.NodeInstance
25262	}
25263	if nce.Error != nil {
25264		objectMap["Error"] = nce.Error
25265	}
25266	if nce.NodeName != nil {
25267		objectMap["NodeName"] = nce.NodeName
25268	}
25269	if nce.EventInstanceID != nil {
25270		objectMap["EventInstanceId"] = nce.EventInstanceID
25271	}
25272	if nce.TimeStamp != nil {
25273		objectMap["TimeStamp"] = nce.TimeStamp
25274	}
25275	if nce.HasCorrelatedEvents != nil {
25276		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
25277	}
25278	if nce.Kind != "" {
25279		objectMap["Kind"] = nce.Kind
25280	}
25281	return json.Marshal(objectMap)
25282}
25283
25284// AsApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25285func (nce NodeCloseEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
25286	return nil, false
25287}
25288
25289// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25290func (nce NodeCloseEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
25291	return nil, false
25292}
25293
25294// AsClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25295func (nce NodeCloseEvent) AsClusterEvent() (*ClusterEvent, bool) {
25296	return nil, false
25297}
25298
25299// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25300func (nce NodeCloseEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
25301	return nil, false
25302}
25303
25304// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25305func (nce NodeCloseEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
25306	return nil, false
25307}
25308
25309// AsNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25310func (nce NodeCloseEvent) AsNodeEvent() (*NodeEvent, bool) {
25311	return nil, false
25312}
25313
25314// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25315func (nce NodeCloseEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
25316	return &nce, true
25317}
25318
25319// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25320func (nce NodeCloseEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
25321	return nil, false
25322}
25323
25324// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25325func (nce NodeCloseEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
25326	return nil, false
25327}
25328
25329// AsPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25330func (nce NodeCloseEvent) AsPartitionEvent() (*PartitionEvent, bool) {
25331	return nil, false
25332}
25333
25334// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25335func (nce NodeCloseEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
25336	return nil, false
25337}
25338
25339// AsReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25340func (nce NodeCloseEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
25341	return nil, false
25342}
25343
25344// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25345func (nce NodeCloseEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
25346	return nil, false
25347}
25348
25349// AsServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25350func (nce NodeCloseEvent) AsServiceEvent() (*ServiceEvent, bool) {
25351	return nil, false
25352}
25353
25354// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25355func (nce NodeCloseEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
25356	return nil, false
25357}
25358
25359// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25360func (nce NodeCloseEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
25361	return nil, false
25362}
25363
25364// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25365func (nce NodeCloseEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
25366	return nil, false
25367}
25368
25369// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25370func (nce NodeCloseEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
25371	return nil, false
25372}
25373
25374// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25375func (nce NodeCloseEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
25376	return nil, false
25377}
25378
25379// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25380func (nce NodeCloseEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
25381	return nil, false
25382}
25383
25384// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25385func (nce NodeCloseEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
25386	return nil, false
25387}
25388
25389// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25390func (nce NodeCloseEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
25391	return nil, false
25392}
25393
25394// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25395func (nce NodeCloseEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
25396	return nil, false
25397}
25398
25399// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25400func (nce NodeCloseEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
25401	return nil, false
25402}
25403
25404// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25405func (nce NodeCloseEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
25406	return nil, false
25407}
25408
25409// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25410func (nce NodeCloseEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
25411	return nil, false
25412}
25413
25414// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25415func (nce NodeCloseEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
25416	return nil, false
25417}
25418
25419// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25420func (nce NodeCloseEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
25421	return nil, false
25422}
25423
25424// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25425func (nce NodeCloseEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
25426	return nil, false
25427}
25428
25429// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25430func (nce NodeCloseEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
25431	return nil, false
25432}
25433
25434// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25435func (nce NodeCloseEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
25436	return nil, false
25437}
25438
25439// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25440func (nce NodeCloseEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
25441	return &nce, true
25442}
25443
25444// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25445func (nce NodeCloseEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
25446	return nil, false
25447}
25448
25449// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25450func (nce NodeCloseEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
25451	return nil, false
25452}
25453
25454// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25455func (nce NodeCloseEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
25456	return nil, false
25457}
25458
25459// AsNodeDownEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25460func (nce NodeCloseEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
25461	return nil, false
25462}
25463
25464// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25465func (nce NodeCloseEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
25466	return nil, false
25467}
25468
25469// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25470func (nce NodeCloseEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
25471	return nil, false
25472}
25473
25474// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25475func (nce NodeCloseEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
25476	return nil, false
25477}
25478
25479// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25480func (nce NodeCloseEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
25481	return nil, false
25482}
25483
25484// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25485func (nce NodeCloseEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
25486	return nil, false
25487}
25488
25489// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25490func (nce NodeCloseEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
25491	return nil, false
25492}
25493
25494// AsNodeUpEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25495func (nce NodeCloseEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
25496	return nil, false
25497}
25498
25499// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25500func (nce NodeCloseEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
25501	return nil, false
25502}
25503
25504// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25505func (nce NodeCloseEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
25506	return nil, false
25507}
25508
25509// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25510func (nce NodeCloseEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
25511	return nil, false
25512}
25513
25514// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25515func (nce NodeCloseEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
25516	return nil, false
25517}
25518
25519// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25520func (nce NodeCloseEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
25521	return nil, false
25522}
25523
25524// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25525func (nce NodeCloseEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
25526	return nil, false
25527}
25528
25529// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25530func (nce NodeCloseEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
25531	return nil, false
25532}
25533
25534// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25535func (nce NodeCloseEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
25536	return nil, false
25537}
25538
25539// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25540func (nce NodeCloseEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
25541	return nil, false
25542}
25543
25544// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25545func (nce NodeCloseEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
25546	return nil, false
25547}
25548
25549// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25550func (nce NodeCloseEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
25551	return nil, false
25552}
25553
25554// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25555func (nce NodeCloseEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
25556	return nil, false
25557}
25558
25559// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25560func (nce NodeCloseEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
25561	return nil, false
25562}
25563
25564// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25565func (nce NodeCloseEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
25566	return nil, false
25567}
25568
25569// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25570func (nce NodeCloseEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
25571	return nil, false
25572}
25573
25574// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25575func (nce NodeCloseEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
25576	return nil, false
25577}
25578
25579// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25580func (nce NodeCloseEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
25581	return nil, false
25582}
25583
25584// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25585func (nce NodeCloseEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
25586	return nil, false
25587}
25588
25589// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25590func (nce NodeCloseEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
25591	return nil, false
25592}
25593
25594// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25595func (nce NodeCloseEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
25596	return nil, false
25597}
25598
25599// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25600func (nce NodeCloseEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
25601	return nil, false
25602}
25603
25604// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25605func (nce NodeCloseEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
25606	return nil, false
25607}
25608
25609// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25610func (nce NodeCloseEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
25611	return nil, false
25612}
25613
25614// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25615func (nce NodeCloseEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
25616	return nil, false
25617}
25618
25619// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25620func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
25621	return nil, false
25622}
25623
25624// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25625func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
25626	return nil, false
25627}
25628
25629// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25630func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
25631	return nil, false
25632}
25633
25634// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25635func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
25636	return nil, false
25637}
25638
25639// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25640func (nce NodeCloseEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
25641	return nil, false
25642}
25643
25644// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25645func (nce NodeCloseEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
25646	return nil, false
25647}
25648
25649// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25650func (nce NodeCloseEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
25651	return nil, false
25652}
25653
25654// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25655func (nce NodeCloseEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
25656	return nil, false
25657}
25658
25659// AsFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25660func (nce NodeCloseEvent) AsFabricEvent() (*FabricEvent, bool) {
25661	return nil, false
25662}
25663
25664// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25665func (nce NodeCloseEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
25666	return &nce, true
25667}
25668
25669// NodeClosingEvent node Closing event.
25670type NodeClosingEvent struct {
25671	// NodeInstance - Id of Node instance.
25672	NodeInstance *int64 `json:"NodeInstance,omitempty"`
25673	// NodeID - Id of Node.
25674	NodeID *string `json:"NodeId,omitempty"`
25675	// UpgradeDomain - Upgrade domain of Node.
25676	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
25677	// FaultDomain - Fault domain of Node.
25678	FaultDomain *string `json:"FaultDomain,omitempty"`
25679	// IPAddressOrFQDN - IP address or FQDN.
25680	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
25681	// Hostname - Name of Host.
25682	Hostname *string `json:"Hostname,omitempty"`
25683	// IsSeedNode - Indicates if it is seed node.
25684	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
25685	// NodeVersion - Version of Node.
25686	NodeVersion *string `json:"NodeVersion,omitempty"`
25687	// NodeName - The name of a Service Fabric node.
25688	NodeName *string `json:"NodeName,omitempty"`
25689	// EventInstanceID - The identifier for the FabricEvent instance.
25690	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
25691	// TimeStamp - The time event was logged.
25692	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
25693	// HasCorrelatedEvents - Shows there is existing related events available.
25694	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
25695	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
25696	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
25697}
25698
25699// MarshalJSON is the custom marshaler for NodeClosingEvent.
25700func (nce NodeClosingEvent) MarshalJSON() ([]byte, error) {
25701	nce.Kind = KindNodeClosing
25702	objectMap := make(map[string]interface{})
25703	if nce.NodeInstance != nil {
25704		objectMap["NodeInstance"] = nce.NodeInstance
25705	}
25706	if nce.NodeID != nil {
25707		objectMap["NodeId"] = nce.NodeID
25708	}
25709	if nce.UpgradeDomain != nil {
25710		objectMap["UpgradeDomain"] = nce.UpgradeDomain
25711	}
25712	if nce.FaultDomain != nil {
25713		objectMap["FaultDomain"] = nce.FaultDomain
25714	}
25715	if nce.IPAddressOrFQDN != nil {
25716		objectMap["IpAddressOrFQDN"] = nce.IPAddressOrFQDN
25717	}
25718	if nce.Hostname != nil {
25719		objectMap["Hostname"] = nce.Hostname
25720	}
25721	if nce.IsSeedNode != nil {
25722		objectMap["IsSeedNode"] = nce.IsSeedNode
25723	}
25724	if nce.NodeVersion != nil {
25725		objectMap["NodeVersion"] = nce.NodeVersion
25726	}
25727	if nce.NodeName != nil {
25728		objectMap["NodeName"] = nce.NodeName
25729	}
25730	if nce.EventInstanceID != nil {
25731		objectMap["EventInstanceId"] = nce.EventInstanceID
25732	}
25733	if nce.TimeStamp != nil {
25734		objectMap["TimeStamp"] = nce.TimeStamp
25735	}
25736	if nce.HasCorrelatedEvents != nil {
25737		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
25738	}
25739	if nce.Kind != "" {
25740		objectMap["Kind"] = nce.Kind
25741	}
25742	return json.Marshal(objectMap)
25743}
25744
25745// AsApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25746func (nce NodeClosingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
25747	return nil, false
25748}
25749
25750// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25751func (nce NodeClosingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
25752	return nil, false
25753}
25754
25755// AsClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25756func (nce NodeClosingEvent) AsClusterEvent() (*ClusterEvent, bool) {
25757	return nil, false
25758}
25759
25760// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25761func (nce NodeClosingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
25762	return nil, false
25763}
25764
25765// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25766func (nce NodeClosingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
25767	return nil, false
25768}
25769
25770// AsNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25771func (nce NodeClosingEvent) AsNodeEvent() (*NodeEvent, bool) {
25772	return nil, false
25773}
25774
25775// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25776func (nce NodeClosingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
25777	return &nce, true
25778}
25779
25780// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25781func (nce NodeClosingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
25782	return nil, false
25783}
25784
25785// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25786func (nce NodeClosingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
25787	return nil, false
25788}
25789
25790// AsPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25791func (nce NodeClosingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
25792	return nil, false
25793}
25794
25795// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25796func (nce NodeClosingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
25797	return nil, false
25798}
25799
25800// AsReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25801func (nce NodeClosingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
25802	return nil, false
25803}
25804
25805// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25806func (nce NodeClosingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
25807	return nil, false
25808}
25809
25810// AsServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25811func (nce NodeClosingEvent) AsServiceEvent() (*ServiceEvent, bool) {
25812	return nil, false
25813}
25814
25815// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25816func (nce NodeClosingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
25817	return nil, false
25818}
25819
25820// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25821func (nce NodeClosingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
25822	return nil, false
25823}
25824
25825// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25826func (nce NodeClosingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
25827	return nil, false
25828}
25829
25830// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25831func (nce NodeClosingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
25832	return nil, false
25833}
25834
25835// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25836func (nce NodeClosingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
25837	return nil, false
25838}
25839
25840// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25841func (nce NodeClosingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
25842	return nil, false
25843}
25844
25845// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25846func (nce NodeClosingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
25847	return nil, false
25848}
25849
25850// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25851func (nce NodeClosingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
25852	return nil, false
25853}
25854
25855// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25856func (nce NodeClosingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
25857	return nil, false
25858}
25859
25860// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25861func (nce NodeClosingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
25862	return nil, false
25863}
25864
25865// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25866func (nce NodeClosingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
25867	return nil, false
25868}
25869
25870// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25871func (nce NodeClosingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
25872	return nil, false
25873}
25874
25875// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25876func (nce NodeClosingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
25877	return nil, false
25878}
25879
25880// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25881func (nce NodeClosingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
25882	return nil, false
25883}
25884
25885// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25886func (nce NodeClosingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
25887	return nil, false
25888}
25889
25890// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25891func (nce NodeClosingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
25892	return nil, false
25893}
25894
25895// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25896func (nce NodeClosingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
25897	return nil, false
25898}
25899
25900// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25901func (nce NodeClosingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
25902	return nil, false
25903}
25904
25905// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25906func (nce NodeClosingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
25907	return &nce, true
25908}
25909
25910// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25911func (nce NodeClosingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
25912	return nil, false
25913}
25914
25915// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25916func (nce NodeClosingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
25917	return nil, false
25918}
25919
25920// AsNodeDownEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25921func (nce NodeClosingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
25922	return nil, false
25923}
25924
25925// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25926func (nce NodeClosingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
25927	return nil, false
25928}
25929
25930// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25931func (nce NodeClosingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
25932	return nil, false
25933}
25934
25935// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25936func (nce NodeClosingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
25937	return nil, false
25938}
25939
25940// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25941func (nce NodeClosingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
25942	return nil, false
25943}
25944
25945// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25946func (nce NodeClosingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
25947	return nil, false
25948}
25949
25950// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25951func (nce NodeClosingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
25952	return nil, false
25953}
25954
25955// AsNodeUpEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25956func (nce NodeClosingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
25957	return nil, false
25958}
25959
25960// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25961func (nce NodeClosingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
25962	return nil, false
25963}
25964
25965// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25966func (nce NodeClosingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
25967	return nil, false
25968}
25969
25970// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25971func (nce NodeClosingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
25972	return nil, false
25973}
25974
25975// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25976func (nce NodeClosingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
25977	return nil, false
25978}
25979
25980// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25981func (nce NodeClosingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
25982	return nil, false
25983}
25984
25985// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25986func (nce NodeClosingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
25987	return nil, false
25988}
25989
25990// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25991func (nce NodeClosingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
25992	return nil, false
25993}
25994
25995// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25996func (nce NodeClosingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
25997	return nil, false
25998}
25999
26000// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26001func (nce NodeClosingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
26002	return nil, false
26003}
26004
26005// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26006func (nce NodeClosingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
26007	return nil, false
26008}
26009
26010// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26011func (nce NodeClosingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
26012	return nil, false
26013}
26014
26015// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26016func (nce NodeClosingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
26017	return nil, false
26018}
26019
26020// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26021func (nce NodeClosingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
26022	return nil, false
26023}
26024
26025// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26026func (nce NodeClosingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
26027	return nil, false
26028}
26029
26030// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26031func (nce NodeClosingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
26032	return nil, false
26033}
26034
26035// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26036func (nce NodeClosingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
26037	return nil, false
26038}
26039
26040// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26041func (nce NodeClosingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
26042	return nil, false
26043}
26044
26045// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26046func (nce NodeClosingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
26047	return nil, false
26048}
26049
26050// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26051func (nce NodeClosingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
26052	return nil, false
26053}
26054
26055// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26056func (nce NodeClosingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
26057	return nil, false
26058}
26059
26060// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26061func (nce NodeClosingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
26062	return nil, false
26063}
26064
26065// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26066func (nce NodeClosingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
26067	return nil, false
26068}
26069
26070// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26071func (nce NodeClosingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
26072	return nil, false
26073}
26074
26075// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26076func (nce NodeClosingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
26077	return nil, false
26078}
26079
26080// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26081func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
26082	return nil, false
26083}
26084
26085// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26086func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
26087	return nil, false
26088}
26089
26090// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26091func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
26092	return nil, false
26093}
26094
26095// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26096func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
26097	return nil, false
26098}
26099
26100// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26101func (nce NodeClosingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
26102	return nil, false
26103}
26104
26105// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26106func (nce NodeClosingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
26107	return nil, false
26108}
26109
26110// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26111func (nce NodeClosingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
26112	return nil, false
26113}
26114
26115// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26116func (nce NodeClosingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
26117	return nil, false
26118}
26119
26120// AsFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26121func (nce NodeClosingEvent) AsFabricEvent() (*FabricEvent, bool) {
26122	return nil, false
26123}
26124
26125// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
26126func (nce NodeClosingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
26127	return &nce, true
26128}
26129
26130// NodeDeactivateCompleteEvent node Deactivate Complete event.
26131type NodeDeactivateCompleteEvent struct {
26132	// NodeInstance - Id of Node instance.
26133	NodeInstance *int64 `json:"NodeInstance,omitempty"`
26134	// EffectiveDeactivateIntent - Describes deactivate intent.
26135	EffectiveDeactivateIntent *string `json:"EffectiveDeactivateIntent,omitempty"`
26136	// BatchIdsWithDeactivateIntent - Batch Ids.
26137	BatchIdsWithDeactivateIntent *string `json:"BatchIdsWithDeactivateIntent,omitempty"`
26138	// StartTime - Start time.
26139	StartTime *date.Time `json:"StartTime,omitempty"`
26140	// NodeName - The name of a Service Fabric node.
26141	NodeName *string `json:"NodeName,omitempty"`
26142	// EventInstanceID - The identifier for the FabricEvent instance.
26143	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
26144	// TimeStamp - The time event was logged.
26145	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
26146	// HasCorrelatedEvents - Shows there is existing related events available.
26147	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
26148	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
26149	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
26150}
26151
26152// MarshalJSON is the custom marshaler for NodeDeactivateCompleteEvent.
26153func (ndce NodeDeactivateCompleteEvent) MarshalJSON() ([]byte, error) {
26154	ndce.Kind = KindNodeDeactivateComplete
26155	objectMap := make(map[string]interface{})
26156	if ndce.NodeInstance != nil {
26157		objectMap["NodeInstance"] = ndce.NodeInstance
26158	}
26159	if ndce.EffectiveDeactivateIntent != nil {
26160		objectMap["EffectiveDeactivateIntent"] = ndce.EffectiveDeactivateIntent
26161	}
26162	if ndce.BatchIdsWithDeactivateIntent != nil {
26163		objectMap["BatchIdsWithDeactivateIntent"] = ndce.BatchIdsWithDeactivateIntent
26164	}
26165	if ndce.StartTime != nil {
26166		objectMap["StartTime"] = ndce.StartTime
26167	}
26168	if ndce.NodeName != nil {
26169		objectMap["NodeName"] = ndce.NodeName
26170	}
26171	if ndce.EventInstanceID != nil {
26172		objectMap["EventInstanceId"] = ndce.EventInstanceID
26173	}
26174	if ndce.TimeStamp != nil {
26175		objectMap["TimeStamp"] = ndce.TimeStamp
26176	}
26177	if ndce.HasCorrelatedEvents != nil {
26178		objectMap["HasCorrelatedEvents"] = ndce.HasCorrelatedEvents
26179	}
26180	if ndce.Kind != "" {
26181		objectMap["Kind"] = ndce.Kind
26182	}
26183	return json.Marshal(objectMap)
26184}
26185
26186// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26187func (ndce NodeDeactivateCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
26188	return nil, false
26189}
26190
26191// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26192func (ndce NodeDeactivateCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
26193	return nil, false
26194}
26195
26196// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26197func (ndce NodeDeactivateCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
26198	return nil, false
26199}
26200
26201// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26202func (ndce NodeDeactivateCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
26203	return nil, false
26204}
26205
26206// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26207func (ndce NodeDeactivateCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
26208	return nil, false
26209}
26210
26211// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26212func (ndce NodeDeactivateCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
26213	return nil, false
26214}
26215
26216// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26217func (ndce NodeDeactivateCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
26218	return &ndce, true
26219}
26220
26221// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26222func (ndce NodeDeactivateCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
26223	return nil, false
26224}
26225
26226// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26227func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
26228	return nil, false
26229}
26230
26231// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26232func (ndce NodeDeactivateCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
26233	return nil, false
26234}
26235
26236// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26237func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
26238	return nil, false
26239}
26240
26241// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26242func (ndce NodeDeactivateCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
26243	return nil, false
26244}
26245
26246// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26247func (ndce NodeDeactivateCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
26248	return nil, false
26249}
26250
26251// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26252func (ndce NodeDeactivateCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
26253	return nil, false
26254}
26255
26256// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26257func (ndce NodeDeactivateCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
26258	return nil, false
26259}
26260
26261// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26262func (ndce NodeDeactivateCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
26263	return nil, false
26264}
26265
26266// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26267func (ndce NodeDeactivateCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
26268	return nil, false
26269}
26270
26271// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26272func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
26273	return nil, false
26274}
26275
26276// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26277func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
26278	return nil, false
26279}
26280
26281// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26282func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
26283	return nil, false
26284}
26285
26286// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26287func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
26288	return nil, false
26289}
26290
26291// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26292func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
26293	return nil, false
26294}
26295
26296// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26297func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
26298	return nil, false
26299}
26300
26301// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26302func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
26303	return nil, false
26304}
26305
26306// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26307func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
26308	return nil, false
26309}
26310
26311// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26312func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
26313	return nil, false
26314}
26315
26316// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26317func (ndce NodeDeactivateCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
26318	return nil, false
26319}
26320
26321// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26322func (ndce NodeDeactivateCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
26323	return nil, false
26324}
26325
26326// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26327func (ndce NodeDeactivateCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
26328	return nil, false
26329}
26330
26331// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26332func (ndce NodeDeactivateCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
26333	return nil, false
26334}
26335
26336// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26337func (ndce NodeDeactivateCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
26338	return nil, false
26339}
26340
26341// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26342func (ndce NodeDeactivateCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
26343	return nil, false
26344}
26345
26346// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26347func (ndce NodeDeactivateCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
26348	return nil, false
26349}
26350
26351// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26352func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
26353	return &ndce, true
26354}
26355
26356// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26357func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
26358	return nil, false
26359}
26360
26361// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26362func (ndce NodeDeactivateCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
26363	return nil, false
26364}
26365
26366// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26367func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
26368	return nil, false
26369}
26370
26371// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26372func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
26373	return nil, false
26374}
26375
26376// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26377func (ndce NodeDeactivateCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
26378	return nil, false
26379}
26380
26381// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26382func (ndce NodeDeactivateCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
26383	return nil, false
26384}
26385
26386// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26387func (ndce NodeDeactivateCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
26388	return nil, false
26389}
26390
26391// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26392func (ndce NodeDeactivateCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
26393	return nil, false
26394}
26395
26396// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26397func (ndce NodeDeactivateCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
26398	return nil, false
26399}
26400
26401// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26402func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
26403	return nil, false
26404}
26405
26406// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26407func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
26408	return nil, false
26409}
26410
26411// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26412func (ndce NodeDeactivateCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
26413	return nil, false
26414}
26415
26416// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26417func (ndce NodeDeactivateCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
26418	return nil, false
26419}
26420
26421// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26422func (ndce NodeDeactivateCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
26423	return nil, false
26424}
26425
26426// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26427func (ndce NodeDeactivateCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
26428	return nil, false
26429}
26430
26431// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26432func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
26433	return nil, false
26434}
26435
26436// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26437func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
26438	return nil, false
26439}
26440
26441// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26442func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
26443	return nil, false
26444}
26445
26446// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26447func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
26448	return nil, false
26449}
26450
26451// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26452func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
26453	return nil, false
26454}
26455
26456// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26457func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
26458	return nil, false
26459}
26460
26461// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26462func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
26463	return nil, false
26464}
26465
26466// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26467func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
26468	return nil, false
26469}
26470
26471// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26472func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
26473	return nil, false
26474}
26475
26476// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26477func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
26478	return nil, false
26479}
26480
26481// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26482func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
26483	return nil, false
26484}
26485
26486// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26487func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
26488	return nil, false
26489}
26490
26491// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26492func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
26493	return nil, false
26494}
26495
26496// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26497func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
26498	return nil, false
26499}
26500
26501// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26502func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
26503	return nil, false
26504}
26505
26506// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26507func (ndce NodeDeactivateCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
26508	return nil, false
26509}
26510
26511// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26512func (ndce NodeDeactivateCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
26513	return nil, false
26514}
26515
26516// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26517func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
26518	return nil, false
26519}
26520
26521// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26522func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
26523	return nil, false
26524}
26525
26526// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26527func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
26528	return nil, false
26529}
26530
26531// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26532func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
26533	return nil, false
26534}
26535
26536// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26537func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
26538	return nil, false
26539}
26540
26541// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26542func (ndce NodeDeactivateCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
26543	return nil, false
26544}
26545
26546// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26547func (ndce NodeDeactivateCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
26548	return nil, false
26549}
26550
26551// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26552func (ndce NodeDeactivateCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
26553	return nil, false
26554}
26555
26556// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26557func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
26558	return nil, false
26559}
26560
26561// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26562func (ndce NodeDeactivateCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
26563	return nil, false
26564}
26565
26566// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26567func (ndce NodeDeactivateCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
26568	return &ndce, true
26569}
26570
26571// NodeDeactivateStartEvent node Deactivate Start event.
26572type NodeDeactivateStartEvent struct {
26573	// NodeInstance - Id of Node instance.
26574	NodeInstance *int64 `json:"NodeInstance,omitempty"`
26575	// BatchID - Batch Id.
26576	BatchID *string `json:"BatchId,omitempty"`
26577	// DeactivateIntent - Describes deactivate intent.
26578	DeactivateIntent *string `json:"DeactivateIntent,omitempty"`
26579	// NodeName - The name of a Service Fabric node.
26580	NodeName *string `json:"NodeName,omitempty"`
26581	// EventInstanceID - The identifier for the FabricEvent instance.
26582	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
26583	// TimeStamp - The time event was logged.
26584	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
26585	// HasCorrelatedEvents - Shows there is existing related events available.
26586	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
26587	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
26588	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
26589}
26590
26591// MarshalJSON is the custom marshaler for NodeDeactivateStartEvent.
26592func (ndse NodeDeactivateStartEvent) MarshalJSON() ([]byte, error) {
26593	ndse.Kind = KindNodeDeactivateStart
26594	objectMap := make(map[string]interface{})
26595	if ndse.NodeInstance != nil {
26596		objectMap["NodeInstance"] = ndse.NodeInstance
26597	}
26598	if ndse.BatchID != nil {
26599		objectMap["BatchId"] = ndse.BatchID
26600	}
26601	if ndse.DeactivateIntent != nil {
26602		objectMap["DeactivateIntent"] = ndse.DeactivateIntent
26603	}
26604	if ndse.NodeName != nil {
26605		objectMap["NodeName"] = ndse.NodeName
26606	}
26607	if ndse.EventInstanceID != nil {
26608		objectMap["EventInstanceId"] = ndse.EventInstanceID
26609	}
26610	if ndse.TimeStamp != nil {
26611		objectMap["TimeStamp"] = ndse.TimeStamp
26612	}
26613	if ndse.HasCorrelatedEvents != nil {
26614		objectMap["HasCorrelatedEvents"] = ndse.HasCorrelatedEvents
26615	}
26616	if ndse.Kind != "" {
26617		objectMap["Kind"] = ndse.Kind
26618	}
26619	return json.Marshal(objectMap)
26620}
26621
26622// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26623func (ndse NodeDeactivateStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
26624	return nil, false
26625}
26626
26627// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26628func (ndse NodeDeactivateStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
26629	return nil, false
26630}
26631
26632// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26633func (ndse NodeDeactivateStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
26634	return nil, false
26635}
26636
26637// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26638func (ndse NodeDeactivateStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
26639	return nil, false
26640}
26641
26642// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26643func (ndse NodeDeactivateStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
26644	return nil, false
26645}
26646
26647// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26648func (ndse NodeDeactivateStartEvent) AsNodeEvent() (*NodeEvent, bool) {
26649	return nil, false
26650}
26651
26652// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26653func (ndse NodeDeactivateStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
26654	return &ndse, true
26655}
26656
26657// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26658func (ndse NodeDeactivateStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
26659	return nil, false
26660}
26661
26662// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26663func (ndse NodeDeactivateStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
26664	return nil, false
26665}
26666
26667// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26668func (ndse NodeDeactivateStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
26669	return nil, false
26670}
26671
26672// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26673func (ndse NodeDeactivateStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
26674	return nil, false
26675}
26676
26677// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26678func (ndse NodeDeactivateStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
26679	return nil, false
26680}
26681
26682// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26683func (ndse NodeDeactivateStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
26684	return nil, false
26685}
26686
26687// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26688func (ndse NodeDeactivateStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
26689	return nil, false
26690}
26691
26692// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26693func (ndse NodeDeactivateStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
26694	return nil, false
26695}
26696
26697// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26698func (ndse NodeDeactivateStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
26699	return nil, false
26700}
26701
26702// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26703func (ndse NodeDeactivateStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
26704	return nil, false
26705}
26706
26707// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26708func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
26709	return nil, false
26710}
26711
26712// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26713func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
26714	return nil, false
26715}
26716
26717// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26718func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
26719	return nil, false
26720}
26721
26722// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26723func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
26724	return nil, false
26725}
26726
26727// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26728func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
26729	return nil, false
26730}
26731
26732// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26733func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
26734	return nil, false
26735}
26736
26737// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26738func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
26739	return nil, false
26740}
26741
26742// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26743func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
26744	return nil, false
26745}
26746
26747// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26748func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
26749	return nil, false
26750}
26751
26752// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26753func (ndse NodeDeactivateStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
26754	return nil, false
26755}
26756
26757// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26758func (ndse NodeDeactivateStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
26759	return nil, false
26760}
26761
26762// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26763func (ndse NodeDeactivateStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
26764	return nil, false
26765}
26766
26767// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26768func (ndse NodeDeactivateStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
26769	return nil, false
26770}
26771
26772// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26773func (ndse NodeDeactivateStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
26774	return nil, false
26775}
26776
26777// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26778func (ndse NodeDeactivateStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
26779	return nil, false
26780}
26781
26782// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26783func (ndse NodeDeactivateStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
26784	return nil, false
26785}
26786
26787// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26788func (ndse NodeDeactivateStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
26789	return nil, false
26790}
26791
26792// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26793func (ndse NodeDeactivateStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
26794	return &ndse, true
26795}
26796
26797// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26798func (ndse NodeDeactivateStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
26799	return nil, false
26800}
26801
26802// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26803func (ndse NodeDeactivateStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
26804	return nil, false
26805}
26806
26807// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26808func (ndse NodeDeactivateStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
26809	return nil, false
26810}
26811
26812// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26813func (ndse NodeDeactivateStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
26814	return nil, false
26815}
26816
26817// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26818func (ndse NodeDeactivateStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
26819	return nil, false
26820}
26821
26822// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26823func (ndse NodeDeactivateStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
26824	return nil, false
26825}
26826
26827// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26828func (ndse NodeDeactivateStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
26829	return nil, false
26830}
26831
26832// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26833func (ndse NodeDeactivateStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
26834	return nil, false
26835}
26836
26837// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26838func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
26839	return nil, false
26840}
26841
26842// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26843func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
26844	return nil, false
26845}
26846
26847// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26848func (ndse NodeDeactivateStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
26849	return nil, false
26850}
26851
26852// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26853func (ndse NodeDeactivateStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
26854	return nil, false
26855}
26856
26857// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26858func (ndse NodeDeactivateStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
26859	return nil, false
26860}
26861
26862// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26863func (ndse NodeDeactivateStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
26864	return nil, false
26865}
26866
26867// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26868func (ndse NodeDeactivateStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
26869	return nil, false
26870}
26871
26872// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26873func (ndse NodeDeactivateStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
26874	return nil, false
26875}
26876
26877// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26878func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
26879	return nil, false
26880}
26881
26882// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26883func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
26884	return nil, false
26885}
26886
26887// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26888func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
26889	return nil, false
26890}
26891
26892// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26893func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
26894	return nil, false
26895}
26896
26897// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26898func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
26899	return nil, false
26900}
26901
26902// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26903func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
26904	return nil, false
26905}
26906
26907// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26908func (ndse NodeDeactivateStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
26909	return nil, false
26910}
26911
26912// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26913func (ndse NodeDeactivateStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
26914	return nil, false
26915}
26916
26917// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26918func (ndse NodeDeactivateStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
26919	return nil, false
26920}
26921
26922// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26923func (ndse NodeDeactivateStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
26924	return nil, false
26925}
26926
26927// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26928func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
26929	return nil, false
26930}
26931
26932// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26933func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
26934	return nil, false
26935}
26936
26937// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26938func (ndse NodeDeactivateStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
26939	return nil, false
26940}
26941
26942// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26943func (ndse NodeDeactivateStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
26944	return nil, false
26945}
26946
26947// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26948func (ndse NodeDeactivateStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
26949	return nil, false
26950}
26951
26952// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26953func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
26954	return nil, false
26955}
26956
26957// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26958func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
26959	return nil, false
26960}
26961
26962// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26963func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
26964	return nil, false
26965}
26966
26967// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26968func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
26969	return nil, false
26970}
26971
26972// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26973func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
26974	return nil, false
26975}
26976
26977// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26978func (ndse NodeDeactivateStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
26979	return nil, false
26980}
26981
26982// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26983func (ndse NodeDeactivateStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
26984	return nil, false
26985}
26986
26987// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26988func (ndse NodeDeactivateStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
26989	return nil, false
26990}
26991
26992// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26993func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
26994	return nil, false
26995}
26996
26997// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26998func (ndse NodeDeactivateStartEvent) AsFabricEvent() (*FabricEvent, bool) {
26999	return nil, false
27000}
27001
27002// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
27003func (ndse NodeDeactivateStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27004	return &ndse, true
27005}
27006
27007// NodeDeactivationInfo information about the node deactivation. This information is valid for a node that
27008// is undergoing deactivation or has already been deactivated.
27009type NodeDeactivationInfo struct {
27010	// NodeDeactivationIntent - The intent or the reason for deactivating the node. Following are the possible values for it. Possible values include: 'NodeDeactivationIntentInvalid', 'NodeDeactivationIntentPause', 'NodeDeactivationIntentRestart', 'NodeDeactivationIntentRemoveData', 'NodeDeactivationIntentRemoveNode'
27011	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
27012	// NodeDeactivationStatus - The status of node deactivation operation. Following are the possible values. Possible values include: 'NodeDeactivationStatusNone', 'NodeDeactivationStatusSafetyCheckInProgress', 'NodeDeactivationStatusSafetyCheckComplete', 'NodeDeactivationStatusCompleted'
27013	NodeDeactivationStatus NodeDeactivationStatus `json:"NodeDeactivationStatus,omitempty"`
27014	// NodeDeactivationTask - List of tasks representing the deactivation operation on the node.
27015	NodeDeactivationTask *[]NodeDeactivationTask `json:"NodeDeactivationTask,omitempty"`
27016	// PendingSafetyChecks - List of pending safety checks
27017	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
27018}
27019
27020// NodeDeactivationTask the task representing the deactivation operation on the node.
27021type NodeDeactivationTask struct {
27022	// NodeDeactivationTaskID - Identity of the task related to deactivation operation on the node.
27023	NodeDeactivationTaskID *NodeDeactivationTaskID `json:"NodeDeactivationTaskId,omitempty"`
27024	// NodeDeactivationIntent - The intent or the reason for deactivating the node. Following are the possible values for it. Possible values include: 'NodeDeactivationIntentInvalid', 'NodeDeactivationIntentPause', 'NodeDeactivationIntentRestart', 'NodeDeactivationIntentRemoveData', 'NodeDeactivationIntentRemoveNode'
27025	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
27026}
27027
27028// NodeDeactivationTaskID identity of the task related to deactivation operation on the node.
27029type NodeDeactivationTaskID struct {
27030	// ID - Value of the task id.
27031	ID *string `json:"Id,omitempty"`
27032	// NodeDeactivationTaskType - The type of the task that performed the node deactivation. Following are the possible values. Possible values include: 'NodeDeactivationTaskTypeInvalid', 'NodeDeactivationTaskTypeInfrastructure', 'NodeDeactivationTaskTypeRepair', 'NodeDeactivationTaskTypeClient'
27033	NodeDeactivationTaskType NodeDeactivationTaskType `json:"NodeDeactivationTaskType,omitempty"`
27034}
27035
27036// NodeDownEvent node Down event.
27037type NodeDownEvent struct {
27038	// NodeInstance - Id of Node instance.
27039	NodeInstance *int64 `json:"NodeInstance,omitempty"`
27040	// LastNodeUpAt - Time when Node was last up.
27041	LastNodeUpAt *date.Time `json:"LastNodeUpAt,omitempty"`
27042	// NodeName - The name of a Service Fabric node.
27043	NodeName *string `json:"NodeName,omitempty"`
27044	// EventInstanceID - The identifier for the FabricEvent instance.
27045	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27046	// TimeStamp - The time event was logged.
27047	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27048	// HasCorrelatedEvents - Shows there is existing related events available.
27049	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27050	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
27051	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27052}
27053
27054// MarshalJSON is the custom marshaler for NodeDownEvent.
27055func (nde NodeDownEvent) MarshalJSON() ([]byte, error) {
27056	nde.Kind = KindNodeDown
27057	objectMap := make(map[string]interface{})
27058	if nde.NodeInstance != nil {
27059		objectMap["NodeInstance"] = nde.NodeInstance
27060	}
27061	if nde.LastNodeUpAt != nil {
27062		objectMap["LastNodeUpAt"] = nde.LastNodeUpAt
27063	}
27064	if nde.NodeName != nil {
27065		objectMap["NodeName"] = nde.NodeName
27066	}
27067	if nde.EventInstanceID != nil {
27068		objectMap["EventInstanceId"] = nde.EventInstanceID
27069	}
27070	if nde.TimeStamp != nil {
27071		objectMap["TimeStamp"] = nde.TimeStamp
27072	}
27073	if nde.HasCorrelatedEvents != nil {
27074		objectMap["HasCorrelatedEvents"] = nde.HasCorrelatedEvents
27075	}
27076	if nde.Kind != "" {
27077		objectMap["Kind"] = nde.Kind
27078	}
27079	return json.Marshal(objectMap)
27080}
27081
27082// AsApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
27083func (nde NodeDownEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27084	return nil, false
27085}
27086
27087// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
27088func (nde NodeDownEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27089	return nil, false
27090}
27091
27092// AsClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
27093func (nde NodeDownEvent) AsClusterEvent() (*ClusterEvent, bool) {
27094	return nil, false
27095}
27096
27097// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
27098func (nde NodeDownEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27099	return nil, false
27100}
27101
27102// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDownEvent.
27103func (nde NodeDownEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27104	return nil, false
27105}
27106
27107// AsNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
27108func (nde NodeDownEvent) AsNodeEvent() (*NodeEvent, bool) {
27109	return nil, false
27110}
27111
27112// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
27113func (nde NodeDownEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27114	return &nde, true
27115}
27116
27117// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
27118func (nde NodeDownEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27119	return nil, false
27120}
27121
27122// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
27123func (nde NodeDownEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27124	return nil, false
27125}
27126
27127// AsPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
27128func (nde NodeDownEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27129	return nil, false
27130}
27131
27132// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
27133func (nde NodeDownEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27134	return nil, false
27135}
27136
27137// AsReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
27138func (nde NodeDownEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27139	return nil, false
27140}
27141
27142// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
27143func (nde NodeDownEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27144	return nil, false
27145}
27146
27147// AsServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
27148func (nde NodeDownEvent) AsServiceEvent() (*ServiceEvent, bool) {
27149	return nil, false
27150}
27151
27152// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
27153func (nde NodeDownEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27154	return nil, false
27155}
27156
27157// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27158func (nde NodeDownEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27159	return nil, false
27160}
27161
27162// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27163func (nde NodeDownEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27164	return nil, false
27165}
27166
27167// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27168func (nde NodeDownEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27169	return nil, false
27170}
27171
27172// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27173func (nde NodeDownEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27174	return nil, false
27175}
27176
27177// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
27178func (nde NodeDownEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27179	return nil, false
27180}
27181
27182// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
27183func (nde NodeDownEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27184	return nil, false
27185}
27186
27187// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
27188func (nde NodeDownEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27189	return nil, false
27190}
27191
27192// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
27193func (nde NodeDownEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27194	return nil, false
27195}
27196
27197// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
27198func (nde NodeDownEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27199	return nil, false
27200}
27201
27202// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27203func (nde NodeDownEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27204	return nil, false
27205}
27206
27207// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27208func (nde NodeDownEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27209	return nil, false
27210}
27211
27212// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27213func (nde NodeDownEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27214	return nil, false
27215}
27216
27217// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27218func (nde NodeDownEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27219	return nil, false
27220}
27221
27222// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27223func (nde NodeDownEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
27224	return nil, false
27225}
27226
27227// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDownEvent.
27228func (nde NodeDownEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
27229	return nil, false
27230}
27231
27232// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27233func (nde NodeDownEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
27234	return nil, false
27235}
27236
27237// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDownEvent.
27238func (nde NodeDownEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
27239	return nil, false
27240}
27241
27242// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDownEvent.
27243func (nde NodeDownEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
27244	return nil, false
27245}
27246
27247// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
27248func (nde NodeDownEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
27249	return nil, false
27250}
27251
27252// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
27253func (nde NodeDownEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
27254	return nil, false
27255}
27256
27257// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDownEvent.
27258func (nde NodeDownEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
27259	return &nde, true
27260}
27261
27262// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27263func (nde NodeDownEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
27264	return nil, false
27265}
27266
27267// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27268func (nde NodeDownEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
27269	return nil, false
27270}
27271
27272// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDownEvent.
27273func (nde NodeDownEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
27274	return nil, false
27275}
27276
27277// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27278func (nde NodeDownEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
27279	return nil, false
27280}
27281
27282// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDownEvent.
27283func (nde NodeDownEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
27284	return nil, false
27285}
27286
27287// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27288func (nde NodeDownEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
27289	return nil, false
27290}
27291
27292// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDownEvent.
27293func (nde NodeDownEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
27294	return nil, false
27295}
27296
27297// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27298func (nde NodeDownEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
27299	return nil, false
27300}
27301
27302// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27303func (nde NodeDownEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
27304	return nil, false
27305}
27306
27307// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27308func (nde NodeDownEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
27309	return nil, false
27310}
27311
27312// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
27313func (nde NodeDownEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
27314	return nil, false
27315}
27316
27317// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27318func (nde NodeDownEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
27319	return nil, false
27320}
27321
27322// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27323func (nde NodeDownEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
27324	return nil, false
27325}
27326
27327// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27328func (nde NodeDownEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
27329	return nil, false
27330}
27331
27332// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27333func (nde NodeDownEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
27334	return nil, false
27335}
27336
27337// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27338func (nde NodeDownEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
27339	return nil, false
27340}
27341
27342// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27343func (nde NodeDownEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
27344	return nil, false
27345}
27346
27347// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27348func (nde NodeDownEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
27349	return nil, false
27350}
27351
27352// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27353func (nde NodeDownEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
27354	return nil, false
27355}
27356
27357// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27358func (nde NodeDownEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
27359	return nil, false
27360}
27361
27362// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27363func (nde NodeDownEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
27364	return nil, false
27365}
27366
27367// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27368func (nde NodeDownEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
27369	return nil, false
27370}
27371
27372// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
27373func (nde NodeDownEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
27374	return nil, false
27375}
27376
27377// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
27378func (nde NodeDownEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
27379	return nil, false
27380}
27381
27382// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
27383func (nde NodeDownEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
27384	return nil, false
27385}
27386
27387// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
27388func (nde NodeDownEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
27389	return nil, false
27390}
27391
27392// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
27393func (nde NodeDownEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
27394	return nil, false
27395}
27396
27397// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
27398func (nde NodeDownEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27399	return nil, false
27400}
27401
27402// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27403func (nde NodeDownEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27404	return nil, false
27405}
27406
27407// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27408func (nde NodeDownEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27409	return nil, false
27410}
27411
27412// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27413func (nde NodeDownEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27414	return nil, false
27415}
27416
27417// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27418func (nde NodeDownEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27419	return nil, false
27420}
27421
27422// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27423func (nde NodeDownEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27424	return nil, false
27425}
27426
27427// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27428func (nde NodeDownEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27429	return nil, false
27430}
27431
27432// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27433func (nde NodeDownEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27434	return nil, false
27435}
27436
27437// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27438func (nde NodeDownEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27439	return nil, false
27440}
27441
27442// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27443func (nde NodeDownEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27444	return nil, false
27445}
27446
27447// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27448func (nde NodeDownEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27449	return nil, false
27450}
27451
27452// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27453func (nde NodeDownEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27454	return nil, false
27455}
27456
27457// AsFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
27458func (nde NodeDownEvent) AsFabricEvent() (*FabricEvent, bool) {
27459	return nil, false
27460}
27461
27462// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
27463func (nde NodeDownEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27464	return &nde, true
27465}
27466
27467// BasicNodeEvent represents the base for all Node Events.
27468type BasicNodeEvent interface {
27469	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
27470	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
27471	AsNodeAddedEvent() (*NodeAddedEvent, bool)
27472	AsNodeCloseEvent() (*NodeCloseEvent, bool)
27473	AsNodeClosingEvent() (*NodeClosingEvent, bool)
27474	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
27475	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
27476	AsNodeDownEvent() (*NodeDownEvent, bool)
27477	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
27478	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
27479	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
27480	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
27481	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
27482	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
27483	AsNodeUpEvent() (*NodeUpEvent, bool)
27484	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
27485	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
27486	AsNodeEvent() (*NodeEvent, bool)
27487}
27488
27489// NodeEvent represents the base for all Node Events.
27490type NodeEvent struct {
27491	// NodeName - The name of a Service Fabric node.
27492	NodeName *string `json:"NodeName,omitempty"`
27493	// EventInstanceID - The identifier for the FabricEvent instance.
27494	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27495	// TimeStamp - The time event was logged.
27496	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27497	// HasCorrelatedEvents - Shows there is existing related events available.
27498	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27499	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
27500	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27501}
27502
27503func unmarshalBasicNodeEvent(body []byte) (BasicNodeEvent, error) {
27504	var m map[string]interface{}
27505	err := json.Unmarshal(body, &m)
27506	if err != nil {
27507		return nil, err
27508	}
27509
27510	switch m["Kind"] {
27511	case string(KindNodeAborted):
27512		var nae NodeAbortedEvent
27513		err := json.Unmarshal(body, &nae)
27514		return nae, err
27515	case string(KindNodeAborting):
27516		var nae NodeAbortingEvent
27517		err := json.Unmarshal(body, &nae)
27518		return nae, err
27519	case string(KindNodeAdded):
27520		var nae NodeAddedEvent
27521		err := json.Unmarshal(body, &nae)
27522		return nae, err
27523	case string(KindNodeClose):
27524		var nce NodeCloseEvent
27525		err := json.Unmarshal(body, &nce)
27526		return nce, err
27527	case string(KindNodeClosing):
27528		var nce NodeClosingEvent
27529		err := json.Unmarshal(body, &nce)
27530		return nce, err
27531	case string(KindNodeDeactivateComplete):
27532		var ndce NodeDeactivateCompleteEvent
27533		err := json.Unmarshal(body, &ndce)
27534		return ndce, err
27535	case string(KindNodeDeactivateStart):
27536		var ndse NodeDeactivateStartEvent
27537		err := json.Unmarshal(body, &ndse)
27538		return ndse, err
27539	case string(KindNodeDown):
27540		var nde NodeDownEvent
27541		err := json.Unmarshal(body, &nde)
27542		return nde, err
27543	case string(KindNodeHealthReportCreated):
27544		var nhrce NodeHealthReportCreatedEvent
27545		err := json.Unmarshal(body, &nhrce)
27546		return nhrce, err
27547	case string(KindNodeHealthReportExpired):
27548		var nhree NodeHealthReportExpiredEvent
27549		err := json.Unmarshal(body, &nhree)
27550		return nhree, err
27551	case string(KindNodeOpenedSuccess):
27552		var nose NodeOpenedSuccessEvent
27553		err := json.Unmarshal(body, &nose)
27554		return nose, err
27555	case string(KindNodeOpenFailed):
27556		var nofe NodeOpenFailedEvent
27557		err := json.Unmarshal(body, &nofe)
27558		return nofe, err
27559	case string(KindNodeOpening):
27560		var noe NodeOpeningEvent
27561		err := json.Unmarshal(body, &noe)
27562		return noe, err
27563	case string(KindNodeRemoved):
27564		var nre NodeRemovedEvent
27565		err := json.Unmarshal(body, &nre)
27566		return nre, err
27567	case string(KindNodeUp):
27568		var nue NodeUpEvent
27569		err := json.Unmarshal(body, &nue)
27570		return nue, err
27571	case string(KindChaosRestartNodeFaultCompleted):
27572		var crnfce ChaosRestartNodeFaultCompletedEvent
27573		err := json.Unmarshal(body, &crnfce)
27574		return crnfce, err
27575	case string(KindChaosRestartNodeFaultScheduled):
27576		var crnfse ChaosRestartNodeFaultScheduledEvent
27577		err := json.Unmarshal(body, &crnfse)
27578		return crnfse, err
27579	default:
27580		var ne NodeEvent
27581		err := json.Unmarshal(body, &ne)
27582		return ne, err
27583	}
27584}
27585func unmarshalBasicNodeEventArray(body []byte) ([]BasicNodeEvent, error) {
27586	var rawMessages []*json.RawMessage
27587	err := json.Unmarshal(body, &rawMessages)
27588	if err != nil {
27589		return nil, err
27590	}
27591
27592	neArray := make([]BasicNodeEvent, len(rawMessages))
27593
27594	for index, rawMessage := range rawMessages {
27595		ne, err := unmarshalBasicNodeEvent(*rawMessage)
27596		if err != nil {
27597			return nil, err
27598		}
27599		neArray[index] = ne
27600	}
27601	return neArray, nil
27602}
27603
27604// MarshalJSON is the custom marshaler for NodeEvent.
27605func (ne NodeEvent) MarshalJSON() ([]byte, error) {
27606	ne.Kind = KindNodeEvent
27607	objectMap := make(map[string]interface{})
27608	if ne.NodeName != nil {
27609		objectMap["NodeName"] = ne.NodeName
27610	}
27611	if ne.EventInstanceID != nil {
27612		objectMap["EventInstanceId"] = ne.EventInstanceID
27613	}
27614	if ne.TimeStamp != nil {
27615		objectMap["TimeStamp"] = ne.TimeStamp
27616	}
27617	if ne.HasCorrelatedEvents != nil {
27618		objectMap["HasCorrelatedEvents"] = ne.HasCorrelatedEvents
27619	}
27620	if ne.Kind != "" {
27621		objectMap["Kind"] = ne.Kind
27622	}
27623	return json.Marshal(objectMap)
27624}
27625
27626// AsApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
27627func (ne NodeEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27628	return nil, false
27629}
27630
27631// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
27632func (ne NodeEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27633	return nil, false
27634}
27635
27636// AsClusterEvent is the BasicFabricEvent implementation for NodeEvent.
27637func (ne NodeEvent) AsClusterEvent() (*ClusterEvent, bool) {
27638	return nil, false
27639}
27640
27641// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeEvent.
27642func (ne NodeEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27643	return nil, false
27644}
27645
27646// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeEvent.
27647func (ne NodeEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27648	return nil, false
27649}
27650
27651// AsNodeEvent is the BasicFabricEvent implementation for NodeEvent.
27652func (ne NodeEvent) AsNodeEvent() (*NodeEvent, bool) {
27653	return &ne, true
27654}
27655
27656// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeEvent.
27657func (ne NodeEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27658	return &ne, true
27659}
27660
27661// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
27662func (ne NodeEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27663	return nil, false
27664}
27665
27666// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
27667func (ne NodeEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27668	return nil, false
27669}
27670
27671// AsPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
27672func (ne NodeEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27673	return nil, false
27674}
27675
27676// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
27677func (ne NodeEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27678	return nil, false
27679}
27680
27681// AsReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
27682func (ne NodeEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27683	return nil, false
27684}
27685
27686// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
27687func (ne NodeEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27688	return nil, false
27689}
27690
27691// AsServiceEvent is the BasicFabricEvent implementation for NodeEvent.
27692func (ne NodeEvent) AsServiceEvent() (*ServiceEvent, bool) {
27693	return nil, false
27694}
27695
27696// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeEvent.
27697func (ne NodeEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27698	return nil, false
27699}
27700
27701// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27702func (ne NodeEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27703	return nil, false
27704}
27705
27706// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
27707func (ne NodeEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27708	return nil, false
27709}
27710
27711// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27712func (ne NodeEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27713	return nil, false
27714}
27715
27716// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27717func (ne NodeEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27718	return nil, false
27719}
27720
27721// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27722func (ne NodeEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27723	return nil, false
27724}
27725
27726// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27727func (ne NodeEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27728	return nil, false
27729}
27730
27731// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27732func (ne NodeEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27733	return nil, false
27734}
27735
27736// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
27737func (ne NodeEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27738	return nil, false
27739}
27740
27741// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
27742func (ne NodeEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27743	return nil, false
27744}
27745
27746// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27747func (ne NodeEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27748	return nil, false
27749}
27750
27751// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27752func (ne NodeEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27753	return nil, false
27754}
27755
27756// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
27757func (ne NodeEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27758	return nil, false
27759}
27760
27761// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
27762func (ne NodeEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27763	return nil, false
27764}
27765
27766// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeEvent.
27767func (ne NodeEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
27768	return nil, false
27769}
27770
27771// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeEvent.
27772func (ne NodeEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
27773	return nil, false
27774}
27775
27776// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeEvent.
27777func (ne NodeEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
27778	return nil, false
27779}
27780
27781// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeEvent.
27782func (ne NodeEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
27783	return nil, false
27784}
27785
27786// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeEvent.
27787func (ne NodeEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
27788	return nil, false
27789}
27790
27791// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27792func (ne NodeEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
27793	return nil, false
27794}
27795
27796// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeEvent.
27797func (ne NodeEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
27798	return nil, false
27799}
27800
27801// AsNodeDownEvent is the BasicFabricEvent implementation for NodeEvent.
27802func (ne NodeEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
27803	return nil, false
27804}
27805
27806// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27807func (ne NodeEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
27808	return nil, false
27809}
27810
27811// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27812func (ne NodeEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
27813	return nil, false
27814}
27815
27816// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeEvent.
27817func (ne NodeEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
27818	return nil, false
27819}
27820
27821// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeEvent.
27822func (ne NodeEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
27823	return nil, false
27824}
27825
27826// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeEvent.
27827func (ne NodeEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
27828	return nil, false
27829}
27830
27831// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeEvent.
27832func (ne NodeEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
27833	return nil, false
27834}
27835
27836// AsNodeUpEvent is the BasicFabricEvent implementation for NodeEvent.
27837func (ne NodeEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
27838	return nil, false
27839}
27840
27841// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27842func (ne NodeEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
27843	return nil, false
27844}
27845
27846// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27847func (ne NodeEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
27848	return nil, false
27849}
27850
27851// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27852func (ne NodeEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
27853	return nil, false
27854}
27855
27856// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
27857func (ne NodeEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
27858	return nil, false
27859}
27860
27861// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27862func (ne NodeEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
27863	return nil, false
27864}
27865
27866// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
27867func (ne NodeEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
27868	return nil, false
27869}
27870
27871// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27872func (ne NodeEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
27873	return nil, false
27874}
27875
27876// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27877func (ne NodeEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
27878	return nil, false
27879}
27880
27881// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27882func (ne NodeEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
27883	return nil, false
27884}
27885
27886// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27887func (ne NodeEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
27888	return nil, false
27889}
27890
27891// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27892func (ne NodeEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
27893	return nil, false
27894}
27895
27896// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27897func (ne NodeEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
27898	return nil, false
27899}
27900
27901// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27902func (ne NodeEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
27903	return nil, false
27904}
27905
27906// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27907func (ne NodeEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
27908	return nil, false
27909}
27910
27911// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27912func (ne NodeEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
27913	return nil, false
27914}
27915
27916// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27917func (ne NodeEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
27918	return nil, false
27919}
27920
27921// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27922func (ne NodeEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
27923	return nil, false
27924}
27925
27926// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27927func (ne NodeEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
27928	return nil, false
27929}
27930
27931// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27932func (ne NodeEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
27933	return nil, false
27934}
27935
27936// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
27937func (ne NodeEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
27938	return nil, false
27939}
27940
27941// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
27942func (ne NodeEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27943	return nil, false
27944}
27945
27946// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeEvent.
27947func (ne NodeEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27948	return nil, false
27949}
27950
27951// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeEvent.
27952func (ne NodeEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27953	return nil, false
27954}
27955
27956// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27957func (ne NodeEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27958	return nil, false
27959}
27960
27961// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27962func (ne NodeEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27963	return nil, false
27964}
27965
27966// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27967func (ne NodeEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27968	return nil, false
27969}
27970
27971// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27972func (ne NodeEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27973	return nil, false
27974}
27975
27976// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27977func (ne NodeEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27978	return nil, false
27979}
27980
27981// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27982func (ne NodeEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27983	return nil, false
27984}
27985
27986// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27987func (ne NodeEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27988	return nil, false
27989}
27990
27991// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27992func (ne NodeEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27993	return nil, false
27994}
27995
27996// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27997func (ne NodeEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27998	return nil, false
27999}
28000
28001// AsFabricEvent is the BasicFabricEvent implementation for NodeEvent.
28002func (ne NodeEvent) AsFabricEvent() (*FabricEvent, bool) {
28003	return nil, false
28004}
28005
28006// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeEvent.
28007func (ne NodeEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28008	return &ne, true
28009}
28010
28011// NodeHealth information about the health of a Service Fabric node.
28012type NodeHealth struct {
28013	autorest.Response `json:"-"`
28014	// Name - Name of the node whose health information is described by this object.
28015	Name *string `json:"Name,omitempty"`
28016	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
28017	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
28018	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
28019	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
28020	// HealthEvents - The list of health events reported on the entity.
28021	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
28022	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
28023	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
28024	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
28025	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
28026}
28027
28028// NodeHealthEvaluation represents health evaluation for a node, containing information about the data and
28029// the algorithm used by health store to evaluate health. The evaluation is returned only when the
28030// aggregated health state is either Error or Warning.
28031type NodeHealthEvaluation struct {
28032	// NodeName - The name of a Service Fabric node.
28033	NodeName *string `json:"NodeName,omitempty"`
28034	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state of the node. The types of the unhealthy evaluations can be EventHealthEvaluation.
28035	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
28036	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
28037	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
28038	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
28039	Description *string `json:"Description,omitempty"`
28040	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
28041	Kind Kind `json:"Kind,omitempty"`
28042}
28043
28044// MarshalJSON is the custom marshaler for NodeHealthEvaluation.
28045func (nhe NodeHealthEvaluation) MarshalJSON() ([]byte, error) {
28046	nhe.Kind = KindNode
28047	objectMap := make(map[string]interface{})
28048	if nhe.NodeName != nil {
28049		objectMap["NodeName"] = nhe.NodeName
28050	}
28051	if nhe.UnhealthyEvaluations != nil {
28052		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
28053	}
28054	if nhe.AggregatedHealthState != "" {
28055		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
28056	}
28057	if nhe.Description != nil {
28058		objectMap["Description"] = nhe.Description
28059	}
28060	if nhe.Kind != "" {
28061		objectMap["Kind"] = nhe.Kind
28062	}
28063	return json.Marshal(objectMap)
28064}
28065
28066// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28067func (nhe NodeHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
28068	return nil, false
28069}
28070
28071// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28072func (nhe NodeHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
28073	return nil, false
28074}
28075
28076// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28077func (nhe NodeHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
28078	return nil, false
28079}
28080
28081// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28082func (nhe NodeHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
28083	return nil, false
28084}
28085
28086// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28087func (nhe NodeHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
28088	return nil, false
28089}
28090
28091// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28092func (nhe NodeHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
28093	return nil, false
28094}
28095
28096// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28097func (nhe NodeHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
28098	return nil, false
28099}
28100
28101// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28102func (nhe NodeHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
28103	return nil, false
28104}
28105
28106// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28107func (nhe NodeHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
28108	return nil, false
28109}
28110
28111// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28112func (nhe NodeHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
28113	return &nhe, true
28114}
28115
28116// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28117func (nhe NodeHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
28118	return nil, false
28119}
28120
28121// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28122func (nhe NodeHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
28123	return nil, false
28124}
28125
28126// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28127func (nhe NodeHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
28128	return nil, false
28129}
28130
28131// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28132func (nhe NodeHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
28133	return nil, false
28134}
28135
28136// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28137func (nhe NodeHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
28138	return nil, false
28139}
28140
28141// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28142func (nhe NodeHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
28143	return nil, false
28144}
28145
28146// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28147func (nhe NodeHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
28148	return nil, false
28149}
28150
28151// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28152func (nhe NodeHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
28153	return nil, false
28154}
28155
28156// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28157func (nhe NodeHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
28158	return nil, false
28159}
28160
28161// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28162func (nhe NodeHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
28163	return nil, false
28164}
28165
28166// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28167func (nhe NodeHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
28168	return nil, false
28169}
28170
28171// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
28172func (nhe NodeHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
28173	return &nhe, true
28174}
28175
28176// NodeHealthReportCreatedEvent node Health Report Created event.
28177type NodeHealthReportCreatedEvent struct {
28178	// NodeInstanceID - Id of Node instance.
28179	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
28180	// SourceID - Id of report source.
28181	SourceID *string `json:"SourceId,omitempty"`
28182	// Property - Describes the property.
28183	Property *string `json:"Property,omitempty"`
28184	// HealthState - Describes the property health state.
28185	HealthState *string `json:"HealthState,omitempty"`
28186	// TimeToLiveMs - Time to live in milli-seconds.
28187	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
28188	// SequenceNumber - Sequence number of report.
28189	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
28190	// Description - Description of report.
28191	Description *string `json:"Description,omitempty"`
28192	// RemoveWhenExpired - Indicates the removal when it expires.
28193	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
28194	// SourceUtcTimestamp - Source time.
28195	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
28196	// NodeName - The name of a Service Fabric node.
28197	NodeName *string `json:"NodeName,omitempty"`
28198	// EventInstanceID - The identifier for the FabricEvent instance.
28199	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28200	// TimeStamp - The time event was logged.
28201	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28202	// HasCorrelatedEvents - Shows there is existing related events available.
28203	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28204	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
28205	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28206}
28207
28208// MarshalJSON is the custom marshaler for NodeHealthReportCreatedEvent.
28209func (nhrce NodeHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
28210	nhrce.Kind = KindNodeHealthReportCreated
28211	objectMap := make(map[string]interface{})
28212	if nhrce.NodeInstanceID != nil {
28213		objectMap["NodeInstanceId"] = nhrce.NodeInstanceID
28214	}
28215	if nhrce.SourceID != nil {
28216		objectMap["SourceId"] = nhrce.SourceID
28217	}
28218	if nhrce.Property != nil {
28219		objectMap["Property"] = nhrce.Property
28220	}
28221	if nhrce.HealthState != nil {
28222		objectMap["HealthState"] = nhrce.HealthState
28223	}
28224	if nhrce.TimeToLiveMs != nil {
28225		objectMap["TimeToLiveMs"] = nhrce.TimeToLiveMs
28226	}
28227	if nhrce.SequenceNumber != nil {
28228		objectMap["SequenceNumber"] = nhrce.SequenceNumber
28229	}
28230	if nhrce.Description != nil {
28231		objectMap["Description"] = nhrce.Description
28232	}
28233	if nhrce.RemoveWhenExpired != nil {
28234		objectMap["RemoveWhenExpired"] = nhrce.RemoveWhenExpired
28235	}
28236	if nhrce.SourceUtcTimestamp != nil {
28237		objectMap["SourceUtcTimestamp"] = nhrce.SourceUtcTimestamp
28238	}
28239	if nhrce.NodeName != nil {
28240		objectMap["NodeName"] = nhrce.NodeName
28241	}
28242	if nhrce.EventInstanceID != nil {
28243		objectMap["EventInstanceId"] = nhrce.EventInstanceID
28244	}
28245	if nhrce.TimeStamp != nil {
28246		objectMap["TimeStamp"] = nhrce.TimeStamp
28247	}
28248	if nhrce.HasCorrelatedEvents != nil {
28249		objectMap["HasCorrelatedEvents"] = nhrce.HasCorrelatedEvents
28250	}
28251	if nhrce.Kind != "" {
28252		objectMap["Kind"] = nhrce.Kind
28253	}
28254	return json.Marshal(objectMap)
28255}
28256
28257// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28258func (nhrce NodeHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28259	return nil, false
28260}
28261
28262// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28263func (nhrce NodeHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28264	return nil, false
28265}
28266
28267// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28268func (nhrce NodeHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
28269	return nil, false
28270}
28271
28272// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28273func (nhrce NodeHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28274	return nil, false
28275}
28276
28277// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28278func (nhrce NodeHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28279	return nil, false
28280}
28281
28282// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28283func (nhrce NodeHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
28284	return nil, false
28285}
28286
28287// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28288func (nhrce NodeHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28289	return &nhrce, true
28290}
28291
28292// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28293func (nhrce NodeHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28294	return nil, false
28295}
28296
28297// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28298func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28299	return nil, false
28300}
28301
28302// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28303func (nhrce NodeHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28304	return nil, false
28305}
28306
28307// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28308func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28309	return nil, false
28310}
28311
28312// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28313func (nhrce NodeHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28314	return nil, false
28315}
28316
28317// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28318func (nhrce NodeHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28319	return nil, false
28320}
28321
28322// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28323func (nhrce NodeHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
28324	return nil, false
28325}
28326
28327// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28328func (nhrce NodeHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28329	return nil, false
28330}
28331
28332// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28333func (nhrce NodeHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28334	return nil, false
28335}
28336
28337// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28338func (nhrce NodeHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28339	return nil, false
28340}
28341
28342// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28343func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28344	return nil, false
28345}
28346
28347// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28348func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28349	return nil, false
28350}
28351
28352// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28353func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28354	return nil, false
28355}
28356
28357// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28358func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28359	return nil, false
28360}
28361
28362// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28363func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28364	return nil, false
28365}
28366
28367// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28368func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28369	return nil, false
28370}
28371
28372// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28373func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28374	return nil, false
28375}
28376
28377// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28378func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28379	return nil, false
28380}
28381
28382// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28383func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
28384	return nil, false
28385}
28386
28387// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28388func (nhrce NodeHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
28389	return nil, false
28390}
28391
28392// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28393func (nhrce NodeHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
28394	return nil, false
28395}
28396
28397// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28398func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28399	return nil, false
28400}
28401
28402// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28403func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28404	return nil, false
28405}
28406
28407// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28408func (nhrce NodeHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28409	return nil, false
28410}
28411
28412// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28413func (nhrce NodeHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28414	return nil, false
28415}
28416
28417// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28418func (nhrce NodeHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28419	return nil, false
28420}
28421
28422// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28423func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28424	return nil, false
28425}
28426
28427// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28428func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28429	return nil, false
28430}
28431
28432// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28433func (nhrce NodeHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28434	return nil, false
28435}
28436
28437// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28438func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28439	return &nhrce, true
28440}
28441
28442// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28443func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28444	return nil, false
28445}
28446
28447// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28448func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28449	return nil, false
28450}
28451
28452// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28453func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28454	return nil, false
28455}
28456
28457// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28458func (nhrce NodeHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28459	return nil, false
28460}
28461
28462// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28463func (nhrce NodeHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28464	return nil, false
28465}
28466
28467// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28468func (nhrce NodeHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28469	return nil, false
28470}
28471
28472// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28473func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28474	return nil, false
28475}
28476
28477// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28478func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28479	return nil, false
28480}
28481
28482// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28483func (nhrce NodeHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28484	return nil, false
28485}
28486
28487// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28488func (nhrce NodeHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28489	return nil, false
28490}
28491
28492// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28493func (nhrce NodeHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28494	return nil, false
28495}
28496
28497// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28498func (nhrce NodeHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28499	return nil, false
28500}
28501
28502// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28503func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28504	return nil, false
28505}
28506
28507// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28508func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28509	return nil, false
28510}
28511
28512// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28513func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28514	return nil, false
28515}
28516
28517// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28518func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28519	return nil, false
28520}
28521
28522// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28523func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28524	return nil, false
28525}
28526
28527// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28528func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28529	return nil, false
28530}
28531
28532// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28533func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
28534	return nil, false
28535}
28536
28537// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28538func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
28539	return nil, false
28540}
28541
28542// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28543func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
28544	return nil, false
28545}
28546
28547// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28548func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
28549	return nil, false
28550}
28551
28552// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28553func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
28554	return nil, false
28555}
28556
28557// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28558func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
28559	return nil, false
28560}
28561
28562// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28563func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
28564	return nil, false
28565}
28566
28567// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28568func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
28569	return nil, false
28570}
28571
28572// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28573func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
28574	return nil, false
28575}
28576
28577// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28578func (nhrce NodeHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
28579	return nil, false
28580}
28581
28582// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28583func (nhrce NodeHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
28584	return nil, false
28585}
28586
28587// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28588func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
28589	return nil, false
28590}
28591
28592// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28593func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
28594	return nil, false
28595}
28596
28597// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28598func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
28599	return nil, false
28600}
28601
28602// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28603func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
28604	return nil, false
28605}
28606
28607// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28608func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
28609	return nil, false
28610}
28611
28612// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28613func (nhrce NodeHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
28614	return nil, false
28615}
28616
28617// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28618func (nhrce NodeHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
28619	return nil, false
28620}
28621
28622// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28623func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
28624	return nil, false
28625}
28626
28627// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28628func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
28629	return nil, false
28630}
28631
28632// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28633func (nhrce NodeHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
28634	return nil, false
28635}
28636
28637// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28638func (nhrce NodeHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28639	return &nhrce, true
28640}
28641
28642// NodeHealthReportExpiredEvent node Health Report Expired event.
28643type NodeHealthReportExpiredEvent struct {
28644	// NodeInstanceID - Id of Node instance.
28645	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
28646	// SourceID - Id of report source.
28647	SourceID *string `json:"SourceId,omitempty"`
28648	// Property - Describes the property.
28649	Property *string `json:"Property,omitempty"`
28650	// HealthState - Describes the property health state.
28651	HealthState *string `json:"HealthState,omitempty"`
28652	// TimeToLiveMs - Time to live in milli-seconds.
28653	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
28654	// SequenceNumber - Sequence number of report.
28655	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
28656	// Description - Description of report.
28657	Description *string `json:"Description,omitempty"`
28658	// RemoveWhenExpired - Indicates the removal when it expires.
28659	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
28660	// SourceUtcTimestamp - Source time.
28661	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
28662	// NodeName - The name of a Service Fabric node.
28663	NodeName *string `json:"NodeName,omitempty"`
28664	// EventInstanceID - The identifier for the FabricEvent instance.
28665	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28666	// TimeStamp - The time event was logged.
28667	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28668	// HasCorrelatedEvents - Shows there is existing related events available.
28669	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28670	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
28671	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28672}
28673
28674// MarshalJSON is the custom marshaler for NodeHealthReportExpiredEvent.
28675func (nhree NodeHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
28676	nhree.Kind = KindNodeHealthReportExpired
28677	objectMap := make(map[string]interface{})
28678	if nhree.NodeInstanceID != nil {
28679		objectMap["NodeInstanceId"] = nhree.NodeInstanceID
28680	}
28681	if nhree.SourceID != nil {
28682		objectMap["SourceId"] = nhree.SourceID
28683	}
28684	if nhree.Property != nil {
28685		objectMap["Property"] = nhree.Property
28686	}
28687	if nhree.HealthState != nil {
28688		objectMap["HealthState"] = nhree.HealthState
28689	}
28690	if nhree.TimeToLiveMs != nil {
28691		objectMap["TimeToLiveMs"] = nhree.TimeToLiveMs
28692	}
28693	if nhree.SequenceNumber != nil {
28694		objectMap["SequenceNumber"] = nhree.SequenceNumber
28695	}
28696	if nhree.Description != nil {
28697		objectMap["Description"] = nhree.Description
28698	}
28699	if nhree.RemoveWhenExpired != nil {
28700		objectMap["RemoveWhenExpired"] = nhree.RemoveWhenExpired
28701	}
28702	if nhree.SourceUtcTimestamp != nil {
28703		objectMap["SourceUtcTimestamp"] = nhree.SourceUtcTimestamp
28704	}
28705	if nhree.NodeName != nil {
28706		objectMap["NodeName"] = nhree.NodeName
28707	}
28708	if nhree.EventInstanceID != nil {
28709		objectMap["EventInstanceId"] = nhree.EventInstanceID
28710	}
28711	if nhree.TimeStamp != nil {
28712		objectMap["TimeStamp"] = nhree.TimeStamp
28713	}
28714	if nhree.HasCorrelatedEvents != nil {
28715		objectMap["HasCorrelatedEvents"] = nhree.HasCorrelatedEvents
28716	}
28717	if nhree.Kind != "" {
28718		objectMap["Kind"] = nhree.Kind
28719	}
28720	return json.Marshal(objectMap)
28721}
28722
28723// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28724func (nhree NodeHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28725	return nil, false
28726}
28727
28728// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28729func (nhree NodeHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28730	return nil, false
28731}
28732
28733// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28734func (nhree NodeHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
28735	return nil, false
28736}
28737
28738// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28739func (nhree NodeHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28740	return nil, false
28741}
28742
28743// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28744func (nhree NodeHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28745	return nil, false
28746}
28747
28748// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28749func (nhree NodeHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
28750	return nil, false
28751}
28752
28753// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28754func (nhree NodeHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28755	return &nhree, true
28756}
28757
28758// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28759func (nhree NodeHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28760	return nil, false
28761}
28762
28763// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28764func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28765	return nil, false
28766}
28767
28768// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28769func (nhree NodeHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28770	return nil, false
28771}
28772
28773// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28774func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28775	return nil, false
28776}
28777
28778// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28779func (nhree NodeHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28780	return nil, false
28781}
28782
28783// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28784func (nhree NodeHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28785	return nil, false
28786}
28787
28788// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28789func (nhree NodeHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
28790	return nil, false
28791}
28792
28793// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28794func (nhree NodeHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28795	return nil, false
28796}
28797
28798// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28799func (nhree NodeHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28800	return nil, false
28801}
28802
28803// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28804func (nhree NodeHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28805	return nil, false
28806}
28807
28808// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28809func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28810	return nil, false
28811}
28812
28813// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28814func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28815	return nil, false
28816}
28817
28818// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28819func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28820	return nil, false
28821}
28822
28823// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28824func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28825	return nil, false
28826}
28827
28828// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28829func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28830	return nil, false
28831}
28832
28833// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28834func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28835	return nil, false
28836}
28837
28838// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28839func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28840	return nil, false
28841}
28842
28843// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28844func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28845	return nil, false
28846}
28847
28848// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28849func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
28850	return nil, false
28851}
28852
28853// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28854func (nhree NodeHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
28855	return nil, false
28856}
28857
28858// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28859func (nhree NodeHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
28860	return nil, false
28861}
28862
28863// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28864func (nhree NodeHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28865	return nil, false
28866}
28867
28868// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28869func (nhree NodeHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28870	return nil, false
28871}
28872
28873// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28874func (nhree NodeHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28875	return nil, false
28876}
28877
28878// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28879func (nhree NodeHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28880	return nil, false
28881}
28882
28883// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28884func (nhree NodeHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28885	return nil, false
28886}
28887
28888// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28889func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28890	return nil, false
28891}
28892
28893// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28894func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28895	return nil, false
28896}
28897
28898// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28899func (nhree NodeHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28900	return nil, false
28901}
28902
28903// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28904func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28905	return nil, false
28906}
28907
28908// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28909func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28910	return &nhree, true
28911}
28912
28913// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28914func (nhree NodeHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28915	return nil, false
28916}
28917
28918// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28919func (nhree NodeHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28920	return nil, false
28921}
28922
28923// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28924func (nhree NodeHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28925	return nil, false
28926}
28927
28928// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28929func (nhree NodeHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28930	return nil, false
28931}
28932
28933// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28934func (nhree NodeHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28935	return nil, false
28936}
28937
28938// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28939func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28940	return nil, false
28941}
28942
28943// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28944func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28945	return nil, false
28946}
28947
28948// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28949func (nhree NodeHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28950	return nil, false
28951}
28952
28953// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28954func (nhree NodeHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28955	return nil, false
28956}
28957
28958// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28959func (nhree NodeHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28960	return nil, false
28961}
28962
28963// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28964func (nhree NodeHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28965	return nil, false
28966}
28967
28968// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28969func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28970	return nil, false
28971}
28972
28973// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28974func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28975	return nil, false
28976}
28977
28978// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28979func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28980	return nil, false
28981}
28982
28983// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28984func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28985	return nil, false
28986}
28987
28988// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28989func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28990	return nil, false
28991}
28992
28993// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28994func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28995	return nil, false
28996}
28997
28998// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28999func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29000	return nil, false
29001}
29002
29003// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29004func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29005	return nil, false
29006}
29007
29008// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29009func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29010	return nil, false
29011}
29012
29013// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29014func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29015	return nil, false
29016}
29017
29018// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29019func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29020	return nil, false
29021}
29022
29023// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29024func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29025	return nil, false
29026}
29027
29028// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29029func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29030	return nil, false
29031}
29032
29033// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29034func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29035	return nil, false
29036}
29037
29038// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29039func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29040	return nil, false
29041}
29042
29043// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29044func (nhree NodeHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29045	return nil, false
29046}
29047
29048// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29049func (nhree NodeHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29050	return nil, false
29051}
29052
29053// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29054func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29055	return nil, false
29056}
29057
29058// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29059func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29060	return nil, false
29061}
29062
29063// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29064func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29065	return nil, false
29066}
29067
29068// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29069func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29070	return nil, false
29071}
29072
29073// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29074func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29075	return nil, false
29076}
29077
29078// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29079func (nhree NodeHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29080	return nil, false
29081}
29082
29083// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29084func (nhree NodeHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29085	return nil, false
29086}
29087
29088// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29089func (nhree NodeHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29090	return nil, false
29091}
29092
29093// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29094func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29095	return nil, false
29096}
29097
29098// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29099func (nhree NodeHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
29100	return nil, false
29101}
29102
29103// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
29104func (nhree NodeHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29105	return &nhree, true
29106}
29107
29108// NodeHealthState represents the health state of a node, which contains the node identifier and its
29109// aggregated health state.
29110type NodeHealthState struct {
29111	// Name - The name of a Service Fabric node.
29112	Name *string `json:"Name,omitempty"`
29113	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
29114	ID *NodeID `json:"Id,omitempty"`
29115	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
29116	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
29117}
29118
29119// NodeHealthStateChunk represents the health state chunk of a node, which contains the node name and its
29120// aggregated health state.
29121type NodeHealthStateChunk struct {
29122	// NodeName - The name of a Service Fabric node.
29123	NodeName *string `json:"NodeName,omitempty"`
29124	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
29125	HealthState HealthState `json:"HealthState,omitempty"`
29126}
29127
29128// NodeHealthStateChunkList the list of node health state chunks in the cluster that respect the input
29129// filters in the chunk query. Returned by get cluster health state chunks query.
29130type NodeHealthStateChunkList struct {
29131	// Items - The list of node health state chunks that respect the input filters in the chunk query.
29132	Items *[]NodeHealthStateChunk `json:"Items,omitempty"`
29133	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
29134	TotalCount *int64 `json:"TotalCount,omitempty"`
29135}
29136
29137// NodeHealthStateFilter defines matching criteria to determine whether a node should be included in the
29138// returned cluster health chunk.
29139// One filter can match zero, one or multiple nodes, depending on its properties.
29140// Can be specified in the cluster health chunk query description.
29141type NodeHealthStateFilter struct {
29142	// NodeNameFilter - Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.
29143	// If the node doesn't exist, no node is returned in the cluster health chunk based on this filter.
29144	// If the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.
29145	// If not specified, all nodes that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter.
29146	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
29147	// HealthStateFilter - The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.
29148	// The possible values are integer value of one of the following health states. Only nodes that match the filter are returned. All nodes are used to evaluate the cluster aggregated health state.
29149	// If not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching node is returned.
29150	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
29151	// For example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).
29152	// - Default - Default value. Matches any HealthState. The value is zero.
29153	// - None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
29154	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
29155	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
29156	// - Error - Filter that matches input with HealthState value Error. The value is 8.
29157	// - All - Filter that matches input with any HealthState value. The value is 65535.
29158	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
29159}
29160
29161// NodeID an internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically
29162// generated from node name.
29163type NodeID struct {
29164	// ID - Value of the node Id. This is a 128 bit integer.
29165	ID *string `json:"Id,omitempty"`
29166}
29167
29168// NodeImpact describes the expected impact of a repair to a particular node.
29169//
29170// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
29171type NodeImpact struct {
29172	// NodeName - The name of the impacted node.
29173	NodeName *string `json:"NodeName,omitempty"`
29174	// ImpactLevel - The level of impact expected. Possible values include: 'ImpactLevelInvalid', 'ImpactLevelNone', 'ImpactLevelRestart', 'ImpactLevelRemoveData', 'ImpactLevelRemoveNode'
29175	ImpactLevel ImpactLevel `json:"ImpactLevel,omitempty"`
29176}
29177
29178// NodeInfo information about a node in Service Fabric cluster.
29179type NodeInfo struct {
29180	autorest.Response `json:"-"`
29181	// Name - The name of a Service Fabric node.
29182	Name *string `json:"Name,omitempty"`
29183	// IPAddressOrFQDN - The IP address or fully qualified domain name of the node.
29184	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
29185	// Type - The type of the node.
29186	Type *string `json:"Type,omitempty"`
29187	// CodeVersion - The version of Service Fabric binaries that the node is running.
29188	CodeVersion *string `json:"CodeVersion,omitempty"`
29189	// ConfigVersion - The version of Service Fabric cluster manifest that the node is using.
29190	ConfigVersion *string `json:"ConfigVersion,omitempty"`
29191	// NodeStatus - The status of the node. Possible values include: 'NodeStatusInvalid', 'NodeStatusUp', 'NodeStatusDown', 'NodeStatusEnabling', 'NodeStatusDisabling', 'NodeStatusDisabled', 'NodeStatusUnknown', 'NodeStatusRemoved'
29192	NodeStatus NodeStatus `json:"NodeStatus,omitempty"`
29193	// NodeUpTimeInSeconds - Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up.
29194	NodeUpTimeInSeconds *string `json:"NodeUpTimeInSeconds,omitempty"`
29195	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
29196	HealthState HealthState `json:"HealthState,omitempty"`
29197	// IsSeedNode - Indicates if the node is a seed node or not. Returns true if the node is a seed node, otherwise false. A quorum of seed nodes are required for proper operation of Service Fabric cluster.
29198	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
29199	// UpgradeDomain - The upgrade domain of the node.
29200	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
29201	// FaultDomain - The fault domain of the node.
29202	FaultDomain *string `json:"FaultDomain,omitempty"`
29203	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
29204	ID *NodeID `json:"Id,omitempty"`
29205	// InstanceID - The ID representing the node instance. While the ID of the node is deterministically generated from the node name and remains same across restarts, the InstanceId changes every time node restarts.
29206	InstanceID *string `json:"InstanceId,omitempty"`
29207	// NodeDeactivationInfo - Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.
29208	NodeDeactivationInfo *NodeDeactivationInfo `json:"NodeDeactivationInfo,omitempty"`
29209	// IsStopped - Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false.
29210	IsStopped *bool `json:"IsStopped,omitempty"`
29211	// NodeDownTimeInSeconds - Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down.
29212	NodeDownTimeInSeconds *string `json:"NodeDownTimeInSeconds,omitempty"`
29213	// NodeUpAt - Date time in UTC when the node came up. If the node has never been up then this value will be zero date time.
29214	NodeUpAt *date.Time `json:"NodeUpAt,omitempty"`
29215	// NodeDownAt - Date time in UTC when the node went down. If node has never been down then this value will be zero date time.
29216	NodeDownAt *date.Time `json:"NodeDownAt,omitempty"`
29217}
29218
29219// NodeLoadInfo information about load on a Service Fabric node. It holds a summary of all metrics and
29220// their load on a node.
29221type NodeLoadInfo struct {
29222	autorest.Response `json:"-"`
29223	// NodeName - Name of the node for which the load information is provided by this object.
29224	NodeName *string `json:"NodeName,omitempty"`
29225	// NodeLoadMetricInformation - List that contains metrics and their load information on this node.
29226	NodeLoadMetricInformation *[]NodeLoadMetricInformation `json:"NodeLoadMetricInformation,omitempty"`
29227}
29228
29229// NodeLoadMetricInformation represents data structure that contains load information for a certain metric
29230// on a node.
29231type NodeLoadMetricInformation struct {
29232	// Name - Name of the metric for which this load information is provided.
29233	Name *string `json:"Name,omitempty"`
29234	// NodeCapacity - Total capacity on the node for this metric.
29235	NodeCapacity *string `json:"NodeCapacity,omitempty"`
29236	// NodeLoad - Current load on the node for this metric.
29237	NodeLoad *string `json:"NodeLoad,omitempty"`
29238	// NodeRemainingCapacity - The remaining capacity on the node for this metric.
29239	NodeRemainingCapacity *string `json:"NodeRemainingCapacity,omitempty"`
29240	// IsCapacityViolation - Indicates if there is a capacity violation for this metric on the node.
29241	IsCapacityViolation *bool `json:"IsCapacityViolation,omitempty"`
29242	// NodeBufferedCapacity - The value that indicates the reserved capacity for this metric on the node.
29243	NodeBufferedCapacity *string `json:"NodeBufferedCapacity,omitempty"`
29244	// NodeRemainingBufferedCapacity - The remaining reserved capacity for this metric on the node.
29245	NodeRemainingBufferedCapacity *string `json:"NodeRemainingBufferedCapacity,omitempty"`
29246}
29247
29248// NodeOpenedSuccessEvent node Opened Success event.
29249type NodeOpenedSuccessEvent struct {
29250	// NodeInstance - Id of Node instance.
29251	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29252	// NodeID - Id of Node.
29253	NodeID *string `json:"NodeId,omitempty"`
29254	// UpgradeDomain - Upgrade domain of Node.
29255	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
29256	// FaultDomain - Fault domain of Node.
29257	FaultDomain *string `json:"FaultDomain,omitempty"`
29258	// IPAddressOrFQDN - IP address or FQDN.
29259	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
29260	// Hostname - Name of Host.
29261	Hostname *string `json:"Hostname,omitempty"`
29262	// IsSeedNode - Indicates if it is seed node.
29263	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
29264	// NodeVersion - Version of Node.
29265	NodeVersion *string `json:"NodeVersion,omitempty"`
29266	// NodeName - The name of a Service Fabric node.
29267	NodeName *string `json:"NodeName,omitempty"`
29268	// EventInstanceID - The identifier for the FabricEvent instance.
29269	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29270	// TimeStamp - The time event was logged.
29271	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29272	// HasCorrelatedEvents - Shows there is existing related events available.
29273	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29274	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
29275	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29276}
29277
29278// MarshalJSON is the custom marshaler for NodeOpenedSuccessEvent.
29279func (nose NodeOpenedSuccessEvent) MarshalJSON() ([]byte, error) {
29280	nose.Kind = KindNodeOpenedSuccess
29281	objectMap := make(map[string]interface{})
29282	if nose.NodeInstance != nil {
29283		objectMap["NodeInstance"] = nose.NodeInstance
29284	}
29285	if nose.NodeID != nil {
29286		objectMap["NodeId"] = nose.NodeID
29287	}
29288	if nose.UpgradeDomain != nil {
29289		objectMap["UpgradeDomain"] = nose.UpgradeDomain
29290	}
29291	if nose.FaultDomain != nil {
29292		objectMap["FaultDomain"] = nose.FaultDomain
29293	}
29294	if nose.IPAddressOrFQDN != nil {
29295		objectMap["IpAddressOrFQDN"] = nose.IPAddressOrFQDN
29296	}
29297	if nose.Hostname != nil {
29298		objectMap["Hostname"] = nose.Hostname
29299	}
29300	if nose.IsSeedNode != nil {
29301		objectMap["IsSeedNode"] = nose.IsSeedNode
29302	}
29303	if nose.NodeVersion != nil {
29304		objectMap["NodeVersion"] = nose.NodeVersion
29305	}
29306	if nose.NodeName != nil {
29307		objectMap["NodeName"] = nose.NodeName
29308	}
29309	if nose.EventInstanceID != nil {
29310		objectMap["EventInstanceId"] = nose.EventInstanceID
29311	}
29312	if nose.TimeStamp != nil {
29313		objectMap["TimeStamp"] = nose.TimeStamp
29314	}
29315	if nose.HasCorrelatedEvents != nil {
29316		objectMap["HasCorrelatedEvents"] = nose.HasCorrelatedEvents
29317	}
29318	if nose.Kind != "" {
29319		objectMap["Kind"] = nose.Kind
29320	}
29321	return json.Marshal(objectMap)
29322}
29323
29324// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29325func (nose NodeOpenedSuccessEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29326	return nil, false
29327}
29328
29329// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29330func (nose NodeOpenedSuccessEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29331	return nil, false
29332}
29333
29334// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29335func (nose NodeOpenedSuccessEvent) AsClusterEvent() (*ClusterEvent, bool) {
29336	return nil, false
29337}
29338
29339// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29340func (nose NodeOpenedSuccessEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29341	return nil, false
29342}
29343
29344// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29345func (nose NodeOpenedSuccessEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29346	return nil, false
29347}
29348
29349// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29350func (nose NodeOpenedSuccessEvent) AsNodeEvent() (*NodeEvent, bool) {
29351	return nil, false
29352}
29353
29354// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29355func (nose NodeOpenedSuccessEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29356	return &nose, true
29357}
29358
29359// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29360func (nose NodeOpenedSuccessEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29361	return nil, false
29362}
29363
29364// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29365func (nose NodeOpenedSuccessEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29366	return nil, false
29367}
29368
29369// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29370func (nose NodeOpenedSuccessEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29371	return nil, false
29372}
29373
29374// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29375func (nose NodeOpenedSuccessEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29376	return nil, false
29377}
29378
29379// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29380func (nose NodeOpenedSuccessEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29381	return nil, false
29382}
29383
29384// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29385func (nose NodeOpenedSuccessEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29386	return nil, false
29387}
29388
29389// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29390func (nose NodeOpenedSuccessEvent) AsServiceEvent() (*ServiceEvent, bool) {
29391	return nil, false
29392}
29393
29394// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29395func (nose NodeOpenedSuccessEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29396	return nil, false
29397}
29398
29399// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29400func (nose NodeOpenedSuccessEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29401	return nil, false
29402}
29403
29404// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29405func (nose NodeOpenedSuccessEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29406	return nil, false
29407}
29408
29409// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29410func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29411	return nil, false
29412}
29413
29414// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29415func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29416	return nil, false
29417}
29418
29419// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29420func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29421	return nil, false
29422}
29423
29424// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29425func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29426	return nil, false
29427}
29428
29429// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29430func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29431	return nil, false
29432}
29433
29434// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29435func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29436	return nil, false
29437}
29438
29439// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29440func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29441	return nil, false
29442}
29443
29444// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29445func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29446	return nil, false
29447}
29448
29449// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29450func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29451	return nil, false
29452}
29453
29454// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29455func (nose NodeOpenedSuccessEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29456	return nil, false
29457}
29458
29459// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29460func (nose NodeOpenedSuccessEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29461	return nil, false
29462}
29463
29464// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29465func (nose NodeOpenedSuccessEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29466	return nil, false
29467}
29468
29469// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29470func (nose NodeOpenedSuccessEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29471	return nil, false
29472}
29473
29474// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29475func (nose NodeOpenedSuccessEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29476	return nil, false
29477}
29478
29479// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29480func (nose NodeOpenedSuccessEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29481	return nil, false
29482}
29483
29484// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29485func (nose NodeOpenedSuccessEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29486	return nil, false
29487}
29488
29489// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29490func (nose NodeOpenedSuccessEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29491	return nil, false
29492}
29493
29494// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29495func (nose NodeOpenedSuccessEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29496	return nil, false
29497}
29498
29499// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29500func (nose NodeOpenedSuccessEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29501	return nil, false
29502}
29503
29504// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29505func (nose NodeOpenedSuccessEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29506	return nil, false
29507}
29508
29509// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29510func (nose NodeOpenedSuccessEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29511	return nil, false
29512}
29513
29514// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29515func (nose NodeOpenedSuccessEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29516	return &nose, true
29517}
29518
29519// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29520func (nose NodeOpenedSuccessEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29521	return nil, false
29522}
29523
29524// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29525func (nose NodeOpenedSuccessEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29526	return nil, false
29527}
29528
29529// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29530func (nose NodeOpenedSuccessEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29531	return nil, false
29532}
29533
29534// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29535func (nose NodeOpenedSuccessEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29536	return nil, false
29537}
29538
29539// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29540func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29541	return nil, false
29542}
29543
29544// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29545func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29546	return nil, false
29547}
29548
29549// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29550func (nose NodeOpenedSuccessEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29551	return nil, false
29552}
29553
29554// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29555func (nose NodeOpenedSuccessEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
29556	return nil, false
29557}
29558
29559// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29560func (nose NodeOpenedSuccessEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
29561	return nil, false
29562}
29563
29564// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29565func (nose NodeOpenedSuccessEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
29566	return nil, false
29567}
29568
29569// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29570func (nose NodeOpenedSuccessEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
29571	return nil, false
29572}
29573
29574// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29575func (nose NodeOpenedSuccessEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
29576	return nil, false
29577}
29578
29579// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29580func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
29581	return nil, false
29582}
29583
29584// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29585func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
29586	return nil, false
29587}
29588
29589// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29590func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
29591	return nil, false
29592}
29593
29594// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29595func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
29596	return nil, false
29597}
29598
29599// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29600func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29601	return nil, false
29602}
29603
29604// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29605func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29606	return nil, false
29607}
29608
29609// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29610func (nose NodeOpenedSuccessEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29611	return nil, false
29612}
29613
29614// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29615func (nose NodeOpenedSuccessEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29616	return nil, false
29617}
29618
29619// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29620func (nose NodeOpenedSuccessEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29621	return nil, false
29622}
29623
29624// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29625func (nose NodeOpenedSuccessEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29626	return nil, false
29627}
29628
29629// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29630func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29631	return nil, false
29632}
29633
29634// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29635func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29636	return nil, false
29637}
29638
29639// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29640func (nose NodeOpenedSuccessEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29641	return nil, false
29642}
29643
29644// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29645func (nose NodeOpenedSuccessEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29646	return nil, false
29647}
29648
29649// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29650func (nose NodeOpenedSuccessEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29651	return nil, false
29652}
29653
29654// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29655func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29656	return nil, false
29657}
29658
29659// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29660func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29661	return nil, false
29662}
29663
29664// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29665func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29666	return nil, false
29667}
29668
29669// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29670func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29671	return nil, false
29672}
29673
29674// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29675func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29676	return nil, false
29677}
29678
29679// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29680func (nose NodeOpenedSuccessEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29681	return nil, false
29682}
29683
29684// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29685func (nose NodeOpenedSuccessEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29686	return nil, false
29687}
29688
29689// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29690func (nose NodeOpenedSuccessEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29691	return nil, false
29692}
29693
29694// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29695func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29696	return nil, false
29697}
29698
29699// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29700func (nose NodeOpenedSuccessEvent) AsFabricEvent() (*FabricEvent, bool) {
29701	return nil, false
29702}
29703
29704// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29705func (nose NodeOpenedSuccessEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29706	return &nose, true
29707}
29708
29709// NodeOpenFailedEvent node Open Failed event.
29710type NodeOpenFailedEvent struct {
29711	// NodeInstance - Id of Node instance.
29712	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29713	// NodeID - Id of Node.
29714	NodeID *string `json:"NodeId,omitempty"`
29715	// UpgradeDomain - Upgrade domain of Node.
29716	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
29717	// FaultDomain - Fault domain of Node.
29718	FaultDomain *string `json:"FaultDomain,omitempty"`
29719	// IPAddressOrFQDN - IP address or FQDN.
29720	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
29721	// Hostname - Name of Host.
29722	Hostname *string `json:"Hostname,omitempty"`
29723	// IsSeedNode - Indicates if it is seed node.
29724	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
29725	// NodeVersion - Version of Node.
29726	NodeVersion *string `json:"NodeVersion,omitempty"`
29727	// Error - Describes the error.
29728	Error *string `json:"Error,omitempty"`
29729	// NodeName - The name of a Service Fabric node.
29730	NodeName *string `json:"NodeName,omitempty"`
29731	// EventInstanceID - The identifier for the FabricEvent instance.
29732	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29733	// TimeStamp - The time event was logged.
29734	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29735	// HasCorrelatedEvents - Shows there is existing related events available.
29736	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29737	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
29738	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29739}
29740
29741// MarshalJSON is the custom marshaler for NodeOpenFailedEvent.
29742func (nofe NodeOpenFailedEvent) MarshalJSON() ([]byte, error) {
29743	nofe.Kind = KindNodeOpenFailed
29744	objectMap := make(map[string]interface{})
29745	if nofe.NodeInstance != nil {
29746		objectMap["NodeInstance"] = nofe.NodeInstance
29747	}
29748	if nofe.NodeID != nil {
29749		objectMap["NodeId"] = nofe.NodeID
29750	}
29751	if nofe.UpgradeDomain != nil {
29752		objectMap["UpgradeDomain"] = nofe.UpgradeDomain
29753	}
29754	if nofe.FaultDomain != nil {
29755		objectMap["FaultDomain"] = nofe.FaultDomain
29756	}
29757	if nofe.IPAddressOrFQDN != nil {
29758		objectMap["IpAddressOrFQDN"] = nofe.IPAddressOrFQDN
29759	}
29760	if nofe.Hostname != nil {
29761		objectMap["Hostname"] = nofe.Hostname
29762	}
29763	if nofe.IsSeedNode != nil {
29764		objectMap["IsSeedNode"] = nofe.IsSeedNode
29765	}
29766	if nofe.NodeVersion != nil {
29767		objectMap["NodeVersion"] = nofe.NodeVersion
29768	}
29769	if nofe.Error != nil {
29770		objectMap["Error"] = nofe.Error
29771	}
29772	if nofe.NodeName != nil {
29773		objectMap["NodeName"] = nofe.NodeName
29774	}
29775	if nofe.EventInstanceID != nil {
29776		objectMap["EventInstanceId"] = nofe.EventInstanceID
29777	}
29778	if nofe.TimeStamp != nil {
29779		objectMap["TimeStamp"] = nofe.TimeStamp
29780	}
29781	if nofe.HasCorrelatedEvents != nil {
29782		objectMap["HasCorrelatedEvents"] = nofe.HasCorrelatedEvents
29783	}
29784	if nofe.Kind != "" {
29785		objectMap["Kind"] = nofe.Kind
29786	}
29787	return json.Marshal(objectMap)
29788}
29789
29790// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29791func (nofe NodeOpenFailedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29792	return nil, false
29793}
29794
29795// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29796func (nofe NodeOpenFailedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29797	return nil, false
29798}
29799
29800// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29801func (nofe NodeOpenFailedEvent) AsClusterEvent() (*ClusterEvent, bool) {
29802	return nil, false
29803}
29804
29805// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29806func (nofe NodeOpenFailedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29807	return nil, false
29808}
29809
29810// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29811func (nofe NodeOpenFailedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29812	return nil, false
29813}
29814
29815// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29816func (nofe NodeOpenFailedEvent) AsNodeEvent() (*NodeEvent, bool) {
29817	return nil, false
29818}
29819
29820// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29821func (nofe NodeOpenFailedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29822	return &nofe, true
29823}
29824
29825// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29826func (nofe NodeOpenFailedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29827	return nil, false
29828}
29829
29830// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29831func (nofe NodeOpenFailedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29832	return nil, false
29833}
29834
29835// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29836func (nofe NodeOpenFailedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29837	return nil, false
29838}
29839
29840// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29841func (nofe NodeOpenFailedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29842	return nil, false
29843}
29844
29845// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29846func (nofe NodeOpenFailedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29847	return nil, false
29848}
29849
29850// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29851func (nofe NodeOpenFailedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29852	return nil, false
29853}
29854
29855// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29856func (nofe NodeOpenFailedEvent) AsServiceEvent() (*ServiceEvent, bool) {
29857	return nil, false
29858}
29859
29860// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29861func (nofe NodeOpenFailedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29862	return nil, false
29863}
29864
29865// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29866func (nofe NodeOpenFailedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29867	return nil, false
29868}
29869
29870// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29871func (nofe NodeOpenFailedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29872	return nil, false
29873}
29874
29875// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29876func (nofe NodeOpenFailedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29877	return nil, false
29878}
29879
29880// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29881func (nofe NodeOpenFailedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29882	return nil, false
29883}
29884
29885// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29886func (nofe NodeOpenFailedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29887	return nil, false
29888}
29889
29890// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29891func (nofe NodeOpenFailedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29892	return nil, false
29893}
29894
29895// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29896func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29897	return nil, false
29898}
29899
29900// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29901func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29902	return nil, false
29903}
29904
29905// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29906func (nofe NodeOpenFailedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29907	return nil, false
29908}
29909
29910// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29911func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29912	return nil, false
29913}
29914
29915// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29916func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29917	return nil, false
29918}
29919
29920// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29921func (nofe NodeOpenFailedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29922	return nil, false
29923}
29924
29925// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29926func (nofe NodeOpenFailedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29927	return nil, false
29928}
29929
29930// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29931func (nofe NodeOpenFailedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29932	return nil, false
29933}
29934
29935// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29936func (nofe NodeOpenFailedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29937	return nil, false
29938}
29939
29940// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29941func (nofe NodeOpenFailedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29942	return nil, false
29943}
29944
29945// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29946func (nofe NodeOpenFailedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29947	return nil, false
29948}
29949
29950// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29951func (nofe NodeOpenFailedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29952	return nil, false
29953}
29954
29955// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29956func (nofe NodeOpenFailedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29957	return nil, false
29958}
29959
29960// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29961func (nofe NodeOpenFailedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29962	return nil, false
29963}
29964
29965// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29966func (nofe NodeOpenFailedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29967	return nil, false
29968}
29969
29970// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29971func (nofe NodeOpenFailedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29972	return nil, false
29973}
29974
29975// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29976func (nofe NodeOpenFailedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29977	return nil, false
29978}
29979
29980// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29981func (nofe NodeOpenFailedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29982	return nil, false
29983}
29984
29985// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29986func (nofe NodeOpenFailedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29987	return &nofe, true
29988}
29989
29990// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29991func (nofe NodeOpenFailedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29992	return nil, false
29993}
29994
29995// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29996func (nofe NodeOpenFailedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29997	return nil, false
29998}
29999
30000// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30001func (nofe NodeOpenFailedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30002	return nil, false
30003}
30004
30005// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30006func (nofe NodeOpenFailedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30007	return nil, false
30008}
30009
30010// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30011func (nofe NodeOpenFailedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
30012	return nil, false
30013}
30014
30015// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30016func (nofe NodeOpenFailedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30017	return nil, false
30018}
30019
30020// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30021func (nofe NodeOpenFailedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30022	return nil, false
30023}
30024
30025// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30026func (nofe NodeOpenFailedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30027	return nil, false
30028}
30029
30030// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30031func (nofe NodeOpenFailedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30032	return nil, false
30033}
30034
30035// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30036func (nofe NodeOpenFailedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30037	return nil, false
30038}
30039
30040// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30041func (nofe NodeOpenFailedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30042	return nil, false
30043}
30044
30045// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30046func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30047	return nil, false
30048}
30049
30050// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30051func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30052	return nil, false
30053}
30054
30055// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30056func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30057	return nil, false
30058}
30059
30060// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30061func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30062	return nil, false
30063}
30064
30065// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30066func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30067	return nil, false
30068}
30069
30070// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30071func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30072	return nil, false
30073}
30074
30075// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30076func (nofe NodeOpenFailedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30077	return nil, false
30078}
30079
30080// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30081func (nofe NodeOpenFailedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30082	return nil, false
30083}
30084
30085// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30086func (nofe NodeOpenFailedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30087	return nil, false
30088}
30089
30090// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30091func (nofe NodeOpenFailedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30092	return nil, false
30093}
30094
30095// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30096func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30097	return nil, false
30098}
30099
30100// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30101func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30102	return nil, false
30103}
30104
30105// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30106func (nofe NodeOpenFailedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30107	return nil, false
30108}
30109
30110// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30111func (nofe NodeOpenFailedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30112	return nil, false
30113}
30114
30115// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30116func (nofe NodeOpenFailedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30117	return nil, false
30118}
30119
30120// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30121func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30122	return nil, false
30123}
30124
30125// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30126func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30127	return nil, false
30128}
30129
30130// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30131func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30132	return nil, false
30133}
30134
30135// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30136func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30137	return nil, false
30138}
30139
30140// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30141func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30142	return nil, false
30143}
30144
30145// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30146func (nofe NodeOpenFailedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30147	return nil, false
30148}
30149
30150// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30151func (nofe NodeOpenFailedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30152	return nil, false
30153}
30154
30155// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30156func (nofe NodeOpenFailedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30157	return nil, false
30158}
30159
30160// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30161func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30162	return nil, false
30163}
30164
30165// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30166func (nofe NodeOpenFailedEvent) AsFabricEvent() (*FabricEvent, bool) {
30167	return nil, false
30168}
30169
30170// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
30171func (nofe NodeOpenFailedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30172	return &nofe, true
30173}
30174
30175// NodeOpeningEvent node Opening event.
30176type NodeOpeningEvent struct {
30177	// NodeInstance - Id of Node instance.
30178	NodeInstance *int64 `json:"NodeInstance,omitempty"`
30179	// NodeID - Id of Node.
30180	NodeID *string `json:"NodeId,omitempty"`
30181	// UpgradeDomain - Upgrade domain of Node.
30182	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
30183	// FaultDomain - Fault domain of Node.
30184	FaultDomain *string `json:"FaultDomain,omitempty"`
30185	// IPAddressOrFQDN - IP address or FQDN.
30186	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
30187	// Hostname - Name of Host.
30188	Hostname *string `json:"Hostname,omitempty"`
30189	// IsSeedNode - Indicates if it is seed node.
30190	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
30191	// NodeVersion - Version of Node.
30192	NodeVersion *string `json:"NodeVersion,omitempty"`
30193	// NodeName - The name of a Service Fabric node.
30194	NodeName *string `json:"NodeName,omitempty"`
30195	// EventInstanceID - The identifier for the FabricEvent instance.
30196	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30197	// TimeStamp - The time event was logged.
30198	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30199	// HasCorrelatedEvents - Shows there is existing related events available.
30200	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30201	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
30202	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30203}
30204
30205// MarshalJSON is the custom marshaler for NodeOpeningEvent.
30206func (noe NodeOpeningEvent) MarshalJSON() ([]byte, error) {
30207	noe.Kind = KindNodeOpening
30208	objectMap := make(map[string]interface{})
30209	if noe.NodeInstance != nil {
30210		objectMap["NodeInstance"] = noe.NodeInstance
30211	}
30212	if noe.NodeID != nil {
30213		objectMap["NodeId"] = noe.NodeID
30214	}
30215	if noe.UpgradeDomain != nil {
30216		objectMap["UpgradeDomain"] = noe.UpgradeDomain
30217	}
30218	if noe.FaultDomain != nil {
30219		objectMap["FaultDomain"] = noe.FaultDomain
30220	}
30221	if noe.IPAddressOrFQDN != nil {
30222		objectMap["IpAddressOrFQDN"] = noe.IPAddressOrFQDN
30223	}
30224	if noe.Hostname != nil {
30225		objectMap["Hostname"] = noe.Hostname
30226	}
30227	if noe.IsSeedNode != nil {
30228		objectMap["IsSeedNode"] = noe.IsSeedNode
30229	}
30230	if noe.NodeVersion != nil {
30231		objectMap["NodeVersion"] = noe.NodeVersion
30232	}
30233	if noe.NodeName != nil {
30234		objectMap["NodeName"] = noe.NodeName
30235	}
30236	if noe.EventInstanceID != nil {
30237		objectMap["EventInstanceId"] = noe.EventInstanceID
30238	}
30239	if noe.TimeStamp != nil {
30240		objectMap["TimeStamp"] = noe.TimeStamp
30241	}
30242	if noe.HasCorrelatedEvents != nil {
30243		objectMap["HasCorrelatedEvents"] = noe.HasCorrelatedEvents
30244	}
30245	if noe.Kind != "" {
30246		objectMap["Kind"] = noe.Kind
30247	}
30248	return json.Marshal(objectMap)
30249}
30250
30251// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30252func (noe NodeOpeningEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30253	return nil, false
30254}
30255
30256// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30257func (noe NodeOpeningEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30258	return nil, false
30259}
30260
30261// AsClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30262func (noe NodeOpeningEvent) AsClusterEvent() (*ClusterEvent, bool) {
30263	return nil, false
30264}
30265
30266// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30267func (noe NodeOpeningEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
30268	return nil, false
30269}
30270
30271// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30272func (noe NodeOpeningEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
30273	return nil, false
30274}
30275
30276// AsNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30277func (noe NodeOpeningEvent) AsNodeEvent() (*NodeEvent, bool) {
30278	return nil, false
30279}
30280
30281// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30282func (noe NodeOpeningEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
30283	return &noe, true
30284}
30285
30286// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30287func (noe NodeOpeningEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
30288	return nil, false
30289}
30290
30291// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30292func (noe NodeOpeningEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
30293	return nil, false
30294}
30295
30296// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30297func (noe NodeOpeningEvent) AsPartitionEvent() (*PartitionEvent, bool) {
30298	return nil, false
30299}
30300
30301// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30302func (noe NodeOpeningEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
30303	return nil, false
30304}
30305
30306// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30307func (noe NodeOpeningEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
30308	return nil, false
30309}
30310
30311// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30312func (noe NodeOpeningEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
30313	return nil, false
30314}
30315
30316// AsServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30317func (noe NodeOpeningEvent) AsServiceEvent() (*ServiceEvent, bool) {
30318	return nil, false
30319}
30320
30321// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30322func (noe NodeOpeningEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
30323	return nil, false
30324}
30325
30326// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30327func (noe NodeOpeningEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
30328	return nil, false
30329}
30330
30331// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30332func (noe NodeOpeningEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
30333	return nil, false
30334}
30335
30336// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30337func (noe NodeOpeningEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
30338	return nil, false
30339}
30340
30341// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30342func (noe NodeOpeningEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
30343	return nil, false
30344}
30345
30346// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30347func (noe NodeOpeningEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
30348	return nil, false
30349}
30350
30351// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30352func (noe NodeOpeningEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
30353	return nil, false
30354}
30355
30356// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30357func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
30358	return nil, false
30359}
30360
30361// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30362func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
30363	return nil, false
30364}
30365
30366// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30367func (noe NodeOpeningEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
30368	return nil, false
30369}
30370
30371// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30372func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
30373	return nil, false
30374}
30375
30376// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30377func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
30378	return nil, false
30379}
30380
30381// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30382func (noe NodeOpeningEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
30383	return nil, false
30384}
30385
30386// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30387func (noe NodeOpeningEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
30388	return nil, false
30389}
30390
30391// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30392func (noe NodeOpeningEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
30393	return nil, false
30394}
30395
30396// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30397func (noe NodeOpeningEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
30398	return nil, false
30399}
30400
30401// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30402func (noe NodeOpeningEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
30403	return nil, false
30404}
30405
30406// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30407func (noe NodeOpeningEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
30408	return nil, false
30409}
30410
30411// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30412func (noe NodeOpeningEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
30413	return nil, false
30414}
30415
30416// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30417func (noe NodeOpeningEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
30418	return nil, false
30419}
30420
30421// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30422func (noe NodeOpeningEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
30423	return nil, false
30424}
30425
30426// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30427func (noe NodeOpeningEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
30428	return nil, false
30429}
30430
30431// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30432func (noe NodeOpeningEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
30433	return nil, false
30434}
30435
30436// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30437func (noe NodeOpeningEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
30438	return nil, false
30439}
30440
30441// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30442func (noe NodeOpeningEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
30443	return nil, false
30444}
30445
30446// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30447func (noe NodeOpeningEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
30448	return nil, false
30449}
30450
30451// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30452func (noe NodeOpeningEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
30453	return &noe, true
30454}
30455
30456// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30457func (noe NodeOpeningEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
30458	return nil, false
30459}
30460
30461// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30462func (noe NodeOpeningEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30463	return nil, false
30464}
30465
30466// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30467func (noe NodeOpeningEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30468	return nil, false
30469}
30470
30471// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30472func (noe NodeOpeningEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
30473	return nil, false
30474}
30475
30476// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30477func (noe NodeOpeningEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30478	return nil, false
30479}
30480
30481// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30482func (noe NodeOpeningEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30483	return nil, false
30484}
30485
30486// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30487func (noe NodeOpeningEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30488	return nil, false
30489}
30490
30491// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30492func (noe NodeOpeningEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30493	return nil, false
30494}
30495
30496// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30497func (noe NodeOpeningEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30498	return nil, false
30499}
30500
30501// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30502func (noe NodeOpeningEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30503	return nil, false
30504}
30505
30506// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30507func (noe NodeOpeningEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30508	return nil, false
30509}
30510
30511// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30512func (noe NodeOpeningEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30513	return nil, false
30514}
30515
30516// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30517func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30518	return nil, false
30519}
30520
30521// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30522func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30523	return nil, false
30524}
30525
30526// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30527func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30528	return nil, false
30529}
30530
30531// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30532func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30533	return nil, false
30534}
30535
30536// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30537func (noe NodeOpeningEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30538	return nil, false
30539}
30540
30541// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30542func (noe NodeOpeningEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30543	return nil, false
30544}
30545
30546// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30547func (noe NodeOpeningEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30548	return nil, false
30549}
30550
30551// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30552func (noe NodeOpeningEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30553	return nil, false
30554}
30555
30556// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30557func (noe NodeOpeningEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30558	return nil, false
30559}
30560
30561// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30562func (noe NodeOpeningEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30563	return nil, false
30564}
30565
30566// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30567func (noe NodeOpeningEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30568	return nil, false
30569}
30570
30571// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30572func (noe NodeOpeningEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30573	return nil, false
30574}
30575
30576// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30577func (noe NodeOpeningEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30578	return nil, false
30579}
30580
30581// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30582func (noe NodeOpeningEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30583	return nil, false
30584}
30585
30586// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30587func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30588	return nil, false
30589}
30590
30591// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30592func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30593	return nil, false
30594}
30595
30596// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30597func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30598	return nil, false
30599}
30600
30601// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30602func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30603	return nil, false
30604}
30605
30606// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30607func (noe NodeOpeningEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30608	return nil, false
30609}
30610
30611// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30612func (noe NodeOpeningEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30613	return nil, false
30614}
30615
30616// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30617func (noe NodeOpeningEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30618	return nil, false
30619}
30620
30621// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30622func (noe NodeOpeningEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30623	return nil, false
30624}
30625
30626// AsFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30627func (noe NodeOpeningEvent) AsFabricEvent() (*FabricEvent, bool) {
30628	return nil, false
30629}
30630
30631// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30632func (noe NodeOpeningEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30633	return &noe, true
30634}
30635
30636// NodeRemovedEvent node Removed event.
30637type NodeRemovedEvent struct {
30638	// NodeID - Id of Node.
30639	NodeID *string `json:"NodeId,omitempty"`
30640	// NodeInstance - Id of Node instance.
30641	NodeInstance *int64 `json:"NodeInstance,omitempty"`
30642	// NodeType - Type of Node.
30643	NodeType *string `json:"NodeType,omitempty"`
30644	// FabricVersion - Fabric version.
30645	FabricVersion *string `json:"FabricVersion,omitempty"`
30646	// IPAddressOrFQDN - IP address or FQDN.
30647	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
30648	// NodeCapacities - Capacities.
30649	NodeCapacities *string `json:"NodeCapacities,omitempty"`
30650	// NodeName - The name of a Service Fabric node.
30651	NodeName *string `json:"NodeName,omitempty"`
30652	// EventInstanceID - The identifier for the FabricEvent instance.
30653	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30654	// TimeStamp - The time event was logged.
30655	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30656	// HasCorrelatedEvents - Shows there is existing related events available.
30657	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30658	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
30659	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30660}
30661
30662// MarshalJSON is the custom marshaler for NodeRemovedEvent.
30663func (nre NodeRemovedEvent) MarshalJSON() ([]byte, error) {
30664	nre.Kind = KindNodeRemoved
30665	objectMap := make(map[string]interface{})
30666	if nre.NodeID != nil {
30667		objectMap["NodeId"] = nre.NodeID
30668	}
30669	if nre.NodeInstance != nil {
30670		objectMap["NodeInstance"] = nre.NodeInstance
30671	}
30672	if nre.NodeType != nil {
30673		objectMap["NodeType"] = nre.NodeType
30674	}
30675	if nre.FabricVersion != nil {
30676		objectMap["FabricVersion"] = nre.FabricVersion
30677	}
30678	if nre.IPAddressOrFQDN != nil {
30679		objectMap["IpAddressOrFQDN"] = nre.IPAddressOrFQDN
30680	}
30681	if nre.NodeCapacities != nil {
30682		objectMap["NodeCapacities"] = nre.NodeCapacities
30683	}
30684	if nre.NodeName != nil {
30685		objectMap["NodeName"] = nre.NodeName
30686	}
30687	if nre.EventInstanceID != nil {
30688		objectMap["EventInstanceId"] = nre.EventInstanceID
30689	}
30690	if nre.TimeStamp != nil {
30691		objectMap["TimeStamp"] = nre.TimeStamp
30692	}
30693	if nre.HasCorrelatedEvents != nil {
30694		objectMap["HasCorrelatedEvents"] = nre.HasCorrelatedEvents
30695	}
30696	if nre.Kind != "" {
30697		objectMap["Kind"] = nre.Kind
30698	}
30699	return json.Marshal(objectMap)
30700}
30701
30702// AsApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30703func (nre NodeRemovedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30704	return nil, false
30705}
30706
30707// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30708func (nre NodeRemovedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30709	return nil, false
30710}
30711
30712// AsClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30713func (nre NodeRemovedEvent) AsClusterEvent() (*ClusterEvent, bool) {
30714	return nil, false
30715}
30716
30717// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30718func (nre NodeRemovedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
30719	return nil, false
30720}
30721
30722// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30723func (nre NodeRemovedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
30724	return nil, false
30725}
30726
30727// AsNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30728func (nre NodeRemovedEvent) AsNodeEvent() (*NodeEvent, bool) {
30729	return nil, false
30730}
30731
30732// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30733func (nre NodeRemovedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
30734	return &nre, true
30735}
30736
30737// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30738func (nre NodeRemovedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
30739	return nil, false
30740}
30741
30742// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30743func (nre NodeRemovedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
30744	return nil, false
30745}
30746
30747// AsPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30748func (nre NodeRemovedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
30749	return nil, false
30750}
30751
30752// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30753func (nre NodeRemovedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
30754	return nil, false
30755}
30756
30757// AsReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30758func (nre NodeRemovedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
30759	return nil, false
30760}
30761
30762// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30763func (nre NodeRemovedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
30764	return nil, false
30765}
30766
30767// AsServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30768func (nre NodeRemovedEvent) AsServiceEvent() (*ServiceEvent, bool) {
30769	return nil, false
30770}
30771
30772// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30773func (nre NodeRemovedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
30774	return nil, false
30775}
30776
30777// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30778func (nre NodeRemovedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
30779	return nil, false
30780}
30781
30782// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30783func (nre NodeRemovedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
30784	return nil, false
30785}
30786
30787// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30788func (nre NodeRemovedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
30789	return nil, false
30790}
30791
30792// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30793func (nre NodeRemovedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
30794	return nil, false
30795}
30796
30797// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30798func (nre NodeRemovedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
30799	return nil, false
30800}
30801
30802// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30803func (nre NodeRemovedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
30804	return nil, false
30805}
30806
30807// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30808func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
30809	return nil, false
30810}
30811
30812// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30813func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
30814	return nil, false
30815}
30816
30817// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30818func (nre NodeRemovedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
30819	return nil, false
30820}
30821
30822// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30823func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
30824	return nil, false
30825}
30826
30827// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30828func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
30829	return nil, false
30830}
30831
30832// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30833func (nre NodeRemovedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
30834	return nil, false
30835}
30836
30837// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30838func (nre NodeRemovedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
30839	return nil, false
30840}
30841
30842// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30843func (nre NodeRemovedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
30844	return nil, false
30845}
30846
30847// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30848func (nre NodeRemovedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
30849	return nil, false
30850}
30851
30852// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30853func (nre NodeRemovedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
30854	return nil, false
30855}
30856
30857// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30858func (nre NodeRemovedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
30859	return nil, false
30860}
30861
30862// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30863func (nre NodeRemovedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
30864	return nil, false
30865}
30866
30867// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30868func (nre NodeRemovedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
30869	return nil, false
30870}
30871
30872// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30873func (nre NodeRemovedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
30874	return nil, false
30875}
30876
30877// AsNodeDownEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30878func (nre NodeRemovedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
30879	return nil, false
30880}
30881
30882// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30883func (nre NodeRemovedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
30884	return nil, false
30885}
30886
30887// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30888func (nre NodeRemovedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
30889	return nil, false
30890}
30891
30892// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30893func (nre NodeRemovedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
30894	return nil, false
30895}
30896
30897// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30898func (nre NodeRemovedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
30899	return nil, false
30900}
30901
30902// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30903func (nre NodeRemovedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
30904	return nil, false
30905}
30906
30907// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30908func (nre NodeRemovedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
30909	return &nre, true
30910}
30911
30912// AsNodeUpEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30913func (nre NodeRemovedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30914	return nil, false
30915}
30916
30917// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30918func (nre NodeRemovedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30919	return nil, false
30920}
30921
30922// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30923func (nre NodeRemovedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
30924	return nil, false
30925}
30926
30927// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30928func (nre NodeRemovedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30929	return nil, false
30930}
30931
30932// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30933func (nre NodeRemovedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30934	return nil, false
30935}
30936
30937// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30938func (nre NodeRemovedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30939	return nil, false
30940}
30941
30942// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30943func (nre NodeRemovedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30944	return nil, false
30945}
30946
30947// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30948func (nre NodeRemovedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30949	return nil, false
30950}
30951
30952// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30953func (nre NodeRemovedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30954	return nil, false
30955}
30956
30957// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30958func (nre NodeRemovedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30959	return nil, false
30960}
30961
30962// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30963func (nre NodeRemovedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30964	return nil, false
30965}
30966
30967// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30968func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30969	return nil, false
30970}
30971
30972// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30973func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30974	return nil, false
30975}
30976
30977// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30978func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30979	return nil, false
30980}
30981
30982// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30983func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30984	return nil, false
30985}
30986
30987// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30988func (nre NodeRemovedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30989	return nil, false
30990}
30991
30992// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30993func (nre NodeRemovedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30994	return nil, false
30995}
30996
30997// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30998func (nre NodeRemovedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30999	return nil, false
31000}
31001
31002// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31003func (nre NodeRemovedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
31004	return nil, false
31005}
31006
31007// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31008func (nre NodeRemovedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
31009	return nil, false
31010}
31011
31012// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31013func (nre NodeRemovedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
31014	return nil, false
31015}
31016
31017// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31018func (nre NodeRemovedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
31019	return nil, false
31020}
31021
31022// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31023func (nre NodeRemovedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
31024	return nil, false
31025}
31026
31027// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31028func (nre NodeRemovedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
31029	return nil, false
31030}
31031
31032// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31033func (nre NodeRemovedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
31034	return nil, false
31035}
31036
31037// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31038func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
31039	return nil, false
31040}
31041
31042// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31043func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
31044	return nil, false
31045}
31046
31047// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31048func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
31049	return nil, false
31050}
31051
31052// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31053func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
31054	return nil, false
31055}
31056
31057// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31058func (nre NodeRemovedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
31059	return nil, false
31060}
31061
31062// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31063func (nre NodeRemovedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
31064	return nil, false
31065}
31066
31067// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31068func (nre NodeRemovedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
31069	return nil, false
31070}
31071
31072// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31073func (nre NodeRemovedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
31074	return nil, false
31075}
31076
31077// AsFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31078func (nre NodeRemovedEvent) AsFabricEvent() (*FabricEvent, bool) {
31079	return nil, false
31080}
31081
31082// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
31083func (nre NodeRemovedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
31084	return &nre, true
31085}
31086
31087// NodeRepairImpactDescription describes the expected impact of a repair on a set of nodes.
31088//
31089// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
31090type NodeRepairImpactDescription struct {
31091	// NodeImpactList - The list of nodes impacted by a repair action and their respective expected impact.
31092	NodeImpactList *[]NodeImpact `json:"NodeImpactList,omitempty"`
31093	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
31094	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
31095}
31096
31097// MarshalJSON is the custom marshaler for NodeRepairImpactDescription.
31098func (nrid NodeRepairImpactDescription) MarshalJSON() ([]byte, error) {
31099	nrid.Kind = KindBasicRepairImpactDescriptionBaseKindNode
31100	objectMap := make(map[string]interface{})
31101	if nrid.NodeImpactList != nil {
31102		objectMap["NodeImpactList"] = nrid.NodeImpactList
31103	}
31104	if nrid.Kind != "" {
31105		objectMap["Kind"] = nrid.Kind
31106	}
31107	return json.Marshal(objectMap)
31108}
31109
31110// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
31111func (nrid NodeRepairImpactDescription) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
31112	return &nrid, true
31113}
31114
31115// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
31116func (nrid NodeRepairImpactDescription) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
31117	return nil, false
31118}
31119
31120// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
31121func (nrid NodeRepairImpactDescription) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
31122	return &nrid, true
31123}
31124
31125// NodeRepairTargetDescription describes the list of nodes targeted by a repair action.
31126//
31127// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
31128type NodeRepairTargetDescription struct {
31129	// NodeNames - The list of nodes targeted by a repair action.
31130	NodeNames *[]string `json:"NodeNames,omitempty"`
31131	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
31132	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
31133}
31134
31135// MarshalJSON is the custom marshaler for NodeRepairTargetDescription.
31136func (nrtd NodeRepairTargetDescription) MarshalJSON() ([]byte, error) {
31137	nrtd.Kind = KindBasicRepairTargetDescriptionBaseKindNode
31138	objectMap := make(map[string]interface{})
31139	if nrtd.NodeNames != nil {
31140		objectMap["NodeNames"] = nrtd.NodeNames
31141	}
31142	if nrtd.Kind != "" {
31143		objectMap["Kind"] = nrtd.Kind
31144	}
31145	return json.Marshal(objectMap)
31146}
31147
31148// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
31149func (nrtd NodeRepairTargetDescription) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
31150	return &nrtd, true
31151}
31152
31153// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
31154func (nrtd NodeRepairTargetDescription) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
31155	return nil, false
31156}
31157
31158// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
31159func (nrtd NodeRepairTargetDescription) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
31160	return &nrtd, true
31161}
31162
31163// NodeResult contains information about a node that was targeted by a user-induced operation.
31164type NodeResult struct {
31165	// NodeName - The name of a Service Fabric node.
31166	NodeName *string `json:"NodeName,omitempty"`
31167	// NodeInstanceID - The node instance id.
31168	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
31169}
31170
31171// NodesHealthEvaluation represents health evaluation for nodes, containing health evaluations for each
31172// unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster
31173// health and the aggregated health state is either Error or Warning.
31174type NodesHealthEvaluation struct {
31175	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
31176	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
31177	// TotalCount - Total number of nodes found in the health store.
31178	TotalCount *int64 `json:"TotalCount,omitempty"`
31179	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
31180	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
31181	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
31182	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
31183	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
31184	Description *string `json:"Description,omitempty"`
31185	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
31186	Kind Kind `json:"Kind,omitempty"`
31187}
31188
31189// MarshalJSON is the custom marshaler for NodesHealthEvaluation.
31190func (nhe NodesHealthEvaluation) MarshalJSON() ([]byte, error) {
31191	nhe.Kind = KindNodes
31192	objectMap := make(map[string]interface{})
31193	if nhe.MaxPercentUnhealthyNodes != nil {
31194		objectMap["MaxPercentUnhealthyNodes"] = nhe.MaxPercentUnhealthyNodes
31195	}
31196	if nhe.TotalCount != nil {
31197		objectMap["TotalCount"] = nhe.TotalCount
31198	}
31199	if nhe.UnhealthyEvaluations != nil {
31200		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
31201	}
31202	if nhe.AggregatedHealthState != "" {
31203		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
31204	}
31205	if nhe.Description != nil {
31206		objectMap["Description"] = nhe.Description
31207	}
31208	if nhe.Kind != "" {
31209		objectMap["Kind"] = nhe.Kind
31210	}
31211	return json.Marshal(objectMap)
31212}
31213
31214// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31215func (nhe NodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
31216	return nil, false
31217}
31218
31219// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31220func (nhe NodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
31221	return nil, false
31222}
31223
31224// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31225func (nhe NodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
31226	return nil, false
31227}
31228
31229// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31230func (nhe NodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
31231	return nil, false
31232}
31233
31234// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31235func (nhe NodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
31236	return nil, false
31237}
31238
31239// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31240func (nhe NodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
31241	return nil, false
31242}
31243
31244// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31245func (nhe NodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
31246	return nil, false
31247}
31248
31249// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31250func (nhe NodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
31251	return nil, false
31252}
31253
31254// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31255func (nhe NodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
31256	return nil, false
31257}
31258
31259// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31260func (nhe NodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
31261	return nil, false
31262}
31263
31264// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31265func (nhe NodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
31266	return &nhe, true
31267}
31268
31269// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31270func (nhe NodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
31271	return nil, false
31272}
31273
31274// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31275func (nhe NodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
31276	return nil, false
31277}
31278
31279// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31280func (nhe NodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
31281	return nil, false
31282}
31283
31284// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31285func (nhe NodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
31286	return nil, false
31287}
31288
31289// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31290func (nhe NodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
31291	return nil, false
31292}
31293
31294// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31295func (nhe NodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
31296	return nil, false
31297}
31298
31299// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31300func (nhe NodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
31301	return nil, false
31302}
31303
31304// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31305func (nhe NodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
31306	return nil, false
31307}
31308
31309// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31310func (nhe NodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
31311	return nil, false
31312}
31313
31314// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31315func (nhe NodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
31316	return nil, false
31317}
31318
31319// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
31320func (nhe NodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
31321	return &nhe, true
31322}
31323
31324// NodeTransitionProgress information about an NodeTransition operation.  This class contains an
31325// OperationState and a NodeTransitionResult.  The NodeTransitionResult is not valid until OperationState
31326// is Completed or Faulted.
31327type NodeTransitionProgress struct {
31328	autorest.Response `json:"-"`
31329	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
31330	State OperationState `json:"State,omitempty"`
31331	// NodeTransitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
31332	NodeTransitionResult *NodeTransitionResult `json:"NodeTransitionResult,omitempty"`
31333}
31334
31335// NodeTransitionResult represents information about an operation in a terminal state (Completed or
31336// Faulted).
31337type NodeTransitionResult struct {
31338	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
31339	ErrorCode *int32 `json:"ErrorCode,omitempty"`
31340	// NodeResult - Contains information about a node that was targeted by a user-induced operation.
31341	NodeResult *NodeResult `json:"NodeResult,omitempty"`
31342}
31343
31344// NodeUpEvent node Up event.
31345type NodeUpEvent struct {
31346	// NodeInstance - Id of Node instance.
31347	NodeInstance *int64 `json:"NodeInstance,omitempty"`
31348	// LastNodeDownAt - Time when Node was last down.
31349	LastNodeDownAt *date.Time `json:"LastNodeDownAt,omitempty"`
31350	// NodeName - The name of a Service Fabric node.
31351	NodeName *string `json:"NodeName,omitempty"`
31352	// EventInstanceID - The identifier for the FabricEvent instance.
31353	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
31354	// TimeStamp - The time event was logged.
31355	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
31356	// HasCorrelatedEvents - Shows there is existing related events available.
31357	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
31358	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
31359	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
31360}
31361
31362// MarshalJSON is the custom marshaler for NodeUpEvent.
31363func (nue NodeUpEvent) MarshalJSON() ([]byte, error) {
31364	nue.Kind = KindNodeUp
31365	objectMap := make(map[string]interface{})
31366	if nue.NodeInstance != nil {
31367		objectMap["NodeInstance"] = nue.NodeInstance
31368	}
31369	if nue.LastNodeDownAt != nil {
31370		objectMap["LastNodeDownAt"] = nue.LastNodeDownAt
31371	}
31372	if nue.NodeName != nil {
31373		objectMap["NodeName"] = nue.NodeName
31374	}
31375	if nue.EventInstanceID != nil {
31376		objectMap["EventInstanceId"] = nue.EventInstanceID
31377	}
31378	if nue.TimeStamp != nil {
31379		objectMap["TimeStamp"] = nue.TimeStamp
31380	}
31381	if nue.HasCorrelatedEvents != nil {
31382		objectMap["HasCorrelatedEvents"] = nue.HasCorrelatedEvents
31383	}
31384	if nue.Kind != "" {
31385		objectMap["Kind"] = nue.Kind
31386	}
31387	return json.Marshal(objectMap)
31388}
31389
31390// AsApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
31391func (nue NodeUpEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
31392	return nil, false
31393}
31394
31395// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
31396func (nue NodeUpEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
31397	return nil, false
31398}
31399
31400// AsClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
31401func (nue NodeUpEvent) AsClusterEvent() (*ClusterEvent, bool) {
31402	return nil, false
31403}
31404
31405// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
31406func (nue NodeUpEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
31407	return nil, false
31408}
31409
31410// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeUpEvent.
31411func (nue NodeUpEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
31412	return nil, false
31413}
31414
31415// AsNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
31416func (nue NodeUpEvent) AsNodeEvent() (*NodeEvent, bool) {
31417	return nil, false
31418}
31419
31420// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
31421func (nue NodeUpEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
31422	return &nue, true
31423}
31424
31425// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
31426func (nue NodeUpEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
31427	return nil, false
31428}
31429
31430// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
31431func (nue NodeUpEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
31432	return nil, false
31433}
31434
31435// AsPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
31436func (nue NodeUpEvent) AsPartitionEvent() (*PartitionEvent, bool) {
31437	return nil, false
31438}
31439
31440// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
31441func (nue NodeUpEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
31442	return nil, false
31443}
31444
31445// AsReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
31446func (nue NodeUpEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
31447	return nil, false
31448}
31449
31450// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
31451func (nue NodeUpEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
31452	return nil, false
31453}
31454
31455// AsServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
31456func (nue NodeUpEvent) AsServiceEvent() (*ServiceEvent, bool) {
31457	return nil, false
31458}
31459
31460// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
31461func (nue NodeUpEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
31462	return nil, false
31463}
31464
31465// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31466func (nue NodeUpEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
31467	return nil, false
31468}
31469
31470// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31471func (nue NodeUpEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
31472	return nil, false
31473}
31474
31475// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31476func (nue NodeUpEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
31477	return nil, false
31478}
31479
31480// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31481func (nue NodeUpEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
31482	return nil, false
31483}
31484
31485// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31486func (nue NodeUpEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
31487	return nil, false
31488}
31489
31490// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31491func (nue NodeUpEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
31492	return nil, false
31493}
31494
31495// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31496func (nue NodeUpEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
31497	return nil, false
31498}
31499
31500// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31501func (nue NodeUpEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
31502	return nil, false
31503}
31504
31505// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31506func (nue NodeUpEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
31507	return nil, false
31508}
31509
31510// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31511func (nue NodeUpEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
31512	return nil, false
31513}
31514
31515// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31516func (nue NodeUpEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
31517	return nil, false
31518}
31519
31520// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31521func (nue NodeUpEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
31522	return nil, false
31523}
31524
31525// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31526func (nue NodeUpEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
31527	return nil, false
31528}
31529
31530// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31531func (nue NodeUpEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
31532	return nil, false
31533}
31534
31535// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeUpEvent.
31536func (nue NodeUpEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
31537	return nil, false
31538}
31539
31540// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31541func (nue NodeUpEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
31542	return nil, false
31543}
31544
31545// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeUpEvent.
31546func (nue NodeUpEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
31547	return nil, false
31548}
31549
31550// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeUpEvent.
31551func (nue NodeUpEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
31552	return nil, false
31553}
31554
31555// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31556func (nue NodeUpEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
31557	return nil, false
31558}
31559
31560// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31561func (nue NodeUpEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
31562	return nil, false
31563}
31564
31565// AsNodeDownEvent is the BasicFabricEvent implementation for NodeUpEvent.
31566func (nue NodeUpEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
31567	return nil, false
31568}
31569
31570// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31571func (nue NodeUpEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
31572	return nil, false
31573}
31574
31575// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31576func (nue NodeUpEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
31577	return nil, false
31578}
31579
31580// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeUpEvent.
31581func (nue NodeUpEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
31582	return nil, false
31583}
31584
31585// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31586func (nue NodeUpEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
31587	return nil, false
31588}
31589
31590// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeUpEvent.
31591func (nue NodeUpEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
31592	return nil, false
31593}
31594
31595// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31596func (nue NodeUpEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
31597	return nil, false
31598}
31599
31600// AsNodeUpEvent is the BasicFabricEvent implementation for NodeUpEvent.
31601func (nue NodeUpEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
31602	return &nue, true
31603}
31604
31605// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31606func (nue NodeUpEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
31607	return nil, false
31608}
31609
31610// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31611func (nue NodeUpEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
31612	return nil, false
31613}
31614
31615// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31616func (nue NodeUpEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
31617	return nil, false
31618}
31619
31620// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
31621func (nue NodeUpEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
31622	return nil, false
31623}
31624
31625// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31626func (nue NodeUpEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
31627	return nil, false
31628}
31629
31630// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31631func (nue NodeUpEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
31632	return nil, false
31633}
31634
31635// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31636func (nue NodeUpEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
31637	return nil, false
31638}
31639
31640// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31641func (nue NodeUpEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
31642	return nil, false
31643}
31644
31645// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31646func (nue NodeUpEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
31647	return nil, false
31648}
31649
31650// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31651func (nue NodeUpEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
31652	return nil, false
31653}
31654
31655// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31656func (nue NodeUpEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
31657	return nil, false
31658}
31659
31660// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31661func (nue NodeUpEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
31662	return nil, false
31663}
31664
31665// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31666func (nue NodeUpEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
31667	return nil, false
31668}
31669
31670// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31671func (nue NodeUpEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
31672	return nil, false
31673}
31674
31675// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31676func (nue NodeUpEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
31677	return nil, false
31678}
31679
31680// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31681func (nue NodeUpEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
31682	return nil, false
31683}
31684
31685// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31686func (nue NodeUpEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
31687	return nil, false
31688}
31689
31690// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31691func (nue NodeUpEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
31692	return nil, false
31693}
31694
31695// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31696func (nue NodeUpEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
31697	return nil, false
31698}
31699
31700// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31701func (nue NodeUpEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
31702	return nil, false
31703}
31704
31705// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31706func (nue NodeUpEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
31707	return nil, false
31708}
31709
31710// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31711func (nue NodeUpEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
31712	return nil, false
31713}
31714
31715// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31716func (nue NodeUpEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
31717	return nil, false
31718}
31719
31720// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31721func (nue NodeUpEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
31722	return nil, false
31723}
31724
31725// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31726func (nue NodeUpEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
31727	return nil, false
31728}
31729
31730// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31731func (nue NodeUpEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
31732	return nil, false
31733}
31734
31735// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31736func (nue NodeUpEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
31737	return nil, false
31738}
31739
31740// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31741func (nue NodeUpEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
31742	return nil, false
31743}
31744
31745// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31746func (nue NodeUpEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
31747	return nil, false
31748}
31749
31750// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31751func (nue NodeUpEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
31752	return nil, false
31753}
31754
31755// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31756func (nue NodeUpEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
31757	return nil, false
31758}
31759
31760// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31761func (nue NodeUpEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
31762	return nil, false
31763}
31764
31765// AsFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
31766func (nue NodeUpEvent) AsFabricEvent() (*FabricEvent, bool) {
31767	return nil, false
31768}
31769
31770// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
31771func (nue NodeUpEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
31772	return &nue, true
31773}
31774
31775// NodeUpgradeProgressInfo information about the upgrading node and its status
31776type NodeUpgradeProgressInfo struct {
31777	// NodeName - The name of a Service Fabric node.
31778	NodeName *string `json:"NodeName,omitempty"`
31779	// UpgradePhase - The state of the upgrading node. Possible values include: 'NodeUpgradePhaseInvalid', 'NodeUpgradePhasePreUpgradeSafetyCheck', 'NodeUpgradePhaseUpgrading', 'NodeUpgradePhasePostUpgradeSafetyCheck'
31780	UpgradePhase NodeUpgradePhase `json:"UpgradePhase,omitempty"`
31781	// PendingSafetyChecks - List of pending safety checks
31782	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
31783}
31784
31785// OperationStatus contains the OperationId, OperationState, and OperationType for user-induced operations.
31786type OperationStatus struct {
31787	// OperationID - A GUID that identifies a call to this API.  This is also passed into the corresponding GetProgress API.
31788	OperationID *uuid.UUID `json:"OperationId,omitempty"`
31789	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
31790	State OperationState `json:"State,omitempty"`
31791	// Type - The type of the operation. Possible values include: 'OperationTypeInvalid', 'OperationTypePartitionDataLoss', 'OperationTypePartitionQuorumLoss', 'OperationTypePartitionRestart', 'OperationTypeNodeTransition'
31792	Type OperationType `json:"Type,omitempty"`
31793}
31794
31795// PackageSharingPolicyInfo represents a policy for the package sharing.
31796type PackageSharingPolicyInfo struct {
31797	// SharedPackageName - The name of code, configuration or data package that should be shared.
31798	SharedPackageName *string `json:"SharedPackageName,omitempty"`
31799	// PackageSharingScope - Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation. Possible values include: 'PackageSharingPolicyScopeNone', 'PackageSharingPolicyScopeAll', 'PackageSharingPolicyScopeCode', 'PackageSharingPolicyScopeConfig', 'PackageSharingPolicyScopeData'
31800	PackageSharingScope PackageSharingPolicyScope `json:"PackageSharingScope,omitempty"`
31801}
31802
31803// PagedApplicationInfoList the list of applications in the cluster. The list is paged when all of the
31804// results cannot fit in a single message. The next set of results can be obtained by executing the same
31805// query with the continuation token provided in this list.
31806type PagedApplicationInfoList struct {
31807	autorest.Response `json:"-"`
31808	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31809	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31810	// Items - List of application information.
31811	Items *[]ApplicationInfo `json:"Items,omitempty"`
31812}
31813
31814// PagedApplicationTypeInfoList the list of application types that are provisioned or being provisioned in
31815// the cluster. The list is paged when all of the results cannot fit in a single message. The next set of
31816// results can be obtained by executing the same query with the continuation token provided in this list.
31817type PagedApplicationTypeInfoList struct {
31818	autorest.Response `json:"-"`
31819	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31820	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31821	// Items - List of application type information.
31822	Items *[]ApplicationTypeInfo `json:"Items,omitempty"`
31823}
31824
31825// PagedBackupConfigurationInfoList the list of backup configuration information. The list is paged when
31826// all of the results cannot fit in a single message. The next set of results can be obtained by executing
31827// the same query with the continuation token provided in this list.
31828type PagedBackupConfigurationInfoList struct {
31829	autorest.Response `json:"-"`
31830	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31831	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31832	// Items - List of backup configuration information.
31833	Items *[]BasicBackupConfigurationInfo `json:"Items,omitempty"`
31834}
31835
31836// UnmarshalJSON is the custom unmarshaler for PagedBackupConfigurationInfoList struct.
31837func (pbcil *PagedBackupConfigurationInfoList) UnmarshalJSON(body []byte) error {
31838	var m map[string]*json.RawMessage
31839	err := json.Unmarshal(body, &m)
31840	if err != nil {
31841		return err
31842	}
31843	for k, v := range m {
31844		switch k {
31845		case "ContinuationToken":
31846			if v != nil {
31847				var continuationToken string
31848				err = json.Unmarshal(*v, &continuationToken)
31849				if err != nil {
31850					return err
31851				}
31852				pbcil.ContinuationToken = &continuationToken
31853			}
31854		case "Items":
31855			if v != nil {
31856				items, err := unmarshalBasicBackupConfigurationInfoArray(*v)
31857				if err != nil {
31858					return err
31859				}
31860				pbcil.Items = &items
31861			}
31862		}
31863	}
31864
31865	return nil
31866}
31867
31868// PagedBackupEntityList the list of backup entities that are being periodically backed. The list is paged
31869// when all of the results cannot fit in a single message. The next set of results can be obtained by
31870// executing the same query with the continuation token provided in this list.
31871type PagedBackupEntityList struct {
31872	autorest.Response `json:"-"`
31873	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31874	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31875	// Items - List of backup entity information.
31876	Items *[]BasicBackupEntity `json:"Items,omitempty"`
31877}
31878
31879// UnmarshalJSON is the custom unmarshaler for PagedBackupEntityList struct.
31880func (pbel *PagedBackupEntityList) UnmarshalJSON(body []byte) error {
31881	var m map[string]*json.RawMessage
31882	err := json.Unmarshal(body, &m)
31883	if err != nil {
31884		return err
31885	}
31886	for k, v := range m {
31887		switch k {
31888		case "ContinuationToken":
31889			if v != nil {
31890				var continuationToken string
31891				err = json.Unmarshal(*v, &continuationToken)
31892				if err != nil {
31893					return err
31894				}
31895				pbel.ContinuationToken = &continuationToken
31896			}
31897		case "Items":
31898			if v != nil {
31899				items, err := unmarshalBasicBackupEntityArray(*v)
31900				if err != nil {
31901					return err
31902				}
31903				pbel.Items = &items
31904			}
31905		}
31906	}
31907
31908	return nil
31909}
31910
31911// PagedBackupInfoList the list of backups. The list is paged when all of the results cannot fit in a
31912// single message. The next set of results can be obtained by executing the same query with the
31913// continuation token provided in this list.
31914type PagedBackupInfoList struct {
31915	autorest.Response `json:"-"`
31916	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31917	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31918	// Items - List of backup information.
31919	Items *[]BackupInfo `json:"Items,omitempty"`
31920}
31921
31922// PagedBackupPolicyDescriptionList the list of backup policies configured in the cluster. The list is
31923// paged when all of the results cannot fit in a single message. The next set of results can be obtained by
31924// executing the same query with the continuation token provided in this list.
31925type PagedBackupPolicyDescriptionList struct {
31926	autorest.Response `json:"-"`
31927	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31928	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31929	// Items - The list of backup policies information.
31930	Items *[]BackupPolicyDescription `json:"Items,omitempty"`
31931}
31932
31933// PagedComposeDeploymentStatusInfoList the list of compose deployments in the cluster. The list is paged
31934// when all of the results cannot fit in a single message. The next set of results can be obtained by
31935// executing the same query with the continuation token provided in this list.
31936type PagedComposeDeploymentStatusInfoList struct {
31937	autorest.Response `json:"-"`
31938	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31939	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31940	// Items - List of compose deployment status information.
31941	Items *[]ComposeDeploymentStatusInfo `json:"Items,omitempty"`
31942}
31943
31944// PagedDeployedApplicationInfoList the list of deployed applications in activating, downloading, or active
31945// states on a node.
31946// The list is paged when all of the results cannot fit in a single message.
31947// The next set of results can be obtained by executing the same query with the continuation token provided
31948// in this list.
31949type PagedDeployedApplicationInfoList struct {
31950	autorest.Response `json:"-"`
31951	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31952	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31953	// Items - List of deployed application information.
31954	Items *[]DeployedApplicationInfo `json:"Items,omitempty"`
31955}
31956
31957// PagedNodeInfoList the list of nodes in the cluster. The list is paged when all of the results cannot fit
31958// in a single message. The next set of results can be obtained by executing the same query with the
31959// continuation token provided in this list.
31960type PagedNodeInfoList struct {
31961	autorest.Response `json:"-"`
31962	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31963	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31964	// Items - List of node information.
31965	Items *[]NodeInfo `json:"Items,omitempty"`
31966}
31967
31968// PagedPropertyInfoList the paged list of Service Fabric properties under a given name. The list is paged
31969// when all of the results cannot fit in a single message. The next set of results can be obtained by
31970// executing the same query with the continuation token provided in this list.
31971type PagedPropertyInfoList struct {
31972	autorest.Response `json:"-"`
31973	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31974	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31975	// IsConsistent - Indicates whether any property under the given name has been modified during the enumeration. If there was a modification, this property value is false.
31976	IsConsistent *bool `json:"IsConsistent,omitempty"`
31977	// Properties - List of property information.
31978	Properties *[]PropertyInfo `json:"Properties,omitempty"`
31979}
31980
31981// PagedReplicaInfoList the list of replicas in the cluster for a given partition. The list is paged when
31982// all of the results cannot fit in a single message. The next set of results can be obtained by executing
31983// the same query with the continuation token provided in this list.
31984type PagedReplicaInfoList struct {
31985	autorest.Response `json:"-"`
31986	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
31987	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31988	// Items - List of replica information.
31989	Items *[]BasicReplicaInfo `json:"Items,omitempty"`
31990}
31991
31992// UnmarshalJSON is the custom unmarshaler for PagedReplicaInfoList struct.
31993func (pril *PagedReplicaInfoList) UnmarshalJSON(body []byte) error {
31994	var m map[string]*json.RawMessage
31995	err := json.Unmarshal(body, &m)
31996	if err != nil {
31997		return err
31998	}
31999	for k, v := range m {
32000		switch k {
32001		case "ContinuationToken":
32002			if v != nil {
32003				var continuationToken string
32004				err = json.Unmarshal(*v, &continuationToken)
32005				if err != nil {
32006					return err
32007				}
32008				pril.ContinuationToken = &continuationToken
32009			}
32010		case "Items":
32011			if v != nil {
32012				items, err := unmarshalBasicReplicaInfoArray(*v)
32013				if err != nil {
32014					return err
32015				}
32016				pril.Items = &items
32017			}
32018		}
32019	}
32020
32021	return nil
32022}
32023
32024// PagedServiceInfoList the list of services in the cluster for an application. The list is paged when all
32025// of the results cannot fit in a single message. The next set of results can be obtained by executing the
32026// same query with the continuation token provided in this list.
32027type PagedServiceInfoList struct {
32028	autorest.Response `json:"-"`
32029	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
32030	ContinuationToken *string `json:"ContinuationToken,omitempty"`
32031	// Items - List of service information.
32032	Items *[]BasicServiceInfo `json:"Items,omitempty"`
32033}
32034
32035// UnmarshalJSON is the custom unmarshaler for PagedServiceInfoList struct.
32036func (psil *PagedServiceInfoList) UnmarshalJSON(body []byte) error {
32037	var m map[string]*json.RawMessage
32038	err := json.Unmarshal(body, &m)
32039	if err != nil {
32040		return err
32041	}
32042	for k, v := range m {
32043		switch k {
32044		case "ContinuationToken":
32045			if v != nil {
32046				var continuationToken string
32047				err = json.Unmarshal(*v, &continuationToken)
32048				if err != nil {
32049					return err
32050				}
32051				psil.ContinuationToken = &continuationToken
32052			}
32053		case "Items":
32054			if v != nil {
32055				items, err := unmarshalBasicServiceInfoArray(*v)
32056				if err != nil {
32057					return err
32058				}
32059				psil.Items = &items
32060			}
32061		}
32062	}
32063
32064	return nil
32065}
32066
32067// PagedServicePartitionInfoList the list of partition in the cluster for a service. The list is paged when
32068// all of the results cannot fit in a single message. The next set of results can be obtained by executing
32069// the same query with the continuation token provided in this list.
32070type PagedServicePartitionInfoList struct {
32071	autorest.Response `json:"-"`
32072	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
32073	ContinuationToken *string `json:"ContinuationToken,omitempty"`
32074	// Items - List of service partition information.
32075	Items *[]BasicServicePartitionInfo `json:"Items,omitempty"`
32076}
32077
32078// UnmarshalJSON is the custom unmarshaler for PagedServicePartitionInfoList struct.
32079func (pspil *PagedServicePartitionInfoList) UnmarshalJSON(body []byte) error {
32080	var m map[string]*json.RawMessage
32081	err := json.Unmarshal(body, &m)
32082	if err != nil {
32083		return err
32084	}
32085	for k, v := range m {
32086		switch k {
32087		case "ContinuationToken":
32088			if v != nil {
32089				var continuationToken string
32090				err = json.Unmarshal(*v, &continuationToken)
32091				if err != nil {
32092					return err
32093				}
32094				pspil.ContinuationToken = &continuationToken
32095			}
32096		case "Items":
32097			if v != nil {
32098				items, err := unmarshalBasicServicePartitionInfoArray(*v)
32099				if err != nil {
32100					return err
32101				}
32102				pspil.Items = &items
32103			}
32104		}
32105	}
32106
32107	return nil
32108}
32109
32110// PagedServiceResourceDescriptionList the list of service resources in the cluster. The list is paged when
32111// all of the results cannot fit in a single message. The next set of results can be obtained by executing
32112// the same query with the continuation token provided in this list.
32113type PagedServiceResourceDescriptionList struct {
32114	autorest.Response `json:"-"`
32115	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
32116	ContinuationToken *string `json:"ContinuationToken,omitempty"`
32117	// Items - List of service resource description.
32118	Items *[]ServiceResourceDescription `json:"Items,omitempty"`
32119}
32120
32121// PagedServiceResourceReplicaDescriptionList the list of service resources in the cluster. The list is
32122// paged when all of the results cannot fit in a single message. The next set of results can be obtained by
32123// executing the same query with the continuation token provided in this list.
32124type PagedServiceResourceReplicaDescriptionList struct {
32125	autorest.Response `json:"-"`
32126	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
32127	ContinuationToken *string `json:"ContinuationToken,omitempty"`
32128	// Items - List of service resource description.
32129	Items *[]ServiceResourceReplicaDescription `json:"Items,omitempty"`
32130}
32131
32132// PagedSubNameInfoList a paged list of Service Fabric names. The list is paged when all of the results
32133// cannot fit in a single message. The next set of results can be obtained by executing the same query with
32134// the continuation token provided in this list.
32135type PagedSubNameInfoList struct {
32136	autorest.Response `json:"-"`
32137	// ContinuationToken - The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response.
32138	ContinuationToken *string `json:"ContinuationToken,omitempty"`
32139	// IsConsistent - Indicates whether any name under the given name has been modified during the enumeration. If there was a modification, this property value is false.
32140	IsConsistent *bool `json:"IsConsistent,omitempty"`
32141	// SubNames - List of the child names.
32142	SubNames *[]string `json:"SubNames,omitempty"`
32143}
32144
32145// BasicPartitionAnalysisEvent represents the base for all Partition Analysis Events.
32146type BasicPartitionAnalysisEvent interface {
32147	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
32148	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
32149}
32150
32151// PartitionAnalysisEvent represents the base for all Partition Analysis Events.
32152type PartitionAnalysisEvent struct {
32153	// Metadata - Metadata about an Analysis Event.
32154	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
32155	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
32156	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32157	// EventInstanceID - The identifier for the FabricEvent instance.
32158	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
32159	// TimeStamp - The time event was logged.
32160	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
32161	// HasCorrelatedEvents - Shows there is existing related events available.
32162	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
32163	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
32164	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
32165}
32166
32167func unmarshalBasicPartitionAnalysisEvent(body []byte) (BasicPartitionAnalysisEvent, error) {
32168	var m map[string]interface{}
32169	err := json.Unmarshal(body, &m)
32170	if err != nil {
32171		return nil, err
32172	}
32173
32174	switch m["Kind"] {
32175	case string(KindPartitionPrimaryMoveAnalysis):
32176		var ppmae PartitionPrimaryMoveAnalysisEvent
32177		err := json.Unmarshal(body, &ppmae)
32178		return ppmae, err
32179	default:
32180		var pae PartitionAnalysisEvent
32181		err := json.Unmarshal(body, &pae)
32182		return pae, err
32183	}
32184}
32185func unmarshalBasicPartitionAnalysisEventArray(body []byte) ([]BasicPartitionAnalysisEvent, error) {
32186	var rawMessages []*json.RawMessage
32187	err := json.Unmarshal(body, &rawMessages)
32188	if err != nil {
32189		return nil, err
32190	}
32191
32192	paeArray := make([]BasicPartitionAnalysisEvent, len(rawMessages))
32193
32194	for index, rawMessage := range rawMessages {
32195		pae, err := unmarshalBasicPartitionAnalysisEvent(*rawMessage)
32196		if err != nil {
32197			return nil, err
32198		}
32199		paeArray[index] = pae
32200	}
32201	return paeArray, nil
32202}
32203
32204// MarshalJSON is the custom marshaler for PartitionAnalysisEvent.
32205func (pae PartitionAnalysisEvent) MarshalJSON() ([]byte, error) {
32206	pae.Kind = KindPartitionAnalysisEvent
32207	objectMap := make(map[string]interface{})
32208	if pae.Metadata != nil {
32209		objectMap["Metadata"] = pae.Metadata
32210	}
32211	if pae.PartitionID != nil {
32212		objectMap["PartitionId"] = pae.PartitionID
32213	}
32214	if pae.EventInstanceID != nil {
32215		objectMap["EventInstanceId"] = pae.EventInstanceID
32216	}
32217	if pae.TimeStamp != nil {
32218		objectMap["TimeStamp"] = pae.TimeStamp
32219	}
32220	if pae.HasCorrelatedEvents != nil {
32221		objectMap["HasCorrelatedEvents"] = pae.HasCorrelatedEvents
32222	}
32223	if pae.Kind != "" {
32224		objectMap["Kind"] = pae.Kind
32225	}
32226	return json.Marshal(objectMap)
32227}
32228
32229// AsApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32230func (pae PartitionAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32231	return nil, false
32232}
32233
32234// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32235func (pae PartitionAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32236	return nil, false
32237}
32238
32239// AsClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32240func (pae PartitionAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
32241	return nil, false
32242}
32243
32244// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32245func (pae PartitionAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32246	return nil, false
32247}
32248
32249// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32250func (pae PartitionAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32251	return nil, false
32252}
32253
32254// AsNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32255func (pae PartitionAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
32256	return nil, false
32257}
32258
32259// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32260func (pae PartitionAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32261	return nil, false
32262}
32263
32264// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32265func (pae PartitionAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32266	return &pae, true
32267}
32268
32269// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32270func (pae PartitionAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32271	return &pae, true
32272}
32273
32274// AsPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32275func (pae PartitionAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32276	return nil, false
32277}
32278
32279// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32280func (pae PartitionAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32281	return &pae, true
32282}
32283
32284// AsReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32285func (pae PartitionAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
32286	return nil, false
32287}
32288
32289// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32290func (pae PartitionAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
32291	return nil, false
32292}
32293
32294// AsServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32295func (pae PartitionAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
32296	return nil, false
32297}
32298
32299// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32300func (pae PartitionAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
32301	return nil, false
32302}
32303
32304// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32305func (pae PartitionAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
32306	return nil, false
32307}
32308
32309// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32310func (pae PartitionAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
32311	return nil, false
32312}
32313
32314// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32315func (pae PartitionAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
32316	return nil, false
32317}
32318
32319// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32320func (pae PartitionAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
32321	return nil, false
32322}
32323
32324// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32325func (pae PartitionAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
32326	return nil, false
32327}
32328
32329// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32330func (pae PartitionAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
32331	return nil, false
32332}
32333
32334// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32335func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
32336	return nil, false
32337}
32338
32339// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32340func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
32341	return nil, false
32342}
32343
32344// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32345func (pae PartitionAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
32346	return nil, false
32347}
32348
32349// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32350func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
32351	return nil, false
32352}
32353
32354// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32355func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
32356	return nil, false
32357}
32358
32359// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32360func (pae PartitionAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
32361	return nil, false
32362}
32363
32364// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32365func (pae PartitionAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
32366	return nil, false
32367}
32368
32369// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32370func (pae PartitionAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
32371	return nil, false
32372}
32373
32374// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32375func (pae PartitionAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
32376	return nil, false
32377}
32378
32379// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32380func (pae PartitionAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
32381	return nil, false
32382}
32383
32384// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32385func (pae PartitionAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
32386	return nil, false
32387}
32388
32389// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32390func (pae PartitionAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
32391	return nil, false
32392}
32393
32394// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32395func (pae PartitionAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
32396	return nil, false
32397}
32398
32399// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32400func (pae PartitionAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
32401	return nil, false
32402}
32403
32404// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32405func (pae PartitionAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
32406	return nil, false
32407}
32408
32409// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32410func (pae PartitionAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
32411	return nil, false
32412}
32413
32414// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32415func (pae PartitionAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
32416	return nil, false
32417}
32418
32419// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32420func (pae PartitionAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
32421	return nil, false
32422}
32423
32424// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32425func (pae PartitionAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
32426	return nil, false
32427}
32428
32429// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32430func (pae PartitionAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
32431	return nil, false
32432}
32433
32434// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32435func (pae PartitionAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
32436	return nil, false
32437}
32438
32439// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32440func (pae PartitionAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
32441	return nil, false
32442}
32443
32444// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32445func (pae PartitionAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
32446	return nil, false
32447}
32448
32449// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32450func (pae PartitionAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
32451	return nil, false
32452}
32453
32454// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32455func (pae PartitionAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
32456	return nil, false
32457}
32458
32459// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32460func (pae PartitionAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
32461	return nil, false
32462}
32463
32464// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32465func (pae PartitionAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
32466	return nil, false
32467}
32468
32469// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32470func (pae PartitionAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
32471	return nil, false
32472}
32473
32474// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32475func (pae PartitionAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
32476	return nil, false
32477}
32478
32479// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32480func (pae PartitionAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
32481	return nil, false
32482}
32483
32484// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32485func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
32486	return nil, false
32487}
32488
32489// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32490func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
32491	return nil, false
32492}
32493
32494// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32495func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
32496	return nil, false
32497}
32498
32499// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32500func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
32501	return nil, false
32502}
32503
32504// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32505func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
32506	return nil, false
32507}
32508
32509// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32510func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
32511	return nil, false
32512}
32513
32514// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32515func (pae PartitionAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
32516	return nil, false
32517}
32518
32519// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32520func (pae PartitionAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
32521	return nil, false
32522}
32523
32524// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32525func (pae PartitionAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
32526	return nil, false
32527}
32528
32529// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32530func (pae PartitionAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
32531	return nil, false
32532}
32533
32534// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32535func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
32536	return nil, false
32537}
32538
32539// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32540func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
32541	return nil, false
32542}
32543
32544// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32545func (pae PartitionAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
32546	return nil, false
32547}
32548
32549// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32550func (pae PartitionAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
32551	return nil, false
32552}
32553
32554// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32555func (pae PartitionAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
32556	return nil, false
32557}
32558
32559// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32560func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
32561	return nil, false
32562}
32563
32564// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32565func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
32566	return nil, false
32567}
32568
32569// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32570func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
32571	return nil, false
32572}
32573
32574// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32575func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
32576	return nil, false
32577}
32578
32579// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32580func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
32581	return nil, false
32582}
32583
32584// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32585func (pae PartitionAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
32586	return nil, false
32587}
32588
32589// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32590func (pae PartitionAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
32591	return nil, false
32592}
32593
32594// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32595func (pae PartitionAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
32596	return nil, false
32597}
32598
32599// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32600func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
32601	return nil, false
32602}
32603
32604// AsFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32605func (pae PartitionAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
32606	return nil, false
32607}
32608
32609// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32610func (pae PartitionAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
32611	return &pae, true
32612}
32613
32614// PartitionBackupConfigurationInfo backup configuration information, for a specific partition, specifying
32615// what backup policy is being applied and suspend description, if any.
32616type PartitionBackupConfigurationInfo struct {
32617	autorest.Response `json:"-"`
32618	// ServiceName - The full name of the service with 'fabric:' URI scheme.
32619	ServiceName *string `json:"ServiceName,omitempty"`
32620	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
32621	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32622	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
32623	PolicyName *string `json:"PolicyName,omitempty"`
32624	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
32625	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
32626	// SuspensionInfo - Describes the backup suspension details.
32627	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
32628	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
32629	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
32630}
32631
32632// MarshalJSON is the custom marshaler for PartitionBackupConfigurationInfo.
32633func (pbci PartitionBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
32634	pbci.Kind = KindBasicBackupConfigurationInfoKindPartition
32635	objectMap := make(map[string]interface{})
32636	if pbci.ServiceName != nil {
32637		objectMap["ServiceName"] = pbci.ServiceName
32638	}
32639	if pbci.PartitionID != nil {
32640		objectMap["PartitionId"] = pbci.PartitionID
32641	}
32642	if pbci.PolicyName != nil {
32643		objectMap["PolicyName"] = pbci.PolicyName
32644	}
32645	if pbci.PolicyInheritedFrom != "" {
32646		objectMap["PolicyInheritedFrom"] = pbci.PolicyInheritedFrom
32647	}
32648	if pbci.SuspensionInfo != nil {
32649		objectMap["SuspensionInfo"] = pbci.SuspensionInfo
32650	}
32651	if pbci.Kind != "" {
32652		objectMap["Kind"] = pbci.Kind
32653	}
32654	return json.Marshal(objectMap)
32655}
32656
32657// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32658func (pbci PartitionBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
32659	return nil, false
32660}
32661
32662// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32663func (pbci PartitionBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
32664	return nil, false
32665}
32666
32667// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32668func (pbci PartitionBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
32669	return &pbci, true
32670}
32671
32672// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32673func (pbci PartitionBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
32674	return nil, false
32675}
32676
32677// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32678func (pbci PartitionBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
32679	return &pbci, true
32680}
32681
32682// PartitionBackupEntity identifies the Service Fabric stateful partition which is being backed up.
32683type PartitionBackupEntity struct {
32684	// ServiceName - The full name of the service with 'fabric:' URI scheme.
32685	ServiceName *string `json:"ServiceName,omitempty"`
32686	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
32687	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32688	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
32689	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
32690}
32691
32692// MarshalJSON is the custom marshaler for PartitionBackupEntity.
32693func (pbe PartitionBackupEntity) MarshalJSON() ([]byte, error) {
32694	pbe.EntityKind = EntityKindPartition1
32695	objectMap := make(map[string]interface{})
32696	if pbe.ServiceName != nil {
32697		objectMap["ServiceName"] = pbe.ServiceName
32698	}
32699	if pbe.PartitionID != nil {
32700		objectMap["PartitionId"] = pbe.PartitionID
32701	}
32702	if pbe.EntityKind != "" {
32703		objectMap["EntityKind"] = pbe.EntityKind
32704	}
32705	return json.Marshal(objectMap)
32706}
32707
32708// AsApplicationBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32709func (pbe PartitionBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
32710	return nil, false
32711}
32712
32713// AsServiceBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32714func (pbe PartitionBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
32715	return nil, false
32716}
32717
32718// AsPartitionBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32719func (pbe PartitionBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
32720	return &pbe, true
32721}
32722
32723// AsBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32724func (pbe PartitionBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
32725	return nil, false
32726}
32727
32728// AsBasicBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32729func (pbe PartitionBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
32730	return &pbe, true
32731}
32732
32733// PartitionDataLossProgress information about a partition data loss user-induced operation.
32734type PartitionDataLossProgress struct {
32735	autorest.Response `json:"-"`
32736	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
32737	State OperationState `json:"State,omitempty"`
32738	// InvokeDataLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
32739	InvokeDataLossResult *InvokeDataLossResult `json:"InvokeDataLossResult,omitempty"`
32740}
32741
32742// BasicPartitionEvent represents the base for all Partition Events.
32743type BasicPartitionEvent interface {
32744	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
32745	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
32746	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
32747	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
32748	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
32749	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
32750	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
32751	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
32752	AsPartitionEvent() (*PartitionEvent, bool)
32753}
32754
32755// PartitionEvent represents the base for all Partition Events.
32756type PartitionEvent struct {
32757	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
32758	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32759	// EventInstanceID - The identifier for the FabricEvent instance.
32760	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
32761	// TimeStamp - The time event was logged.
32762	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
32763	// HasCorrelatedEvents - Shows there is existing related events available.
32764	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
32765	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
32766	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
32767}
32768
32769func unmarshalBasicPartitionEvent(body []byte) (BasicPartitionEvent, error) {
32770	var m map[string]interface{}
32771	err := json.Unmarshal(body, &m)
32772	if err != nil {
32773		return nil, err
32774	}
32775
32776	switch m["Kind"] {
32777	case string(KindPartitionAnalysisEvent):
32778		var pae PartitionAnalysisEvent
32779		err := json.Unmarshal(body, &pae)
32780		return pae, err
32781	case string(KindPartitionHealthReportCreated):
32782		var phrce PartitionHealthReportCreatedEvent
32783		err := json.Unmarshal(body, &phrce)
32784		return phrce, err
32785	case string(KindPartitionHealthReportExpired):
32786		var phree PartitionHealthReportExpiredEvent
32787		err := json.Unmarshal(body, &phree)
32788		return phree, err
32789	case string(KindPartitionReconfigurationCompleted):
32790		var prce PartitionReconfigurationCompletedEvent
32791		err := json.Unmarshal(body, &prce)
32792		return prce, err
32793	case string(KindPartitionPrimaryMoveAnalysis):
32794		var ppmae PartitionPrimaryMoveAnalysisEvent
32795		err := json.Unmarshal(body, &ppmae)
32796		return ppmae, err
32797	case string(KindChaosMoveSecondaryFaultScheduled):
32798		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
32799		err := json.Unmarshal(body, &cmsfse)
32800		return cmsfse, err
32801	case string(KindChaosMovePrimaryFaultScheduled):
32802		var cmpfse ChaosMovePrimaryFaultScheduledEvent
32803		err := json.Unmarshal(body, &cmpfse)
32804		return cmpfse, err
32805	default:
32806		var peVar PartitionEvent
32807		err := json.Unmarshal(body, &peVar)
32808		return peVar, err
32809	}
32810}
32811func unmarshalBasicPartitionEventArray(body []byte) ([]BasicPartitionEvent, error) {
32812	var rawMessages []*json.RawMessage
32813	err := json.Unmarshal(body, &rawMessages)
32814	if err != nil {
32815		return nil, err
32816	}
32817
32818	peVarArray := make([]BasicPartitionEvent, len(rawMessages))
32819
32820	for index, rawMessage := range rawMessages {
32821		peVar, err := unmarshalBasicPartitionEvent(*rawMessage)
32822		if err != nil {
32823			return nil, err
32824		}
32825		peVarArray[index] = peVar
32826	}
32827	return peVarArray, nil
32828}
32829
32830// MarshalJSON is the custom marshaler for PartitionEvent.
32831func (peVar PartitionEvent) MarshalJSON() ([]byte, error) {
32832	peVar.Kind = KindPartitionEvent
32833	objectMap := make(map[string]interface{})
32834	if peVar.PartitionID != nil {
32835		objectMap["PartitionId"] = peVar.PartitionID
32836	}
32837	if peVar.EventInstanceID != nil {
32838		objectMap["EventInstanceId"] = peVar.EventInstanceID
32839	}
32840	if peVar.TimeStamp != nil {
32841		objectMap["TimeStamp"] = peVar.TimeStamp
32842	}
32843	if peVar.HasCorrelatedEvents != nil {
32844		objectMap["HasCorrelatedEvents"] = peVar.HasCorrelatedEvents
32845	}
32846	if peVar.Kind != "" {
32847		objectMap["Kind"] = peVar.Kind
32848	}
32849	return json.Marshal(objectMap)
32850}
32851
32852// AsApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
32853func (peVar PartitionEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32854	return nil, false
32855}
32856
32857// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
32858func (peVar PartitionEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32859	return nil, false
32860}
32861
32862// AsClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
32863func (peVar PartitionEvent) AsClusterEvent() (*ClusterEvent, bool) {
32864	return nil, false
32865}
32866
32867// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
32868func (peVar PartitionEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32869	return nil, false
32870}
32871
32872// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionEvent.
32873func (peVar PartitionEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32874	return nil, false
32875}
32876
32877// AsNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
32878func (peVar PartitionEvent) AsNodeEvent() (*NodeEvent, bool) {
32879	return nil, false
32880}
32881
32882// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
32883func (peVar PartitionEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32884	return nil, false
32885}
32886
32887// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
32888func (peVar PartitionEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32889	return nil, false
32890}
32891
32892// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
32893func (peVar PartitionEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32894	return nil, false
32895}
32896
32897// AsPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
32898func (peVar PartitionEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32899	return &peVar, true
32900}
32901
32902// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
32903func (peVar PartitionEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32904	return &peVar, true
32905}
32906
32907// AsReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
32908func (peVar PartitionEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
32909	return nil, false
32910}
32911
32912// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
32913func (peVar PartitionEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
32914	return nil, false
32915}
32916
32917// AsServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
32918func (peVar PartitionEvent) AsServiceEvent() (*ServiceEvent, bool) {
32919	return nil, false
32920}
32921
32922// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
32923func (peVar PartitionEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
32924	return nil, false
32925}
32926
32927// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32928func (peVar PartitionEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
32929	return nil, false
32930}
32931
32932// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
32933func (peVar PartitionEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
32934	return nil, false
32935}
32936
32937// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32938func (peVar PartitionEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
32939	return nil, false
32940}
32941
32942// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32943func (peVar PartitionEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
32944	return nil, false
32945}
32946
32947// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32948func (peVar PartitionEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
32949	return nil, false
32950}
32951
32952// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32953func (peVar PartitionEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
32954	return nil, false
32955}
32956
32957// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32958func (peVar PartitionEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
32959	return nil, false
32960}
32961
32962// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
32963func (peVar PartitionEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
32964	return nil, false
32965}
32966
32967// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
32968func (peVar PartitionEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
32969	return nil, false
32970}
32971
32972// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32973func (peVar PartitionEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
32974	return nil, false
32975}
32976
32977// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32978func (peVar PartitionEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
32979	return nil, false
32980}
32981
32982// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32983func (peVar PartitionEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
32984	return nil, false
32985}
32986
32987// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32988func (peVar PartitionEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
32989	return nil, false
32990}
32991
32992// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionEvent.
32993func (peVar PartitionEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
32994	return nil, false
32995}
32996
32997// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionEvent.
32998func (peVar PartitionEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
32999	return nil, false
33000}
33001
33002// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionEvent.
33003func (peVar PartitionEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33004	return nil, false
33005}
33006
33007// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionEvent.
33008func (peVar PartitionEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33009	return nil, false
33010}
33011
33012// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionEvent.
33013func (peVar PartitionEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33014	return nil, false
33015}
33016
33017// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
33018func (peVar PartitionEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33019	return nil, false
33020}
33021
33022// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionEvent.
33023func (peVar PartitionEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33024	return nil, false
33025}
33026
33027// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionEvent.
33028func (peVar PartitionEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33029	return nil, false
33030}
33031
33032// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33033func (peVar PartitionEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33034	return nil, false
33035}
33036
33037// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
33038func (peVar PartitionEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33039	return nil, false
33040}
33041
33042// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionEvent.
33043func (peVar PartitionEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33044	return nil, false
33045}
33046
33047// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionEvent.
33048func (peVar PartitionEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33049	return nil, false
33050}
33051
33052// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionEvent.
33053func (peVar PartitionEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33054	return nil, false
33055}
33056
33057// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionEvent.
33058func (peVar PartitionEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33059	return nil, false
33060}
33061
33062// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionEvent.
33063func (peVar PartitionEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33064	return nil, false
33065}
33066
33067// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33068func (peVar PartitionEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33069	return nil, false
33070}
33071
33072// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
33073func (peVar PartitionEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33074	return nil, false
33075}
33076
33077// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
33078func (peVar PartitionEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33079	return nil, false
33080}
33081
33082// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
33083func (peVar PartitionEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33084	return nil, false
33085}
33086
33087// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33088func (peVar PartitionEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33089	return nil, false
33090}
33091
33092// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
33093func (peVar PartitionEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33094	return nil, false
33095}
33096
33097// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33098func (peVar PartitionEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33099	return nil, false
33100}
33101
33102// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
33103func (peVar PartitionEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33104	return nil, false
33105}
33106
33107// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33108func (peVar PartitionEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33109	return nil, false
33110}
33111
33112// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
33113func (peVar PartitionEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33114	return nil, false
33115}
33116
33117// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33118func (peVar PartitionEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33119	return nil, false
33120}
33121
33122// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
33123func (peVar PartitionEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33124	return nil, false
33125}
33126
33127// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33128func (peVar PartitionEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33129	return nil, false
33130}
33131
33132// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
33133func (peVar PartitionEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33134	return nil, false
33135}
33136
33137// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
33138func (peVar PartitionEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33139	return nil, false
33140}
33141
33142// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
33143func (peVar PartitionEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33144	return nil, false
33145}
33146
33147// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
33148func (peVar PartitionEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33149	return nil, false
33150}
33151
33152// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
33153func (peVar PartitionEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33154	return nil, false
33155}
33156
33157// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
33158func (peVar PartitionEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33159	return nil, false
33160}
33161
33162// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
33163func (peVar PartitionEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33164	return nil, false
33165}
33166
33167// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
33168func (peVar PartitionEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33169	return nil, false
33170}
33171
33172// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionEvent.
33173func (peVar PartitionEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33174	return nil, false
33175}
33176
33177// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionEvent.
33178func (peVar PartitionEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33179	return nil, false
33180}
33181
33182// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
33183func (peVar PartitionEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33184	return nil, false
33185}
33186
33187// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
33188func (peVar PartitionEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33189	return nil, false
33190}
33191
33192// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
33193func (peVar PartitionEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33194	return nil, false
33195}
33196
33197// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
33198func (peVar PartitionEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33199	return nil, false
33200}
33201
33202// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
33203func (peVar PartitionEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33204	return nil, false
33205}
33206
33207// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
33208func (peVar PartitionEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33209	return nil, false
33210}
33211
33212// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
33213func (peVar PartitionEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33214	return nil, false
33215}
33216
33217// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
33218func (peVar PartitionEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33219	return nil, false
33220}
33221
33222// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
33223func (peVar PartitionEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33224	return nil, false
33225}
33226
33227// AsFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
33228func (peVar PartitionEvent) AsFabricEvent() (*FabricEvent, bool) {
33229	return nil, false
33230}
33231
33232// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
33233func (peVar PartitionEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33234	return &peVar, true
33235}
33236
33237// PartitionHealth information about the health of a Service Fabric partition.
33238type PartitionHealth struct {
33239	autorest.Response `json:"-"`
33240	// PartitionID - ID of the partition whose health information is described by this object.
33241	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33242	// ReplicaHealthStates - The list of replica health states associated with the partition.
33243	ReplicaHealthStates *[]BasicReplicaHealthState `json:"ReplicaHealthStates,omitempty"`
33244	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
33245	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
33246	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
33247	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
33248	// HealthEvents - The list of health events reported on the entity.
33249	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
33250	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
33251	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
33252	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
33253	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
33254}
33255
33256// UnmarshalJSON is the custom unmarshaler for PartitionHealth struct.
33257func (ph *PartitionHealth) UnmarshalJSON(body []byte) error {
33258	var m map[string]*json.RawMessage
33259	err := json.Unmarshal(body, &m)
33260	if err != nil {
33261		return err
33262	}
33263	for k, v := range m {
33264		switch k {
33265		case "PartitionId":
33266			if v != nil {
33267				var partitionID uuid.UUID
33268				err = json.Unmarshal(*v, &partitionID)
33269				if err != nil {
33270					return err
33271				}
33272				ph.PartitionID = &partitionID
33273			}
33274		case "ReplicaHealthStates":
33275			if v != nil {
33276				replicaHealthStates, err := unmarshalBasicReplicaHealthStateArray(*v)
33277				if err != nil {
33278					return err
33279				}
33280				ph.ReplicaHealthStates = &replicaHealthStates
33281			}
33282		case "AggregatedHealthState":
33283			if v != nil {
33284				var aggregatedHealthState HealthState
33285				err = json.Unmarshal(*v, &aggregatedHealthState)
33286				if err != nil {
33287					return err
33288				}
33289				ph.AggregatedHealthState = aggregatedHealthState
33290			}
33291		case "HealthEvents":
33292			if v != nil {
33293				var healthEvents []HealthEvent
33294				err = json.Unmarshal(*v, &healthEvents)
33295				if err != nil {
33296					return err
33297				}
33298				ph.HealthEvents = &healthEvents
33299			}
33300		case "UnhealthyEvaluations":
33301			if v != nil {
33302				var unhealthyEvaluations []HealthEvaluationWrapper
33303				err = json.Unmarshal(*v, &unhealthyEvaluations)
33304				if err != nil {
33305					return err
33306				}
33307				ph.UnhealthyEvaluations = &unhealthyEvaluations
33308			}
33309		case "HealthStatistics":
33310			if v != nil {
33311				var healthStatistics HealthStatistics
33312				err = json.Unmarshal(*v, &healthStatistics)
33313				if err != nil {
33314					return err
33315				}
33316				ph.HealthStatistics = &healthStatistics
33317			}
33318		}
33319	}
33320
33321	return nil
33322}
33323
33324// PartitionHealthEvaluation represents health evaluation for a partition, containing information about the
33325// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
33326// aggregated health state is either Error or Warning.
33327type PartitionHealthEvaluation struct {
33328	// PartitionID - Id of the partition whose health evaluation is described by this object.
33329	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33330	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state of the partition. The types of the unhealthy evaluations can be ReplicasHealthEvaluation or EventHealthEvaluation.
33331	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
33332	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
33333	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
33334	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
33335	Description *string `json:"Description,omitempty"`
33336	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
33337	Kind Kind `json:"Kind,omitempty"`
33338}
33339
33340// MarshalJSON is the custom marshaler for PartitionHealthEvaluation.
33341func (phe PartitionHealthEvaluation) MarshalJSON() ([]byte, error) {
33342	phe.Kind = KindPartition
33343	objectMap := make(map[string]interface{})
33344	if phe.PartitionID != nil {
33345		objectMap["PartitionId"] = phe.PartitionID
33346	}
33347	if phe.UnhealthyEvaluations != nil {
33348		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
33349	}
33350	if phe.AggregatedHealthState != "" {
33351		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
33352	}
33353	if phe.Description != nil {
33354		objectMap["Description"] = phe.Description
33355	}
33356	if phe.Kind != "" {
33357		objectMap["Kind"] = phe.Kind
33358	}
33359	return json.Marshal(objectMap)
33360}
33361
33362// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33363func (phe PartitionHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
33364	return nil, false
33365}
33366
33367// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33368func (phe PartitionHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
33369	return nil, false
33370}
33371
33372// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33373func (phe PartitionHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
33374	return nil, false
33375}
33376
33377// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33378func (phe PartitionHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
33379	return nil, false
33380}
33381
33382// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33383func (phe PartitionHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
33384	return nil, false
33385}
33386
33387// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33388func (phe PartitionHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
33389	return nil, false
33390}
33391
33392// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33393func (phe PartitionHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
33394	return nil, false
33395}
33396
33397// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33398func (phe PartitionHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
33399	return nil, false
33400}
33401
33402// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33403func (phe PartitionHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
33404	return nil, false
33405}
33406
33407// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33408func (phe PartitionHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
33409	return nil, false
33410}
33411
33412// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33413func (phe PartitionHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
33414	return nil, false
33415}
33416
33417// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33418func (phe PartitionHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
33419	return &phe, true
33420}
33421
33422// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33423func (phe PartitionHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
33424	return nil, false
33425}
33426
33427// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33428func (phe PartitionHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
33429	return nil, false
33430}
33431
33432// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33433func (phe PartitionHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
33434	return nil, false
33435}
33436
33437// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33438func (phe PartitionHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
33439	return nil, false
33440}
33441
33442// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33443func (phe PartitionHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
33444	return nil, false
33445}
33446
33447// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33448func (phe PartitionHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
33449	return nil, false
33450}
33451
33452// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33453func (phe PartitionHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
33454	return nil, false
33455}
33456
33457// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33458func (phe PartitionHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
33459	return nil, false
33460}
33461
33462// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33463func (phe PartitionHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
33464	return nil, false
33465}
33466
33467// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33468func (phe PartitionHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
33469	return &phe, true
33470}
33471
33472// PartitionHealthReportCreatedEvent partition Health Report Created event.
33473type PartitionHealthReportCreatedEvent struct {
33474	// SourceID - Id of report source.
33475	SourceID *string `json:"SourceId,omitempty"`
33476	// Property - Describes the property.
33477	Property *string `json:"Property,omitempty"`
33478	// HealthState - Describes the property health state.
33479	HealthState *string `json:"HealthState,omitempty"`
33480	// TimeToLiveMs - Time to live in milli-seconds.
33481	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
33482	// SequenceNumber - Sequence number of report.
33483	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
33484	// Description - Description of report.
33485	Description *string `json:"Description,omitempty"`
33486	// RemoveWhenExpired - Indicates the removal when it expires.
33487	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
33488	// SourceUtcTimestamp - Source time.
33489	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
33490	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
33491	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33492	// EventInstanceID - The identifier for the FabricEvent instance.
33493	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
33494	// TimeStamp - The time event was logged.
33495	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
33496	// HasCorrelatedEvents - Shows there is existing related events available.
33497	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
33498	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
33499	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
33500}
33501
33502// MarshalJSON is the custom marshaler for PartitionHealthReportCreatedEvent.
33503func (phrce PartitionHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
33504	phrce.Kind = KindPartitionHealthReportCreated
33505	objectMap := make(map[string]interface{})
33506	if phrce.SourceID != nil {
33507		objectMap["SourceId"] = phrce.SourceID
33508	}
33509	if phrce.Property != nil {
33510		objectMap["Property"] = phrce.Property
33511	}
33512	if phrce.HealthState != nil {
33513		objectMap["HealthState"] = phrce.HealthState
33514	}
33515	if phrce.TimeToLiveMs != nil {
33516		objectMap["TimeToLiveMs"] = phrce.TimeToLiveMs
33517	}
33518	if phrce.SequenceNumber != nil {
33519		objectMap["SequenceNumber"] = phrce.SequenceNumber
33520	}
33521	if phrce.Description != nil {
33522		objectMap["Description"] = phrce.Description
33523	}
33524	if phrce.RemoveWhenExpired != nil {
33525		objectMap["RemoveWhenExpired"] = phrce.RemoveWhenExpired
33526	}
33527	if phrce.SourceUtcTimestamp != nil {
33528		objectMap["SourceUtcTimestamp"] = phrce.SourceUtcTimestamp
33529	}
33530	if phrce.PartitionID != nil {
33531		objectMap["PartitionId"] = phrce.PartitionID
33532	}
33533	if phrce.EventInstanceID != nil {
33534		objectMap["EventInstanceId"] = phrce.EventInstanceID
33535	}
33536	if phrce.TimeStamp != nil {
33537		objectMap["TimeStamp"] = phrce.TimeStamp
33538	}
33539	if phrce.HasCorrelatedEvents != nil {
33540		objectMap["HasCorrelatedEvents"] = phrce.HasCorrelatedEvents
33541	}
33542	if phrce.Kind != "" {
33543		objectMap["Kind"] = phrce.Kind
33544	}
33545	return json.Marshal(objectMap)
33546}
33547
33548// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33549func (phrce PartitionHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
33550	return nil, false
33551}
33552
33553// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33554func (phrce PartitionHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
33555	return nil, false
33556}
33557
33558// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33559func (phrce PartitionHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
33560	return nil, false
33561}
33562
33563// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33564func (phrce PartitionHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
33565	return nil, false
33566}
33567
33568// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33569func (phrce PartitionHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
33570	return nil, false
33571}
33572
33573// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33574func (phrce PartitionHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
33575	return nil, false
33576}
33577
33578// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33579func (phrce PartitionHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
33580	return nil, false
33581}
33582
33583// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33584func (phrce PartitionHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
33585	return nil, false
33586}
33587
33588// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33589func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
33590	return nil, false
33591}
33592
33593// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33594func (phrce PartitionHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
33595	return nil, false
33596}
33597
33598// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33599func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
33600	return &phrce, true
33601}
33602
33603// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33604func (phrce PartitionHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
33605	return nil, false
33606}
33607
33608// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33609func (phrce PartitionHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33610	return nil, false
33611}
33612
33613// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33614func (phrce PartitionHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
33615	return nil, false
33616}
33617
33618// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33619func (phrce PartitionHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33620	return nil, false
33621}
33622
33623// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33624func (phrce PartitionHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33625	return nil, false
33626}
33627
33628// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33629func (phrce PartitionHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33630	return nil, false
33631}
33632
33633// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33634func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33635	return nil, false
33636}
33637
33638// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33639func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33640	return nil, false
33641}
33642
33643// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33644func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33645	return nil, false
33646}
33647
33648// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33649func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33650	return nil, false
33651}
33652
33653// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33654func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33655	return nil, false
33656}
33657
33658// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33659func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33660	return nil, false
33661}
33662
33663// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33664func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33665	return nil, false
33666}
33667
33668// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33669func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33670	return nil, false
33671}
33672
33673// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33674func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33675	return nil, false
33676}
33677
33678// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33679func (phrce PartitionHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33680	return nil, false
33681}
33682
33683// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33684func (phrce PartitionHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33685	return nil, false
33686}
33687
33688// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33689func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33690	return nil, false
33691}
33692
33693// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33694func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
33695	return nil, false
33696}
33697
33698// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33699func (phrce PartitionHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33700	return nil, false
33701}
33702
33703// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33704func (phrce PartitionHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33705	return nil, false
33706}
33707
33708// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33709func (phrce PartitionHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33710	return nil, false
33711}
33712
33713// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33714func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33715	return nil, false
33716}
33717
33718// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33719func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33720	return nil, false
33721}
33722
33723// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33724func (phrce PartitionHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33725	return nil, false
33726}
33727
33728// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33729func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33730	return nil, false
33731}
33732
33733// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33734func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33735	return nil, false
33736}
33737
33738// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33739func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33740	return nil, false
33741}
33742
33743// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33744func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33745	return nil, false
33746}
33747
33748// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33749func (phrce PartitionHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33750	return nil, false
33751}
33752
33753// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33754func (phrce PartitionHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33755	return nil, false
33756}
33757
33758// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33759func (phrce PartitionHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33760	return nil, false
33761}
33762
33763// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33764func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33765	return &phrce, true
33766}
33767
33768// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33769func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33770	return nil, false
33771}
33772
33773// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33774func (phrce PartitionHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33775	return nil, false
33776}
33777
33778// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33779func (phrce PartitionHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33780	return nil, false
33781}
33782
33783// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33784func (phrce PartitionHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33785	return nil, false
33786}
33787
33788// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33789func (phrce PartitionHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33790	return nil, false
33791}
33792
33793// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33794func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33795	return nil, false
33796}
33797
33798// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33799func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33800	return nil, false
33801}
33802
33803// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33804func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33805	return nil, false
33806}
33807
33808// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33809func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33810	return nil, false
33811}
33812
33813// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33814func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33815	return nil, false
33816}
33817
33818// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33819func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33820	return nil, false
33821}
33822
33823// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33824func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33825	return nil, false
33826}
33827
33828// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33829func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33830	return nil, false
33831}
33832
33833// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33834func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33835	return nil, false
33836}
33837
33838// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33839func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33840	return nil, false
33841}
33842
33843// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33844func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33845	return nil, false
33846}
33847
33848// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33849func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33850	return nil, false
33851}
33852
33853// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33854func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33855	return nil, false
33856}
33857
33858// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33859func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33860	return nil, false
33861}
33862
33863// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33864func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33865	return nil, false
33866}
33867
33868// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33869func (phrce PartitionHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33870	return nil, false
33871}
33872
33873// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33874func (phrce PartitionHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33875	return nil, false
33876}
33877
33878// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33879func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33880	return nil, false
33881}
33882
33883// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33884func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33885	return nil, false
33886}
33887
33888// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33889func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33890	return nil, false
33891}
33892
33893// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33894func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33895	return nil, false
33896}
33897
33898// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33899func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33900	return nil, false
33901}
33902
33903// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33904func (phrce PartitionHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33905	return nil, false
33906}
33907
33908// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33909func (phrce PartitionHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33910	return nil, false
33911}
33912
33913// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33914func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33915	return nil, false
33916}
33917
33918// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33919func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33920	return nil, false
33921}
33922
33923// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33924func (phrce PartitionHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
33925	return nil, false
33926}
33927
33928// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33929func (phrce PartitionHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33930	return &phrce, true
33931}
33932
33933// PartitionHealthReportExpiredEvent partition Health Report Expired event.
33934type PartitionHealthReportExpiredEvent struct {
33935	// SourceID - Id of report source.
33936	SourceID *string `json:"SourceId,omitempty"`
33937	// Property - Describes the property.
33938	Property *string `json:"Property,omitempty"`
33939	// HealthState - Describes the property health state.
33940	HealthState *string `json:"HealthState,omitempty"`
33941	// TimeToLiveMs - Time to live in milli-seconds.
33942	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
33943	// SequenceNumber - Sequence number of report.
33944	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
33945	// Description - Description of report.
33946	Description *string `json:"Description,omitempty"`
33947	// RemoveWhenExpired - Indicates the removal when it expires.
33948	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
33949	// SourceUtcTimestamp - Source time.
33950	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
33951	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
33952	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33953	// EventInstanceID - The identifier for the FabricEvent instance.
33954	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
33955	// TimeStamp - The time event was logged.
33956	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
33957	// HasCorrelatedEvents - Shows there is existing related events available.
33958	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
33959	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
33960	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
33961}
33962
33963// MarshalJSON is the custom marshaler for PartitionHealthReportExpiredEvent.
33964func (phree PartitionHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
33965	phree.Kind = KindPartitionHealthReportExpired
33966	objectMap := make(map[string]interface{})
33967	if phree.SourceID != nil {
33968		objectMap["SourceId"] = phree.SourceID
33969	}
33970	if phree.Property != nil {
33971		objectMap["Property"] = phree.Property
33972	}
33973	if phree.HealthState != nil {
33974		objectMap["HealthState"] = phree.HealthState
33975	}
33976	if phree.TimeToLiveMs != nil {
33977		objectMap["TimeToLiveMs"] = phree.TimeToLiveMs
33978	}
33979	if phree.SequenceNumber != nil {
33980		objectMap["SequenceNumber"] = phree.SequenceNumber
33981	}
33982	if phree.Description != nil {
33983		objectMap["Description"] = phree.Description
33984	}
33985	if phree.RemoveWhenExpired != nil {
33986		objectMap["RemoveWhenExpired"] = phree.RemoveWhenExpired
33987	}
33988	if phree.SourceUtcTimestamp != nil {
33989		objectMap["SourceUtcTimestamp"] = phree.SourceUtcTimestamp
33990	}
33991	if phree.PartitionID != nil {
33992		objectMap["PartitionId"] = phree.PartitionID
33993	}
33994	if phree.EventInstanceID != nil {
33995		objectMap["EventInstanceId"] = phree.EventInstanceID
33996	}
33997	if phree.TimeStamp != nil {
33998		objectMap["TimeStamp"] = phree.TimeStamp
33999	}
34000	if phree.HasCorrelatedEvents != nil {
34001		objectMap["HasCorrelatedEvents"] = phree.HasCorrelatedEvents
34002	}
34003	if phree.Kind != "" {
34004		objectMap["Kind"] = phree.Kind
34005	}
34006	return json.Marshal(objectMap)
34007}
34008
34009// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34010func (phree PartitionHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
34011	return nil, false
34012}
34013
34014// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34015func (phree PartitionHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
34016	return nil, false
34017}
34018
34019// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34020func (phree PartitionHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
34021	return nil, false
34022}
34023
34024// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34025func (phree PartitionHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
34026	return nil, false
34027}
34028
34029// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34030func (phree PartitionHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
34031	return nil, false
34032}
34033
34034// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34035func (phree PartitionHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
34036	return nil, false
34037}
34038
34039// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34040func (phree PartitionHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
34041	return nil, false
34042}
34043
34044// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34045func (phree PartitionHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
34046	return nil, false
34047}
34048
34049// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34050func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
34051	return nil, false
34052}
34053
34054// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34055func (phree PartitionHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
34056	return nil, false
34057}
34058
34059// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34060func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
34061	return &phree, true
34062}
34063
34064// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34065func (phree PartitionHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
34066	return nil, false
34067}
34068
34069// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34070func (phree PartitionHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
34071	return nil, false
34072}
34073
34074// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34075func (phree PartitionHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
34076	return nil, false
34077}
34078
34079// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34080func (phree PartitionHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
34081	return nil, false
34082}
34083
34084// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34085func (phree PartitionHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
34086	return nil, false
34087}
34088
34089// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34090func (phree PartitionHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
34091	return nil, false
34092}
34093
34094// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34095func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
34096	return nil, false
34097}
34098
34099// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34100func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
34101	return nil, false
34102}
34103
34104// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34105func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
34106	return nil, false
34107}
34108
34109// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34110func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
34111	return nil, false
34112}
34113
34114// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34115func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
34116	return nil, false
34117}
34118
34119// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34120func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
34121	return nil, false
34122}
34123
34124// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34125func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
34126	return nil, false
34127}
34128
34129// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34130func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
34131	return nil, false
34132}
34133
34134// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34135func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
34136	return nil, false
34137}
34138
34139// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34140func (phree PartitionHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
34141	return nil, false
34142}
34143
34144// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34145func (phree PartitionHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
34146	return nil, false
34147}
34148
34149// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34150func (phree PartitionHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
34151	return nil, false
34152}
34153
34154// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34155func (phree PartitionHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
34156	return nil, false
34157}
34158
34159// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34160func (phree PartitionHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
34161	return nil, false
34162}
34163
34164// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34165func (phree PartitionHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
34166	return nil, false
34167}
34168
34169// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34170func (phree PartitionHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
34171	return nil, false
34172}
34173
34174// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34175func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
34176	return nil, false
34177}
34178
34179// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34180func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
34181	return nil, false
34182}
34183
34184// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34185func (phree PartitionHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
34186	return nil, false
34187}
34188
34189// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34190func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
34191	return nil, false
34192}
34193
34194// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34195func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
34196	return nil, false
34197}
34198
34199// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34200func (phree PartitionHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
34201	return nil, false
34202}
34203
34204// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34205func (phree PartitionHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
34206	return nil, false
34207}
34208
34209// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34210func (phree PartitionHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
34211	return nil, false
34212}
34213
34214// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34215func (phree PartitionHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
34216	return nil, false
34217}
34218
34219// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34220func (phree PartitionHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
34221	return nil, false
34222}
34223
34224// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34225func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
34226	return nil, false
34227}
34228
34229// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34230func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
34231	return &phree, true
34232}
34233
34234// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34235func (phree PartitionHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
34236	return nil, false
34237}
34238
34239// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34240func (phree PartitionHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
34241	return nil, false
34242}
34243
34244// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34245func (phree PartitionHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
34246	return nil, false
34247}
34248
34249// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34250func (phree PartitionHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
34251	return nil, false
34252}
34253
34254// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34255func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
34256	return nil, false
34257}
34258
34259// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34260func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
34261	return nil, false
34262}
34263
34264// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34265func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
34266	return nil, false
34267}
34268
34269// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34270func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
34271	return nil, false
34272}
34273
34274// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34275func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
34276	return nil, false
34277}
34278
34279// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34280func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
34281	return nil, false
34282}
34283
34284// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34285func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
34286	return nil, false
34287}
34288
34289// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34290func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
34291	return nil, false
34292}
34293
34294// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34295func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
34296	return nil, false
34297}
34298
34299// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34300func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
34301	return nil, false
34302}
34303
34304// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34305func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
34306	return nil, false
34307}
34308
34309// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34310func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
34311	return nil, false
34312}
34313
34314// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34315func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
34316	return nil, false
34317}
34318
34319// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34320func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
34321	return nil, false
34322}
34323
34324// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34325func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
34326	return nil, false
34327}
34328
34329// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34330func (phree PartitionHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
34331	return nil, false
34332}
34333
34334// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34335func (phree PartitionHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
34336	return nil, false
34337}
34338
34339// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34340func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
34341	return nil, false
34342}
34343
34344// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34345func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
34346	return nil, false
34347}
34348
34349// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34350func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
34351	return nil, false
34352}
34353
34354// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34355func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
34356	return nil, false
34357}
34358
34359// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34360func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
34361	return nil, false
34362}
34363
34364// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34365func (phree PartitionHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
34366	return nil, false
34367}
34368
34369// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34370func (phree PartitionHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
34371	return nil, false
34372}
34373
34374// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34375func (phree PartitionHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
34376	return nil, false
34377}
34378
34379// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34380func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
34381	return nil, false
34382}
34383
34384// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34385func (phree PartitionHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
34386	return nil, false
34387}
34388
34389// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
34390func (phree PartitionHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
34391	return &phree, true
34392}
34393
34394// PartitionHealthState represents the health state of a partition, which contains the partition identifier
34395// and its aggregated health state.
34396type PartitionHealthState struct {
34397	// PartitionID - Id of the partition whose health state is described by this object.
34398	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34399	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
34400	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
34401}
34402
34403// PartitionHealthStateChunk represents the health state chunk of a partition, which contains the partition
34404// ID, its aggregated health state and any replicas that respect the filters in the cluster health chunk
34405// query description.
34406type PartitionHealthStateChunk struct {
34407	// PartitionID - The Id of the partition.
34408	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34409	// ReplicaHealthStateChunks - The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description.
34410	ReplicaHealthStateChunks *ReplicaHealthStateChunkList `json:"ReplicaHealthStateChunks,omitempty"`
34411	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
34412	HealthState HealthState `json:"HealthState,omitempty"`
34413}
34414
34415// PartitionHealthStateChunkList the list of partition health state chunks that respect the input filters
34416// in the chunk query description.
34417// Returned by get cluster health state chunks query as part of the parent application hierarchy.
34418type PartitionHealthStateChunkList struct {
34419	// Items - The list of partition health state chunks that respect the input filters in the chunk query.
34420	Items *[]PartitionHealthStateChunk `json:"Items,omitempty"`
34421}
34422
34423// PartitionHealthStateFilter defines matching criteria to determine whether a partition should be included
34424// as a child of a service in the cluster health chunk.
34425// The partitions are only returned if the parent entities match a filter specified in the cluster health
34426// chunk query description. The parent service and application must be included in the cluster health
34427// chunk.
34428// One filter can match zero, one or multiple partitions, depending on its properties.
34429type PartitionHealthStateFilter struct {
34430	// PartitionIDFilter - ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.
34431	// If the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.
34432	// If the partition exists, it is included in the cluster health chunk if it respects the other filter properties.
34433	// If not specified, all partitions that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter.
34434	PartitionIDFilter *uuid.UUID `json:"PartitionIdFilter,omitempty"`
34435	// HealthStateFilter - The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.
34436	// The possible values are integer value of one of the following health states. Only partitions that match the filter are returned. All partitions are used to evaluate the cluster aggregated health state.
34437	// If not specified, default value is None, unless the partition ID is specified. If the filter has default value and partition ID is specified, the matching partition is returned.
34438	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
34439	// For example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).
34440	// - Default - Default value. Matches any HealthState. The value is zero.
34441	// - None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
34442	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
34443	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
34444	// - Error - Filter that matches input with HealthState value Error. The value is 8.
34445	// - All - Filter that matches input with any HealthState value. The value is 65535.
34446	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
34447	// ReplicaFilters - Defines a list of filters that specify which replicas to be included in the returned cluster health chunk as children of the parent partition. The replicas are returned only if the parent partition matches a filter.
34448	// If the list is empty, no replicas are returned. All the replicas are used to evaluate the parent partition aggregated health state, regardless of the input filters.
34449	// The partition filter may specify multiple replica filters.
34450	// For example, it can specify a filter to return all replicas with health state Error and another filter to always include a replica identified by its replica id.
34451	ReplicaFilters *[]ReplicaHealthStateFilter `json:"ReplicaFilters,omitempty"`
34452}
34453
34454// BasicPartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
34455type BasicPartitionInformation interface {
34456	AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool)
34457	AsNamedPartitionInformation() (*NamedPartitionInformation, bool)
34458	AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool)
34459	AsPartitionInformation() (*PartitionInformation, bool)
34460}
34461
34462// PartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
34463type PartitionInformation struct {
34464	// ID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
34465	ID *uuid.UUID `json:"Id,omitempty"`
34466	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
34467	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
34468}
34469
34470func unmarshalBasicPartitionInformation(body []byte) (BasicPartitionInformation, error) {
34471	var m map[string]interface{}
34472	err := json.Unmarshal(body, &m)
34473	if err != nil {
34474		return nil, err
34475	}
34476
34477	switch m["ServicePartitionKind"] {
34478	case string(ServicePartitionKindInt64Range1):
34479		var i6rpi Int64RangePartitionInformation
34480		err := json.Unmarshal(body, &i6rpi)
34481		return i6rpi, err
34482	case string(ServicePartitionKindNamed1):
34483		var npi NamedPartitionInformation
34484		err := json.Unmarshal(body, &npi)
34485		return npi, err
34486	case string(ServicePartitionKindSingleton1):
34487		var spi SingletonPartitionInformation
34488		err := json.Unmarshal(body, &spi)
34489		return spi, err
34490	default:
34491		var pi PartitionInformation
34492		err := json.Unmarshal(body, &pi)
34493		return pi, err
34494	}
34495}
34496func unmarshalBasicPartitionInformationArray(body []byte) ([]BasicPartitionInformation, error) {
34497	var rawMessages []*json.RawMessage
34498	err := json.Unmarshal(body, &rawMessages)
34499	if err != nil {
34500		return nil, err
34501	}
34502
34503	piArray := make([]BasicPartitionInformation, len(rawMessages))
34504
34505	for index, rawMessage := range rawMessages {
34506		pi, err := unmarshalBasicPartitionInformation(*rawMessage)
34507		if err != nil {
34508			return nil, err
34509		}
34510		piArray[index] = pi
34511	}
34512	return piArray, nil
34513}
34514
34515// MarshalJSON is the custom marshaler for PartitionInformation.
34516func (pi PartitionInformation) MarshalJSON() ([]byte, error) {
34517	pi.ServicePartitionKind = ServicePartitionKindPartitionInformation
34518	objectMap := make(map[string]interface{})
34519	if pi.ID != nil {
34520		objectMap["Id"] = pi.ID
34521	}
34522	if pi.ServicePartitionKind != "" {
34523		objectMap["ServicePartitionKind"] = pi.ServicePartitionKind
34524	}
34525	return json.Marshal(objectMap)
34526}
34527
34528// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34529func (pi PartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
34530	return nil, false
34531}
34532
34533// AsNamedPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34534func (pi PartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
34535	return nil, false
34536}
34537
34538// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34539func (pi PartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
34540	return nil, false
34541}
34542
34543// AsPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34544func (pi PartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
34545	return &pi, true
34546}
34547
34548// AsBasicPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34549func (pi PartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
34550	return &pi, true
34551}
34552
34553// PartitionInstanceCountScaleMechanism represents a scaling mechanism for adding or removing instances of
34554// stateless service partition.
34555type PartitionInstanceCountScaleMechanism struct {
34556	// MinInstanceCount - Minimum number of instances of the partition.
34557	MinInstanceCount *int32 `json:"MinInstanceCount,omitempty"`
34558	// MaxInstanceCount - Maximum number of instances of the partition.
34559	MaxInstanceCount *int32 `json:"MaxInstanceCount,omitempty"`
34560	// ScaleIncrement - The number of instances to add or remove during a scaling operation.
34561	ScaleIncrement *int32 `json:"ScaleIncrement,omitempty"`
34562	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
34563	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
34564}
34565
34566// MarshalJSON is the custom marshaler for PartitionInstanceCountScaleMechanism.
34567func (picsm PartitionInstanceCountScaleMechanism) MarshalJSON() ([]byte, error) {
34568	picsm.Kind = KindPartitionInstanceCount
34569	objectMap := make(map[string]interface{})
34570	if picsm.MinInstanceCount != nil {
34571		objectMap["MinInstanceCount"] = picsm.MinInstanceCount
34572	}
34573	if picsm.MaxInstanceCount != nil {
34574		objectMap["MaxInstanceCount"] = picsm.MaxInstanceCount
34575	}
34576	if picsm.ScaleIncrement != nil {
34577		objectMap["ScaleIncrement"] = picsm.ScaleIncrement
34578	}
34579	if picsm.Kind != "" {
34580		objectMap["Kind"] = picsm.Kind
34581	}
34582	return json.Marshal(objectMap)
34583}
34584
34585// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34586func (picsm PartitionInstanceCountScaleMechanism) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
34587	return &picsm, true
34588}
34589
34590// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34591func (picsm PartitionInstanceCountScaleMechanism) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
34592	return nil, false
34593}
34594
34595// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34596func (picsm PartitionInstanceCountScaleMechanism) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
34597	return nil, false
34598}
34599
34600// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34601func (picsm PartitionInstanceCountScaleMechanism) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
34602	return &picsm, true
34603}
34604
34605// PartitionLoadInformation represents load information for a partition, which contains the primary and
34606// secondary reported load metrics.
34607// In case there is no load reported, PartitionLoadInformation will contain the default load for the
34608// service of the partition.
34609// For default loads, LoadMetricReport's LastReportedUtc is set to 0.
34610type PartitionLoadInformation struct {
34611	autorest.Response `json:"-"`
34612	// PartitionID - Id of the partition.
34613	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34614	// PrimaryLoadMetricReports - Array of load reports from the primary replica for this partition.
34615	PrimaryLoadMetricReports *[]LoadMetricReport `json:"PrimaryLoadMetricReports,omitempty"`
34616	// SecondaryLoadMetricReports - Array of aggregated load reports from all secondary replicas for this partition.
34617	// Array only contains the latest reported load for each metric.
34618	SecondaryLoadMetricReports *[]LoadMetricReport `json:"SecondaryLoadMetricReports,omitempty"`
34619}
34620
34621// PartitionPrimaryMoveAnalysisEvent partition Primary Move Analysis event.
34622type PartitionPrimaryMoveAnalysisEvent struct {
34623	// WhenMoveCompleted - Time when the move was completed.
34624	WhenMoveCompleted *date.Time `json:"WhenMoveCompleted,omitempty"`
34625	// PreviousNode - The name of a Service Fabric node.
34626	PreviousNode *string `json:"PreviousNode,omitempty"`
34627	// CurrentNode - The name of a Service Fabric node.
34628	CurrentNode *string `json:"CurrentNode,omitempty"`
34629	// MoveReason - Move reason.
34630	MoveReason *string `json:"MoveReason,omitempty"`
34631	// RelevantTraces - Relevant traces.
34632	RelevantTraces *string `json:"RelevantTraces,omitempty"`
34633	// Metadata - Metadata about an Analysis Event.
34634	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
34635	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
34636	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34637	// EventInstanceID - The identifier for the FabricEvent instance.
34638	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
34639	// TimeStamp - The time event was logged.
34640	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
34641	// HasCorrelatedEvents - Shows there is existing related events available.
34642	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
34643	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
34644	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
34645}
34646
34647// MarshalJSON is the custom marshaler for PartitionPrimaryMoveAnalysisEvent.
34648func (ppmae PartitionPrimaryMoveAnalysisEvent) MarshalJSON() ([]byte, error) {
34649	ppmae.Kind = KindPartitionPrimaryMoveAnalysis
34650	objectMap := make(map[string]interface{})
34651	if ppmae.WhenMoveCompleted != nil {
34652		objectMap["WhenMoveCompleted"] = ppmae.WhenMoveCompleted
34653	}
34654	if ppmae.PreviousNode != nil {
34655		objectMap["PreviousNode"] = ppmae.PreviousNode
34656	}
34657	if ppmae.CurrentNode != nil {
34658		objectMap["CurrentNode"] = ppmae.CurrentNode
34659	}
34660	if ppmae.MoveReason != nil {
34661		objectMap["MoveReason"] = ppmae.MoveReason
34662	}
34663	if ppmae.RelevantTraces != nil {
34664		objectMap["RelevantTraces"] = ppmae.RelevantTraces
34665	}
34666	if ppmae.Metadata != nil {
34667		objectMap["Metadata"] = ppmae.Metadata
34668	}
34669	if ppmae.PartitionID != nil {
34670		objectMap["PartitionId"] = ppmae.PartitionID
34671	}
34672	if ppmae.EventInstanceID != nil {
34673		objectMap["EventInstanceId"] = ppmae.EventInstanceID
34674	}
34675	if ppmae.TimeStamp != nil {
34676		objectMap["TimeStamp"] = ppmae.TimeStamp
34677	}
34678	if ppmae.HasCorrelatedEvents != nil {
34679		objectMap["HasCorrelatedEvents"] = ppmae.HasCorrelatedEvents
34680	}
34681	if ppmae.Kind != "" {
34682		objectMap["Kind"] = ppmae.Kind
34683	}
34684	return json.Marshal(objectMap)
34685}
34686
34687// AsApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34688func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
34689	return nil, false
34690}
34691
34692// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34693func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
34694	return nil, false
34695}
34696
34697// AsClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34698func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
34699	return nil, false
34700}
34701
34702// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34703func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
34704	return nil, false
34705}
34706
34707// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34708func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
34709	return nil, false
34710}
34711
34712// AsNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34713func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
34714	return nil, false
34715}
34716
34717// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34718func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
34719	return nil, false
34720}
34721
34722// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34723func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
34724	return nil, false
34725}
34726
34727// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34728func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
34729	return &ppmae, true
34730}
34731
34732// AsPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34733func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
34734	return nil, false
34735}
34736
34737// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34738func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
34739	return &ppmae, true
34740}
34741
34742// AsReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34743func (ppmae PartitionPrimaryMoveAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
34744	return nil, false
34745}
34746
34747// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34748func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
34749	return nil, false
34750}
34751
34752// AsServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34753func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
34754	return nil, false
34755}
34756
34757// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34758func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
34759	return nil, false
34760}
34761
34762// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34763func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
34764	return nil, false
34765}
34766
34767// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34768func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
34769	return nil, false
34770}
34771
34772// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34773func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
34774	return nil, false
34775}
34776
34777// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34778func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
34779	return nil, false
34780}
34781
34782// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34783func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
34784	return nil, false
34785}
34786
34787// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34788func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
34789	return nil, false
34790}
34791
34792// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34793func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
34794	return nil, false
34795}
34796
34797// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34798func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
34799	return nil, false
34800}
34801
34802// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34803func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
34804	return nil, false
34805}
34806
34807// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34808func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
34809	return nil, false
34810}
34811
34812// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34813func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
34814	return nil, false
34815}
34816
34817// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34818func (ppmae PartitionPrimaryMoveAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
34819	return nil, false
34820}
34821
34822// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34823func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
34824	return nil, false
34825}
34826
34827// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34828func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
34829	return nil, false
34830}
34831
34832// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34833func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
34834	return nil, false
34835}
34836
34837// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34838func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
34839	return nil, false
34840}
34841
34842// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34843func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
34844	return nil, false
34845}
34846
34847// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34848func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
34849	return nil, false
34850}
34851
34852// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34853func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
34854	return nil, false
34855}
34856
34857// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34858func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
34859	return nil, false
34860}
34861
34862// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34863func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
34864	return nil, false
34865}
34866
34867// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34868func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
34869	return nil, false
34870}
34871
34872// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34873func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
34874	return nil, false
34875}
34876
34877// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34878func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
34879	return nil, false
34880}
34881
34882// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34883func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
34884	return nil, false
34885}
34886
34887// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34888func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
34889	return nil, false
34890}
34891
34892// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34893func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
34894	return nil, false
34895}
34896
34897// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34898func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
34899	return nil, false
34900}
34901
34902// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34903func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
34904	return nil, false
34905}
34906
34907// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34908func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
34909	return nil, false
34910}
34911
34912// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34913func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
34914	return nil, false
34915}
34916
34917// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34918func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
34919	return &ppmae, true
34920}
34921
34922// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34923func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
34924	return nil, false
34925}
34926
34927// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34928func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
34929	return nil, false
34930}
34931
34932// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34933func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
34934	return nil, false
34935}
34936
34937// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34938func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
34939	return nil, false
34940}
34941
34942// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34943func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
34944	return nil, false
34945}
34946
34947// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34948func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
34949	return nil, false
34950}
34951
34952// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34953func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
34954	return nil, false
34955}
34956
34957// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34958func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
34959	return nil, false
34960}
34961
34962// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34963func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
34964	return nil, false
34965}
34966
34967// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34968func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
34969	return nil, false
34970}
34971
34972// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34973func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
34974	return nil, false
34975}
34976
34977// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34978func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
34979	return nil, false
34980}
34981
34982// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34983func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
34984	return nil, false
34985}
34986
34987// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34988func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
34989	return nil, false
34990}
34991
34992// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34993func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
34994	return nil, false
34995}
34996
34997// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34998func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
34999	return nil, false
35000}
35001
35002// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35003func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
35004	return nil, false
35005}
35006
35007// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35008func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
35009	return nil, false
35010}
35011
35012// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35013func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
35014	return nil, false
35015}
35016
35017// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35018func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
35019	return nil, false
35020}
35021
35022// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35023func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
35024	return nil, false
35025}
35026
35027// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35028func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
35029	return nil, false
35030}
35031
35032// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35033func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
35034	return nil, false
35035}
35036
35037// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35038func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
35039	return nil, false
35040}
35041
35042// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35043func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
35044	return nil, false
35045}
35046
35047// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35048func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
35049	return nil, false
35050}
35051
35052// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35053func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
35054	return nil, false
35055}
35056
35057// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35058func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
35059	return nil, false
35060}
35061
35062// AsFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35063func (ppmae PartitionPrimaryMoveAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
35064	return nil, false
35065}
35066
35067// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
35068func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
35069	return &ppmae, true
35070}
35071
35072// PartitionQuorumLossProgress information about a partition quorum loss user-induced operation.
35073type PartitionQuorumLossProgress struct {
35074	autorest.Response `json:"-"`
35075	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
35076	State OperationState `json:"State,omitempty"`
35077	// InvokeQuorumLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
35078	InvokeQuorumLossResult *InvokeQuorumLossResult `json:"InvokeQuorumLossResult,omitempty"`
35079}
35080
35081// PartitionReconfigurationCompletedEvent partition Reconfiguration Completed event.
35082type PartitionReconfigurationCompletedEvent struct {
35083	// NodeName - The name of a Service Fabric node.
35084	NodeName *string `json:"NodeName,omitempty"`
35085	// NodeInstanceID - Id of Node instance.
35086	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
35087	// ServiceType - Type of Service.
35088	ServiceType *string `json:"ServiceType,omitempty"`
35089	// CcEpochDataLossVersion - CcEpochDataLoss version.
35090	CcEpochDataLossVersion *int64 `json:"CcEpochDataLossVersion,omitempty"`
35091	// CcEpochConfigVersion - CcEpochConfig version.
35092	CcEpochConfigVersion *int64 `json:"CcEpochConfigVersion,omitempty"`
35093	// ReconfigType - Type of reconfiguration.
35094	ReconfigType *string `json:"ReconfigType,omitempty"`
35095	// Result - Describes reconfiguration result.
35096	Result *string `json:"Result,omitempty"`
35097	// Phase0DurationMs - Duration of Phase0 in milli-seconds.
35098	Phase0DurationMs *float64 `json:"Phase0DurationMs,omitempty"`
35099	// Phase1DurationMs - Duration of Phase1 in milli-seconds.
35100	Phase1DurationMs *float64 `json:"Phase1DurationMs,omitempty"`
35101	// Phase2DurationMs - Duration of Phase2 in milli-seconds.
35102	Phase2DurationMs *float64 `json:"Phase2DurationMs,omitempty"`
35103	// Phase3DurationMs - Duration of Phase3 in milli-seconds.
35104	Phase3DurationMs *float64 `json:"Phase3DurationMs,omitempty"`
35105	// Phase4DurationMs - Duration of Phase4 in milli-seconds.
35106	Phase4DurationMs *float64 `json:"Phase4DurationMs,omitempty"`
35107	// TotalDurationMs - Total duration in milli-seconds.
35108	TotalDurationMs *float64 `json:"TotalDurationMs,omitempty"`
35109	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
35110	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35111	// EventInstanceID - The identifier for the FabricEvent instance.
35112	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
35113	// TimeStamp - The time event was logged.
35114	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
35115	// HasCorrelatedEvents - Shows there is existing related events available.
35116	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
35117	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
35118	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
35119}
35120
35121// MarshalJSON is the custom marshaler for PartitionReconfigurationCompletedEvent.
35122func (prce PartitionReconfigurationCompletedEvent) MarshalJSON() ([]byte, error) {
35123	prce.Kind = KindPartitionReconfigurationCompleted
35124	objectMap := make(map[string]interface{})
35125	if prce.NodeName != nil {
35126		objectMap["NodeName"] = prce.NodeName
35127	}
35128	if prce.NodeInstanceID != nil {
35129		objectMap["NodeInstanceId"] = prce.NodeInstanceID
35130	}
35131	if prce.ServiceType != nil {
35132		objectMap["ServiceType"] = prce.ServiceType
35133	}
35134	if prce.CcEpochDataLossVersion != nil {
35135		objectMap["CcEpochDataLossVersion"] = prce.CcEpochDataLossVersion
35136	}
35137	if prce.CcEpochConfigVersion != nil {
35138		objectMap["CcEpochConfigVersion"] = prce.CcEpochConfigVersion
35139	}
35140	if prce.ReconfigType != nil {
35141		objectMap["ReconfigType"] = prce.ReconfigType
35142	}
35143	if prce.Result != nil {
35144		objectMap["Result"] = prce.Result
35145	}
35146	if prce.Phase0DurationMs != nil {
35147		objectMap["Phase0DurationMs"] = prce.Phase0DurationMs
35148	}
35149	if prce.Phase1DurationMs != nil {
35150		objectMap["Phase1DurationMs"] = prce.Phase1DurationMs
35151	}
35152	if prce.Phase2DurationMs != nil {
35153		objectMap["Phase2DurationMs"] = prce.Phase2DurationMs
35154	}
35155	if prce.Phase3DurationMs != nil {
35156		objectMap["Phase3DurationMs"] = prce.Phase3DurationMs
35157	}
35158	if prce.Phase4DurationMs != nil {
35159		objectMap["Phase4DurationMs"] = prce.Phase4DurationMs
35160	}
35161	if prce.TotalDurationMs != nil {
35162		objectMap["TotalDurationMs"] = prce.TotalDurationMs
35163	}
35164	if prce.PartitionID != nil {
35165		objectMap["PartitionId"] = prce.PartitionID
35166	}
35167	if prce.EventInstanceID != nil {
35168		objectMap["EventInstanceId"] = prce.EventInstanceID
35169	}
35170	if prce.TimeStamp != nil {
35171		objectMap["TimeStamp"] = prce.TimeStamp
35172	}
35173	if prce.HasCorrelatedEvents != nil {
35174		objectMap["HasCorrelatedEvents"] = prce.HasCorrelatedEvents
35175	}
35176	if prce.Kind != "" {
35177		objectMap["Kind"] = prce.Kind
35178	}
35179	return json.Marshal(objectMap)
35180}
35181
35182// AsApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35183func (prce PartitionReconfigurationCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
35184	return nil, false
35185}
35186
35187// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35188func (prce PartitionReconfigurationCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
35189	return nil, false
35190}
35191
35192// AsClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35193func (prce PartitionReconfigurationCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
35194	return nil, false
35195}
35196
35197// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35198func (prce PartitionReconfigurationCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
35199	return nil, false
35200}
35201
35202// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35203func (prce PartitionReconfigurationCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
35204	return nil, false
35205}
35206
35207// AsNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35208func (prce PartitionReconfigurationCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
35209	return nil, false
35210}
35211
35212// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35213func (prce PartitionReconfigurationCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
35214	return nil, false
35215}
35216
35217// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35218func (prce PartitionReconfigurationCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
35219	return nil, false
35220}
35221
35222// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35223func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
35224	return nil, false
35225}
35226
35227// AsPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35228func (prce PartitionReconfigurationCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
35229	return nil, false
35230}
35231
35232// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35233func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
35234	return &prce, true
35235}
35236
35237// AsReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35238func (prce PartitionReconfigurationCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
35239	return nil, false
35240}
35241
35242// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35243func (prce PartitionReconfigurationCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
35244	return nil, false
35245}
35246
35247// AsServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35248func (prce PartitionReconfigurationCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
35249	return nil, false
35250}
35251
35252// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35253func (prce PartitionReconfigurationCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
35254	return nil, false
35255}
35256
35257// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35258func (prce PartitionReconfigurationCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
35259	return nil, false
35260}
35261
35262// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35263func (prce PartitionReconfigurationCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
35264	return nil, false
35265}
35266
35267// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35268func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
35269	return nil, false
35270}
35271
35272// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35273func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
35274	return nil, false
35275}
35276
35277// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35278func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
35279	return nil, false
35280}
35281
35282// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35283func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
35284	return nil, false
35285}
35286
35287// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35288func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
35289	return nil, false
35290}
35291
35292// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35293func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
35294	return nil, false
35295}
35296
35297// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35298func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
35299	return nil, false
35300}
35301
35302// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35303func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
35304	return nil, false
35305}
35306
35307// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35308func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
35309	return nil, false
35310}
35311
35312// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35313func (prce PartitionReconfigurationCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
35314	return nil, false
35315}
35316
35317// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35318func (prce PartitionReconfigurationCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
35319	return nil, false
35320}
35321
35322// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35323func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
35324	return nil, false
35325}
35326
35327// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35328func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
35329	return nil, false
35330}
35331
35332// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35333func (prce PartitionReconfigurationCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
35334	return nil, false
35335}
35336
35337// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35338func (prce PartitionReconfigurationCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
35339	return nil, false
35340}
35341
35342// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35343func (prce PartitionReconfigurationCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
35344	return nil, false
35345}
35346
35347// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35348func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
35349	return nil, false
35350}
35351
35352// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35353func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
35354	return nil, false
35355}
35356
35357// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35358func (prce PartitionReconfigurationCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
35359	return nil, false
35360}
35361
35362// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35363func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
35364	return nil, false
35365}
35366
35367// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35368func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
35369	return nil, false
35370}
35371
35372// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35373func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
35374	return nil, false
35375}
35376
35377// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35378func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
35379	return nil, false
35380}
35381
35382// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35383func (prce PartitionReconfigurationCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
35384	return nil, false
35385}
35386
35387// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35388func (prce PartitionReconfigurationCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
35389	return nil, false
35390}
35391
35392// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35393func (prce PartitionReconfigurationCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
35394	return nil, false
35395}
35396
35397// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35398func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
35399	return nil, false
35400}
35401
35402// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35403func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
35404	return nil, false
35405}
35406
35407// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35408func (prce PartitionReconfigurationCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
35409	return &prce, true
35410}
35411
35412// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35413func (prce PartitionReconfigurationCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
35414	return nil, false
35415}
35416
35417// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35418func (prce PartitionReconfigurationCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
35419	return nil, false
35420}
35421
35422// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35423func (prce PartitionReconfigurationCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
35424	return nil, false
35425}
35426
35427// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35428func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
35429	return nil, false
35430}
35431
35432// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35433func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
35434	return nil, false
35435}
35436
35437// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35438func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
35439	return nil, false
35440}
35441
35442// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35443func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
35444	return nil, false
35445}
35446
35447// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35448func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
35449	return nil, false
35450}
35451
35452// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35453func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
35454	return nil, false
35455}
35456
35457// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35458func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
35459	return nil, false
35460}
35461
35462// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35463func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
35464	return nil, false
35465}
35466
35467// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35468func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
35469	return nil, false
35470}
35471
35472// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35473func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
35474	return nil, false
35475}
35476
35477// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35478func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
35479	return nil, false
35480}
35481
35482// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35483func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
35484	return nil, false
35485}
35486
35487// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35488func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
35489	return nil, false
35490}
35491
35492// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35493func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
35494	return nil, false
35495}
35496
35497// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35498func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
35499	return nil, false
35500}
35501
35502// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35503func (prce PartitionReconfigurationCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
35504	return nil, false
35505}
35506
35507// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35508func (prce PartitionReconfigurationCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
35509	return nil, false
35510}
35511
35512// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35513func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
35514	return nil, false
35515}
35516
35517// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35518func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
35519	return nil, false
35520}
35521
35522// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35523func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
35524	return nil, false
35525}
35526
35527// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35528func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
35529	return nil, false
35530}
35531
35532// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35533func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
35534	return nil, false
35535}
35536
35537// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35538func (prce PartitionReconfigurationCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
35539	return nil, false
35540}
35541
35542// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35543func (prce PartitionReconfigurationCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
35544	return nil, false
35545}
35546
35547// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35548func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
35549	return nil, false
35550}
35551
35552// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35553func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
35554	return nil, false
35555}
35556
35557// AsFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35558func (prce PartitionReconfigurationCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
35559	return nil, false
35560}
35561
35562// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35563func (prce PartitionReconfigurationCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
35564	return &prce, true
35565}
35566
35567// PartitionRestartProgress information about a partition restart user-induced operation.
35568type PartitionRestartProgress struct {
35569	autorest.Response `json:"-"`
35570	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
35571	State OperationState `json:"State,omitempty"`
35572	// RestartPartitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
35573	RestartPartitionResult *RestartPartitionResult `json:"RestartPartitionResult,omitempty"`
35574}
35575
35576// BasicPartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
35577// before continuing with operations.
35578type BasicPartitionSafetyCheck interface {
35579	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
35580	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
35581	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
35582	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
35583	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
35584	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
35585	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
35586}
35587
35588// PartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
35589// before continuing with operations.
35590type PartitionSafetyCheck struct {
35591	// PartitionID - Id of the partition which is undergoing the safety check.
35592	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35593	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
35594	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
35595}
35596
35597func unmarshalBasicPartitionSafetyCheck(body []byte) (BasicPartitionSafetyCheck, error) {
35598	var m map[string]interface{}
35599	err := json.Unmarshal(body, &m)
35600	if err != nil {
35601		return nil, err
35602	}
35603
35604	switch m["Kind"] {
35605	case string(KindEnsureAvailability):
35606		var easc EnsureAvailabilitySafetyCheck
35607		err := json.Unmarshal(body, &easc)
35608		return easc, err
35609	case string(KindEnsurePartitionQuorum):
35610		var epqsc EnsurePartitionQurumSafetyCheck
35611		err := json.Unmarshal(body, &epqsc)
35612		return epqsc, err
35613	case string(KindWaitForInbuildReplica):
35614		var wfirsc WaitForInbuildReplicaSafetyCheck
35615		err := json.Unmarshal(body, &wfirsc)
35616		return wfirsc, err
35617	case string(KindWaitForPrimaryPlacement):
35618		var wfppsc WaitForPrimaryPlacementSafetyCheck
35619		err := json.Unmarshal(body, &wfppsc)
35620		return wfppsc, err
35621	case string(KindWaitForPrimarySwap):
35622		var wfpssc WaitForPrimarySwapSafetyCheck
35623		err := json.Unmarshal(body, &wfpssc)
35624		return wfpssc, err
35625	case string(KindWaitForReconfiguration):
35626		var wfrsc WaitForReconfigurationSafetyCheck
35627		err := json.Unmarshal(body, &wfrsc)
35628		return wfrsc, err
35629	default:
35630		var psc PartitionSafetyCheck
35631		err := json.Unmarshal(body, &psc)
35632		return psc, err
35633	}
35634}
35635func unmarshalBasicPartitionSafetyCheckArray(body []byte) ([]BasicPartitionSafetyCheck, error) {
35636	var rawMessages []*json.RawMessage
35637	err := json.Unmarshal(body, &rawMessages)
35638	if err != nil {
35639		return nil, err
35640	}
35641
35642	pscArray := make([]BasicPartitionSafetyCheck, len(rawMessages))
35643
35644	for index, rawMessage := range rawMessages {
35645		psc, err := unmarshalBasicPartitionSafetyCheck(*rawMessage)
35646		if err != nil {
35647			return nil, err
35648		}
35649		pscArray[index] = psc
35650	}
35651	return pscArray, nil
35652}
35653
35654// MarshalJSON is the custom marshaler for PartitionSafetyCheck.
35655func (psc PartitionSafetyCheck) MarshalJSON() ([]byte, error) {
35656	psc.Kind = KindPartitionSafetyCheck
35657	objectMap := make(map[string]interface{})
35658	if psc.PartitionID != nil {
35659		objectMap["PartitionId"] = psc.PartitionID
35660	}
35661	if psc.Kind != "" {
35662		objectMap["Kind"] = psc.Kind
35663	}
35664	return json.Marshal(objectMap)
35665}
35666
35667// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35668func (psc PartitionSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
35669	return &psc, true
35670}
35671
35672// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35673func (psc PartitionSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
35674	return &psc, true
35675}
35676
35677// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35678func (psc PartitionSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
35679	return nil, false
35680}
35681
35682// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35683func (psc PartitionSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
35684	return nil, false
35685}
35686
35687// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35688func (psc PartitionSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
35689	return nil, false
35690}
35691
35692// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35693func (psc PartitionSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
35694	return nil, false
35695}
35696
35697// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35698func (psc PartitionSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
35699	return nil, false
35700}
35701
35702// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35703func (psc PartitionSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
35704	return nil, false
35705}
35706
35707// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35708func (psc PartitionSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
35709	return nil, false
35710}
35711
35712// AsSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35713func (psc PartitionSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
35714	return nil, false
35715}
35716
35717// AsBasicSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35718func (psc PartitionSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
35719	return &psc, true
35720}
35721
35722// BasicPartitionSchemeDescription describes how the service is partitioned.
35723type BasicPartitionSchemeDescription interface {
35724	AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool)
35725	AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool)
35726	AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool)
35727	AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool)
35728}
35729
35730// PartitionSchemeDescription describes how the service is partitioned.
35731type PartitionSchemeDescription struct {
35732	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
35733	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
35734}
35735
35736func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionSchemeDescription, error) {
35737	var m map[string]interface{}
35738	err := json.Unmarshal(body, &m)
35739	if err != nil {
35740		return nil, err
35741	}
35742
35743	switch m["PartitionScheme"] {
35744	case string(PartitionSchemeNamed1):
35745		var npsd NamedPartitionSchemeDescription
35746		err := json.Unmarshal(body, &npsd)
35747		return npsd, err
35748	case string(PartitionSchemeSingleton1):
35749		var spsd SingletonPartitionSchemeDescription
35750		err := json.Unmarshal(body, &spsd)
35751		return spsd, err
35752	case string(PartitionSchemeUniformInt64Range1):
35753		var ui6rpsd UniformInt64RangePartitionSchemeDescription
35754		err := json.Unmarshal(body, &ui6rpsd)
35755		return ui6rpsd, err
35756	default:
35757		var psd PartitionSchemeDescription
35758		err := json.Unmarshal(body, &psd)
35759		return psd, err
35760	}
35761}
35762func unmarshalBasicPartitionSchemeDescriptionArray(body []byte) ([]BasicPartitionSchemeDescription, error) {
35763	var rawMessages []*json.RawMessage
35764	err := json.Unmarshal(body, &rawMessages)
35765	if err != nil {
35766		return nil, err
35767	}
35768
35769	psdArray := make([]BasicPartitionSchemeDescription, len(rawMessages))
35770
35771	for index, rawMessage := range rawMessages {
35772		psd, err := unmarshalBasicPartitionSchemeDescription(*rawMessage)
35773		if err != nil {
35774			return nil, err
35775		}
35776		psdArray[index] = psd
35777	}
35778	return psdArray, nil
35779}
35780
35781// MarshalJSON is the custom marshaler for PartitionSchemeDescription.
35782func (psd PartitionSchemeDescription) MarshalJSON() ([]byte, error) {
35783	psd.PartitionScheme = PartitionSchemePartitionSchemeDescription
35784	objectMap := make(map[string]interface{})
35785	if psd.PartitionScheme != "" {
35786		objectMap["PartitionScheme"] = psd.PartitionScheme
35787	}
35788	return json.Marshal(objectMap)
35789}
35790
35791// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35792func (psd PartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
35793	return nil, false
35794}
35795
35796// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35797func (psd PartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
35798	return nil, false
35799}
35800
35801// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35802func (psd PartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
35803	return nil, false
35804}
35805
35806// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35807func (psd PartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
35808	return &psd, true
35809}
35810
35811// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35812func (psd PartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
35813	return &psd, true
35814}
35815
35816// PartitionsHealthEvaluation represents health evaluation for the partitions of a service, containing
35817// health evaluations for each unhealthy partition that impacts current aggregated health state. Can be
35818// returned when evaluating service health and the aggregated health state is either Error or Warning.
35819type PartitionsHealthEvaluation struct {
35820	// MaxPercentUnhealthyPartitionsPerService - Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy.
35821	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
35822	// TotalCount - Total number of partitions of the service from the health store.
35823	TotalCount *int64 `json:"TotalCount,omitempty"`
35824	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health.
35825	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
35826	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
35827	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
35828	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
35829	Description *string `json:"Description,omitempty"`
35830	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
35831	Kind Kind `json:"Kind,omitempty"`
35832}
35833
35834// MarshalJSON is the custom marshaler for PartitionsHealthEvaluation.
35835func (phe PartitionsHealthEvaluation) MarshalJSON() ([]byte, error) {
35836	phe.Kind = KindPartitions
35837	objectMap := make(map[string]interface{})
35838	if phe.MaxPercentUnhealthyPartitionsPerService != nil {
35839		objectMap["MaxPercentUnhealthyPartitionsPerService"] = phe.MaxPercentUnhealthyPartitionsPerService
35840	}
35841	if phe.TotalCount != nil {
35842		objectMap["TotalCount"] = phe.TotalCount
35843	}
35844	if phe.UnhealthyEvaluations != nil {
35845		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
35846	}
35847	if phe.AggregatedHealthState != "" {
35848		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
35849	}
35850	if phe.Description != nil {
35851		objectMap["Description"] = phe.Description
35852	}
35853	if phe.Kind != "" {
35854		objectMap["Kind"] = phe.Kind
35855	}
35856	return json.Marshal(objectMap)
35857}
35858
35859// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35860func (phe PartitionsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
35861	return nil, false
35862}
35863
35864// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35865func (phe PartitionsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
35866	return nil, false
35867}
35868
35869// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35870func (phe PartitionsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
35871	return nil, false
35872}
35873
35874// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35875func (phe PartitionsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
35876	return nil, false
35877}
35878
35879// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35880func (phe PartitionsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
35881	return nil, false
35882}
35883
35884// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35885func (phe PartitionsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
35886	return nil, false
35887}
35888
35889// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35890func (phe PartitionsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
35891	return nil, false
35892}
35893
35894// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35895func (phe PartitionsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
35896	return nil, false
35897}
35898
35899// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35900func (phe PartitionsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
35901	return nil, false
35902}
35903
35904// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35905func (phe PartitionsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
35906	return nil, false
35907}
35908
35909// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35910func (phe PartitionsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
35911	return nil, false
35912}
35913
35914// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35915func (phe PartitionsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
35916	return nil, false
35917}
35918
35919// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35920func (phe PartitionsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
35921	return &phe, true
35922}
35923
35924// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35925func (phe PartitionsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
35926	return nil, false
35927}
35928
35929// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35930func (phe PartitionsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
35931	return nil, false
35932}
35933
35934// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35935func (phe PartitionsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
35936	return nil, false
35937}
35938
35939// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35940func (phe PartitionsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
35941	return nil, false
35942}
35943
35944// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35945func (phe PartitionsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
35946	return nil, false
35947}
35948
35949// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35950func (phe PartitionsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
35951	return nil, false
35952}
35953
35954// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35955func (phe PartitionsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
35956	return nil, false
35957}
35958
35959// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35960func (phe PartitionsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
35961	return nil, false
35962}
35963
35964// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35965func (phe PartitionsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
35966	return &phe, true
35967}
35968
35969// PrimaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning
35970// in a Primary role.
35971type PrimaryReplicatorStatus struct {
35972	// ReplicationQueueStatus - Details about the replication queue on the primary replicator.
35973	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
35974	// RemoteReplicators - The status of all the active and idle secondary replicators that the primary is aware of.
35975	RemoteReplicators *[]RemoteReplicatorStatus `json:"RemoteReplicators,omitempty"`
35976	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
35977	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
35978}
35979
35980// MarshalJSON is the custom marshaler for PrimaryReplicatorStatus.
35981func (prs PrimaryReplicatorStatus) MarshalJSON() ([]byte, error) {
35982	prs.Kind = KindPrimary
35983	objectMap := make(map[string]interface{})
35984	if prs.ReplicationQueueStatus != nil {
35985		objectMap["ReplicationQueueStatus"] = prs.ReplicationQueueStatus
35986	}
35987	if prs.RemoteReplicators != nil {
35988		objectMap["RemoteReplicators"] = prs.RemoteReplicators
35989	}
35990	if prs.Kind != "" {
35991		objectMap["Kind"] = prs.Kind
35992	}
35993	return json.Marshal(objectMap)
35994}
35995
35996// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35997func (prs PrimaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
35998	return &prs, true
35999}
36000
36001// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
36002func (prs PrimaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
36003	return nil, false
36004}
36005
36006// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
36007func (prs PrimaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
36008	return nil, false
36009}
36010
36011// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
36012func (prs PrimaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
36013	return nil, false
36014}
36015
36016// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
36017func (prs PrimaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
36018	return nil, false
36019}
36020
36021// AsReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
36022func (prs PrimaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
36023	return nil, false
36024}
36025
36026// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
36027func (prs PrimaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
36028	return &prs, true
36029}
36030
36031// ProcessDeactivatedEvent process Deactivated event.
36032type ProcessDeactivatedEvent struct {
36033	// ServiceName - Name of Service.
36034	ServiceName *string `json:"ServiceName,omitempty"`
36035	// ServicePackageName - Name of Service package.
36036	ServicePackageName *string `json:"ServicePackageName,omitempty"`
36037	// ServicePackageActivationID - Activation Id of Service package.
36038	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
36039	// IsExclusive - Indicates IsExclusive flag.
36040	IsExclusive *bool `json:"IsExclusive,omitempty"`
36041	// CodePackageName - Name of Code package.
36042	CodePackageName *string `json:"CodePackageName,omitempty"`
36043	// EntryPointType - Type of EntryPoint.
36044	EntryPointType *string `json:"EntryPointType,omitempty"`
36045	// ExeName - Name of executable.
36046	ExeName *string `json:"ExeName,omitempty"`
36047	// ProcessID - Process Id.
36048	ProcessID *int64 `json:"ProcessId,omitempty"`
36049	// HostID - Host Id.
36050	HostID *string `json:"HostId,omitempty"`
36051	// ExitCode - Exit code of process.
36052	ExitCode *int64 `json:"ExitCode,omitempty"`
36053	// UnexpectedTermination - Indicates if termination is unexpected.
36054	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
36055	// StartTime - Start time of process.
36056	StartTime *date.Time `json:"StartTime,omitempty"`
36057	// ApplicationID - The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.
36058	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
36059	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
36060	ApplicationID *string `json:"ApplicationId,omitempty"`
36061	// EventInstanceID - The identifier for the FabricEvent instance.
36062	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
36063	// TimeStamp - The time event was logged.
36064	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
36065	// HasCorrelatedEvents - Shows there is existing related events available.
36066	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
36067	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
36068	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
36069}
36070
36071// MarshalJSON is the custom marshaler for ProcessDeactivatedEvent.
36072func (pde ProcessDeactivatedEvent) MarshalJSON() ([]byte, error) {
36073	pde.Kind = KindProcessDeactivated
36074	objectMap := make(map[string]interface{})
36075	if pde.ServiceName != nil {
36076		objectMap["ServiceName"] = pde.ServiceName
36077	}
36078	if pde.ServicePackageName != nil {
36079		objectMap["ServicePackageName"] = pde.ServicePackageName
36080	}
36081	if pde.ServicePackageActivationID != nil {
36082		objectMap["ServicePackageActivationId"] = pde.ServicePackageActivationID
36083	}
36084	if pde.IsExclusive != nil {
36085		objectMap["IsExclusive"] = pde.IsExclusive
36086	}
36087	if pde.CodePackageName != nil {
36088		objectMap["CodePackageName"] = pde.CodePackageName
36089	}
36090	if pde.EntryPointType != nil {
36091		objectMap["EntryPointType"] = pde.EntryPointType
36092	}
36093	if pde.ExeName != nil {
36094		objectMap["ExeName"] = pde.ExeName
36095	}
36096	if pde.ProcessID != nil {
36097		objectMap["ProcessId"] = pde.ProcessID
36098	}
36099	if pde.HostID != nil {
36100		objectMap["HostId"] = pde.HostID
36101	}
36102	if pde.ExitCode != nil {
36103		objectMap["ExitCode"] = pde.ExitCode
36104	}
36105	if pde.UnexpectedTermination != nil {
36106		objectMap["UnexpectedTermination"] = pde.UnexpectedTermination
36107	}
36108	if pde.StartTime != nil {
36109		objectMap["StartTime"] = pde.StartTime
36110	}
36111	if pde.ApplicationID != nil {
36112		objectMap["ApplicationId"] = pde.ApplicationID
36113	}
36114	if pde.EventInstanceID != nil {
36115		objectMap["EventInstanceId"] = pde.EventInstanceID
36116	}
36117	if pde.TimeStamp != nil {
36118		objectMap["TimeStamp"] = pde.TimeStamp
36119	}
36120	if pde.HasCorrelatedEvents != nil {
36121		objectMap["HasCorrelatedEvents"] = pde.HasCorrelatedEvents
36122	}
36123	if pde.Kind != "" {
36124		objectMap["Kind"] = pde.Kind
36125	}
36126	return json.Marshal(objectMap)
36127}
36128
36129// AsApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36130func (pde ProcessDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
36131	return nil, false
36132}
36133
36134// AsBasicApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36135func (pde ProcessDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
36136	return &pde, true
36137}
36138
36139// AsClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36140func (pde ProcessDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
36141	return nil, false
36142}
36143
36144// AsBasicClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36145func (pde ProcessDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
36146	return nil, false
36147}
36148
36149// AsContainerInstanceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36150func (pde ProcessDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
36151	return nil, false
36152}
36153
36154// AsNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36155func (pde ProcessDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
36156	return nil, false
36157}
36158
36159// AsBasicNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36160func (pde ProcessDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
36161	return nil, false
36162}
36163
36164// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36165func (pde ProcessDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
36166	return nil, false
36167}
36168
36169// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36170func (pde ProcessDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
36171	return nil, false
36172}
36173
36174// AsPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36175func (pde ProcessDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
36176	return nil, false
36177}
36178
36179// AsBasicPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36180func (pde ProcessDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
36181	return nil, false
36182}
36183
36184// AsReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36185func (pde ProcessDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
36186	return nil, false
36187}
36188
36189// AsBasicReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36190func (pde ProcessDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
36191	return nil, false
36192}
36193
36194// AsServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36195func (pde ProcessDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
36196	return nil, false
36197}
36198
36199// AsBasicServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36200func (pde ProcessDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
36201	return nil, false
36202}
36203
36204// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36205func (pde ProcessDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
36206	return nil, false
36207}
36208
36209// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36210func (pde ProcessDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
36211	return nil, false
36212}
36213
36214// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36215func (pde ProcessDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
36216	return nil, false
36217}
36218
36219// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36220func (pde ProcessDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
36221	return nil, false
36222}
36223
36224// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36225func (pde ProcessDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
36226	return nil, false
36227}
36228
36229// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36230func (pde ProcessDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
36231	return nil, false
36232}
36233
36234// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36235func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
36236	return nil, false
36237}
36238
36239// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36240func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
36241	return nil, false
36242}
36243
36244// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36245func (pde ProcessDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
36246	return nil, false
36247}
36248
36249// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36250func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
36251	return nil, false
36252}
36253
36254// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36255func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
36256	return nil, false
36257}
36258
36259// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36260func (pde ProcessDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
36261	return &pde, true
36262}
36263
36264// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36265func (pde ProcessDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
36266	return nil, false
36267}
36268
36269// AsNodeAbortedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36270func (pde ProcessDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
36271	return nil, false
36272}
36273
36274// AsNodeAbortingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36275func (pde ProcessDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
36276	return nil, false
36277}
36278
36279// AsNodeAddedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36280func (pde ProcessDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
36281	return nil, false
36282}
36283
36284// AsNodeCloseEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36285func (pde ProcessDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
36286	return nil, false
36287}
36288
36289// AsNodeClosingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36290func (pde ProcessDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
36291	return nil, false
36292}
36293
36294// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36295func (pde ProcessDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
36296	return nil, false
36297}
36298
36299// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36300func (pde ProcessDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
36301	return nil, false
36302}
36303
36304// AsNodeDownEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36305func (pde ProcessDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
36306	return nil, false
36307}
36308
36309// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36310func (pde ProcessDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
36311	return nil, false
36312}
36313
36314// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36315func (pde ProcessDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
36316	return nil, false
36317}
36318
36319// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36320func (pde ProcessDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
36321	return nil, false
36322}
36323
36324// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36325func (pde ProcessDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
36326	return nil, false
36327}
36328
36329// AsNodeOpeningEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36330func (pde ProcessDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
36331	return nil, false
36332}
36333
36334// AsNodeRemovedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36335func (pde ProcessDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
36336	return nil, false
36337}
36338
36339// AsNodeUpEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36340func (pde ProcessDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
36341	return nil, false
36342}
36343
36344// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36345func (pde ProcessDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
36346	return nil, false
36347}
36348
36349// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36350func (pde ProcessDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
36351	return nil, false
36352}
36353
36354// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36355func (pde ProcessDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
36356	return nil, false
36357}
36358
36359// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36360func (pde ProcessDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
36361	return nil, false
36362}
36363
36364// AsServiceCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36365func (pde ProcessDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
36366	return nil, false
36367}
36368
36369// AsServiceDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36370func (pde ProcessDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
36371	return nil, false
36372}
36373
36374// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36375func (pde ProcessDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
36376	return nil, false
36377}
36378
36379// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36380func (pde ProcessDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
36381	return nil, false
36382}
36383
36384// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36385func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
36386	return nil, false
36387}
36388
36389// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36390func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
36391	return nil, false
36392}
36393
36394// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36395func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
36396	return nil, false
36397}
36398
36399// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36400func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
36401	return nil, false
36402}
36403
36404// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36405func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
36406	return nil, false
36407}
36408
36409// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36410func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
36411	return nil, false
36412}
36413
36414// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36415func (pde ProcessDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
36416	return nil, false
36417}
36418
36419// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36420func (pde ProcessDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
36421	return nil, false
36422}
36423
36424// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36425func (pde ProcessDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
36426	return nil, false
36427}
36428
36429// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36430func (pde ProcessDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
36431	return nil, false
36432}
36433
36434// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36435func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
36436	return nil, false
36437}
36438
36439// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36440func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
36441	return nil, false
36442}
36443
36444// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36445func (pde ProcessDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
36446	return nil, false
36447}
36448
36449// AsChaosStoppedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36450func (pde ProcessDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
36451	return nil, false
36452}
36453
36454// AsChaosStartedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36455func (pde ProcessDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
36456	return nil, false
36457}
36458
36459// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36460func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
36461	return nil, false
36462}
36463
36464// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36465func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
36466	return nil, false
36467}
36468
36469// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36470func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
36471	return nil, false
36472}
36473
36474// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36475func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
36476	return nil, false
36477}
36478
36479// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36480func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
36481	return nil, false
36482}
36483
36484// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36485func (pde ProcessDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
36486	return nil, false
36487}
36488
36489// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36490func (pde ProcessDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
36491	return nil, false
36492}
36493
36494// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36495func (pde ProcessDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
36496	return nil, false
36497}
36498
36499// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36500func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
36501	return nil, false
36502}
36503
36504// AsFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36505func (pde ProcessDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
36506	return nil, false
36507}
36508
36509// AsBasicFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36510func (pde ProcessDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
36511	return &pde, true
36512}
36513
36514// PropertyBatchDescriptionList describes a list of property batch operations to be executed. Either all or
36515// none of the operations will be committed.
36516type PropertyBatchDescriptionList struct {
36517	// Operations - A list of the property batch operations to be executed.
36518	Operations *[]BasicPropertyBatchOperation `json:"Operations,omitempty"`
36519}
36520
36521// UnmarshalJSON is the custom unmarshaler for PropertyBatchDescriptionList struct.
36522func (pbdl *PropertyBatchDescriptionList) UnmarshalJSON(body []byte) error {
36523	var m map[string]*json.RawMessage
36524	err := json.Unmarshal(body, &m)
36525	if err != nil {
36526		return err
36527	}
36528	for k, v := range m {
36529		switch k {
36530		case "Operations":
36531			if v != nil {
36532				operations, err := unmarshalBasicPropertyBatchOperationArray(*v)
36533				if err != nil {
36534					return err
36535				}
36536				pbdl.Operations = &operations
36537			}
36538		}
36539	}
36540
36541	return nil
36542}
36543
36544// BasicPropertyBatchInfo information about the results of a property batch.
36545type BasicPropertyBatchInfo interface {
36546	AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool)
36547	AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool)
36548	AsPropertyBatchInfo() (*PropertyBatchInfo, bool)
36549}
36550
36551// PropertyBatchInfo information about the results of a property batch.
36552type PropertyBatchInfo struct {
36553	autorest.Response `json:"-"`
36554	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
36555	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
36556}
36557
36558func unmarshalBasicPropertyBatchInfo(body []byte) (BasicPropertyBatchInfo, error) {
36559	var m map[string]interface{}
36560	err := json.Unmarshal(body, &m)
36561	if err != nil {
36562		return nil, err
36563	}
36564
36565	switch m["Kind"] {
36566	case string(KindSuccessful):
36567		var spbi SuccessfulPropertyBatchInfo
36568		err := json.Unmarshal(body, &spbi)
36569		return spbi, err
36570	case string(KindFailed):
36571		var fpbi FailedPropertyBatchInfo
36572		err := json.Unmarshal(body, &fpbi)
36573		return fpbi, err
36574	default:
36575		var pbi PropertyBatchInfo
36576		err := json.Unmarshal(body, &pbi)
36577		return pbi, err
36578	}
36579}
36580func unmarshalBasicPropertyBatchInfoArray(body []byte) ([]BasicPropertyBatchInfo, error) {
36581	var rawMessages []*json.RawMessage
36582	err := json.Unmarshal(body, &rawMessages)
36583	if err != nil {
36584		return nil, err
36585	}
36586
36587	pbiArray := make([]BasicPropertyBatchInfo, len(rawMessages))
36588
36589	for index, rawMessage := range rawMessages {
36590		pbi, err := unmarshalBasicPropertyBatchInfo(*rawMessage)
36591		if err != nil {
36592			return nil, err
36593		}
36594		pbiArray[index] = pbi
36595	}
36596	return pbiArray, nil
36597}
36598
36599// MarshalJSON is the custom marshaler for PropertyBatchInfo.
36600func (pbi PropertyBatchInfo) MarshalJSON() ([]byte, error) {
36601	pbi.Kind = KindPropertyBatchInfo
36602	objectMap := make(map[string]interface{})
36603	if pbi.Kind != "" {
36604		objectMap["Kind"] = pbi.Kind
36605	}
36606	return json.Marshal(objectMap)
36607}
36608
36609// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36610func (pbi PropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
36611	return nil, false
36612}
36613
36614// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36615func (pbi PropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
36616	return nil, false
36617}
36618
36619// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36620func (pbi PropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
36621	return &pbi, true
36622}
36623
36624// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36625func (pbi PropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
36626	return &pbi, true
36627}
36628
36629// PropertyBatchInfoModel ...
36630type PropertyBatchInfoModel struct {
36631	autorest.Response `json:"-"`
36632	Value             BasicPropertyBatchInfo `json:"value,omitempty"`
36633}
36634
36635// UnmarshalJSON is the custom unmarshaler for PropertyBatchInfoModel struct.
36636func (pbim *PropertyBatchInfoModel) UnmarshalJSON(body []byte) error {
36637	pbi, err := unmarshalBasicPropertyBatchInfo(body)
36638	if err != nil {
36639		return err
36640	}
36641	pbim.Value = pbi
36642
36643	return nil
36644}
36645
36646// BasicPropertyBatchOperation represents the base type for property operations that can be put into a batch and
36647// submitted.
36648type BasicPropertyBatchOperation interface {
36649	AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool)
36650	AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool)
36651	AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool)
36652	AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool)
36653	AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool)
36654	AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool)
36655	AsPropertyBatchOperation() (*PropertyBatchOperation, bool)
36656}
36657
36658// PropertyBatchOperation represents the base type for property operations that can be put into a batch and
36659// submitted.
36660type PropertyBatchOperation struct {
36661	// PropertyName - The name of the Service Fabric property.
36662	PropertyName *string `json:"PropertyName,omitempty"`
36663	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
36664	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
36665}
36666
36667func unmarshalBasicPropertyBatchOperation(body []byte) (BasicPropertyBatchOperation, error) {
36668	var m map[string]interface{}
36669	err := json.Unmarshal(body, &m)
36670	if err != nil {
36671		return nil, err
36672	}
36673
36674	switch m["Kind"] {
36675	case string(KindCheckExists):
36676		var cepbo CheckExistsPropertyBatchOperation
36677		err := json.Unmarshal(body, &cepbo)
36678		return cepbo, err
36679	case string(KindCheckSequence):
36680		var cspbo CheckSequencePropertyBatchOperation
36681		err := json.Unmarshal(body, &cspbo)
36682		return cspbo, err
36683	case string(KindCheckValue):
36684		var cvpbo CheckValuePropertyBatchOperation
36685		err := json.Unmarshal(body, &cvpbo)
36686		return cvpbo, err
36687	case string(KindDelete):
36688		var dpbo DeletePropertyBatchOperation
36689		err := json.Unmarshal(body, &dpbo)
36690		return dpbo, err
36691	case string(KindGet):
36692		var gpbo GetPropertyBatchOperation
36693		err := json.Unmarshal(body, &gpbo)
36694		return gpbo, err
36695	case string(KindPut):
36696		var ppbo PutPropertyBatchOperation
36697		err := json.Unmarshal(body, &ppbo)
36698		return ppbo, err
36699	default:
36700		var pbo PropertyBatchOperation
36701		err := json.Unmarshal(body, &pbo)
36702		return pbo, err
36703	}
36704}
36705func unmarshalBasicPropertyBatchOperationArray(body []byte) ([]BasicPropertyBatchOperation, error) {
36706	var rawMessages []*json.RawMessage
36707	err := json.Unmarshal(body, &rawMessages)
36708	if err != nil {
36709		return nil, err
36710	}
36711
36712	pboArray := make([]BasicPropertyBatchOperation, len(rawMessages))
36713
36714	for index, rawMessage := range rawMessages {
36715		pbo, err := unmarshalBasicPropertyBatchOperation(*rawMessage)
36716		if err != nil {
36717			return nil, err
36718		}
36719		pboArray[index] = pbo
36720	}
36721	return pboArray, nil
36722}
36723
36724// MarshalJSON is the custom marshaler for PropertyBatchOperation.
36725func (pbo PropertyBatchOperation) MarshalJSON() ([]byte, error) {
36726	pbo.Kind = KindPropertyBatchOperation
36727	objectMap := make(map[string]interface{})
36728	if pbo.PropertyName != nil {
36729		objectMap["PropertyName"] = pbo.PropertyName
36730	}
36731	if pbo.Kind != "" {
36732		objectMap["Kind"] = pbo.Kind
36733	}
36734	return json.Marshal(objectMap)
36735}
36736
36737// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36738func (pbo PropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
36739	return nil, false
36740}
36741
36742// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36743func (pbo PropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
36744	return nil, false
36745}
36746
36747// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36748func (pbo PropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
36749	return nil, false
36750}
36751
36752// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36753func (pbo PropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
36754	return nil, false
36755}
36756
36757// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36758func (pbo PropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
36759	return nil, false
36760}
36761
36762// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36763func (pbo PropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
36764	return nil, false
36765}
36766
36767// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36768func (pbo PropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
36769	return &pbo, true
36770}
36771
36772// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36773func (pbo PropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
36774	return &pbo, true
36775}
36776
36777// PropertyDescription description of a Service Fabric property.
36778type PropertyDescription struct {
36779	// PropertyName - The name of the Service Fabric property.
36780	PropertyName *string `json:"PropertyName,omitempty"`
36781	// CustomTypeID - The property's custom type ID. Using this property, the user is able to tag the type of the value of the property.
36782	CustomTypeID *string `json:"CustomTypeId,omitempty"`
36783	// Value - Describes a Service Fabric property value.
36784	Value BasicPropertyValue `json:"Value,omitempty"`
36785}
36786
36787// UnmarshalJSON is the custom unmarshaler for PropertyDescription struct.
36788func (pd *PropertyDescription) UnmarshalJSON(body []byte) error {
36789	var m map[string]*json.RawMessage
36790	err := json.Unmarshal(body, &m)
36791	if err != nil {
36792		return err
36793	}
36794	for k, v := range m {
36795		switch k {
36796		case "PropertyName":
36797			if v != nil {
36798				var propertyName string
36799				err = json.Unmarshal(*v, &propertyName)
36800				if err != nil {
36801					return err
36802				}
36803				pd.PropertyName = &propertyName
36804			}
36805		case "CustomTypeId":
36806			if v != nil {
36807				var customTypeID string
36808				err = json.Unmarshal(*v, &customTypeID)
36809				if err != nil {
36810					return err
36811				}
36812				pd.CustomTypeID = &customTypeID
36813			}
36814		case "Value":
36815			if v != nil {
36816				value, err := unmarshalBasicPropertyValue(*v)
36817				if err != nil {
36818					return err
36819				}
36820				pd.Value = value
36821			}
36822		}
36823	}
36824
36825	return nil
36826}
36827
36828// PropertyInfo information about a Service Fabric property.
36829type PropertyInfo struct {
36830	autorest.Response `json:"-"`
36831	// Name - The name of the Service Fabric property.
36832	Name *string `json:"Name,omitempty"`
36833	// Value - Describes a Service Fabric property value.
36834	Value BasicPropertyValue `json:"Value,omitempty"`
36835	// Metadata - The metadata associated with a property, including the property's name.
36836	Metadata *PropertyMetadata `json:"Metadata,omitempty"`
36837}
36838
36839// UnmarshalJSON is the custom unmarshaler for PropertyInfo struct.
36840func (pi *PropertyInfo) UnmarshalJSON(body []byte) error {
36841	var m map[string]*json.RawMessage
36842	err := json.Unmarshal(body, &m)
36843	if err != nil {
36844		return err
36845	}
36846	for k, v := range m {
36847		switch k {
36848		case "Name":
36849			if v != nil {
36850				var name string
36851				err = json.Unmarshal(*v, &name)
36852				if err != nil {
36853					return err
36854				}
36855				pi.Name = &name
36856			}
36857		case "Value":
36858			if v != nil {
36859				value, err := unmarshalBasicPropertyValue(*v)
36860				if err != nil {
36861					return err
36862				}
36863				pi.Value = value
36864			}
36865		case "Metadata":
36866			if v != nil {
36867				var metadata PropertyMetadata
36868				err = json.Unmarshal(*v, &metadata)
36869				if err != nil {
36870					return err
36871				}
36872				pi.Metadata = &metadata
36873			}
36874		}
36875	}
36876
36877	return nil
36878}
36879
36880// PropertyMetadata the metadata associated with a property, including the property's name.
36881type PropertyMetadata struct {
36882	// TypeID - The kind of property, determined by the type of data. Following are the possible values. Possible values include: 'PropertyValueKindInvalid', 'PropertyValueKindBinary', 'PropertyValueKindInt64', 'PropertyValueKindDouble', 'PropertyValueKindString', 'PropertyValueKindGUID'
36883	TypeID PropertyValueKind `json:"TypeId,omitempty"`
36884	// CustomTypeID - The property's custom type ID.
36885	CustomTypeID *string `json:"CustomTypeId,omitempty"`
36886	// Parent - The name of the parent Service Fabric Name for the property. It could be thought of as the name-space/table under which the property exists.
36887	Parent *string `json:"Parent,omitempty"`
36888	// SizeInBytes - The length of the serialized property value.
36889	SizeInBytes *int32 `json:"SizeInBytes,omitempty"`
36890	// LastModifiedUtcTimestamp - Represents when the Property was last modified. Only write operations will cause this field to be updated.
36891	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
36892	// SequenceNumber - The version of the property. Every time a property is modified, its sequence number is increased.
36893	SequenceNumber *string `json:"SequenceNumber,omitempty"`
36894}
36895
36896// BasicPropertyValue describes a Service Fabric property value.
36897type BasicPropertyValue interface {
36898	AsBinaryPropertyValue() (*BinaryPropertyValue, bool)
36899	AsInt64PropertyValue() (*Int64PropertyValue, bool)
36900	AsDoublePropertyValue() (*DoublePropertyValue, bool)
36901	AsStringPropertyValue() (*StringPropertyValue, bool)
36902	AsGUIDPropertyValue() (*GUIDPropertyValue, bool)
36903	AsPropertyValue() (*PropertyValue, bool)
36904}
36905
36906// PropertyValue describes a Service Fabric property value.
36907type PropertyValue struct {
36908	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
36909	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
36910}
36911
36912func unmarshalBasicPropertyValue(body []byte) (BasicPropertyValue, error) {
36913	var m map[string]interface{}
36914	err := json.Unmarshal(body, &m)
36915	if err != nil {
36916		return nil, err
36917	}
36918
36919	switch m["Kind"] {
36920	case string(KindBinary):
36921		var bpv BinaryPropertyValue
36922		err := json.Unmarshal(body, &bpv)
36923		return bpv, err
36924	case string(KindInt64):
36925		var i6pv Int64PropertyValue
36926		err := json.Unmarshal(body, &i6pv)
36927		return i6pv, err
36928	case string(KindDouble):
36929		var dpv DoublePropertyValue
36930		err := json.Unmarshal(body, &dpv)
36931		return dpv, err
36932	case string(KindString):
36933		var spv StringPropertyValue
36934		err := json.Unmarshal(body, &spv)
36935		return spv, err
36936	case string(KindGUID):
36937		var gpv GUIDPropertyValue
36938		err := json.Unmarshal(body, &gpv)
36939		return gpv, err
36940	default:
36941		var pv PropertyValue
36942		err := json.Unmarshal(body, &pv)
36943		return pv, err
36944	}
36945}
36946func unmarshalBasicPropertyValueArray(body []byte) ([]BasicPropertyValue, error) {
36947	var rawMessages []*json.RawMessage
36948	err := json.Unmarshal(body, &rawMessages)
36949	if err != nil {
36950		return nil, err
36951	}
36952
36953	pvArray := make([]BasicPropertyValue, len(rawMessages))
36954
36955	for index, rawMessage := range rawMessages {
36956		pv, err := unmarshalBasicPropertyValue(*rawMessage)
36957		if err != nil {
36958			return nil, err
36959		}
36960		pvArray[index] = pv
36961	}
36962	return pvArray, nil
36963}
36964
36965// MarshalJSON is the custom marshaler for PropertyValue.
36966func (pv PropertyValue) MarshalJSON() ([]byte, error) {
36967	pv.Kind = KindPropertyValue
36968	objectMap := make(map[string]interface{})
36969	if pv.Kind != "" {
36970		objectMap["Kind"] = pv.Kind
36971	}
36972	return json.Marshal(objectMap)
36973}
36974
36975// AsBinaryPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36976func (pv PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
36977	return nil, false
36978}
36979
36980// AsInt64PropertyValue is the BasicPropertyValue implementation for PropertyValue.
36981func (pv PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
36982	return nil, false
36983}
36984
36985// AsDoublePropertyValue is the BasicPropertyValue implementation for PropertyValue.
36986func (pv PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
36987	return nil, false
36988}
36989
36990// AsStringPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36991func (pv PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
36992	return nil, false
36993}
36994
36995// AsGUIDPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36996func (pv PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
36997	return nil, false
36998}
36999
37000// AsPropertyValue is the BasicPropertyValue implementation for PropertyValue.
37001func (pv PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
37002	return &pv, true
37003}
37004
37005// AsBasicPropertyValue is the BasicPropertyValue implementation for PropertyValue.
37006func (pv PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
37007	return &pv, true
37008}
37009
37010// ProvisionApplicationTypeDescription describes the operation to register or provision an application type
37011// using an application package uploaded to the Service Fabric image store.
37012type ProvisionApplicationTypeDescription struct {
37013	// ApplicationTypeBuildPath - The relative path for the application package in the image store specified during the prior upload operation.
37014	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
37015	// ApplicationPackageCleanupPolicy - The kind of action that needs to be taken for cleaning up the application package after successful provision. Possible values include: 'ApplicationPackageCleanupPolicyInvalid', 'ApplicationPackageCleanupPolicyDefault', 'ApplicationPackageCleanupPolicyAutomatic', 'ApplicationPackageCleanupPolicyManual'
37016	ApplicationPackageCleanupPolicy ApplicationPackageCleanupPolicy `json:"ApplicationPackageCleanupPolicy,omitempty"`
37017	// Async - Indicates whether or not provisioning should occur asynchronously. When set to true, the provision operation returns when the request is accepted by the system, and the provision operation continues without any timeout limit. The default value is false. For large application packages, we recommend setting the value to true.
37018	Async *bool `json:"Async,omitempty"`
37019	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
37020	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
37021}
37022
37023// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescription.
37024func (patd ProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
37025	patd.Kind = KindImageStorePath
37026	objectMap := make(map[string]interface{})
37027	if patd.ApplicationTypeBuildPath != nil {
37028		objectMap["ApplicationTypeBuildPath"] = patd.ApplicationTypeBuildPath
37029	}
37030	if patd.ApplicationPackageCleanupPolicy != "" {
37031		objectMap["ApplicationPackageCleanupPolicy"] = patd.ApplicationPackageCleanupPolicy
37032	}
37033	if patd.Async != nil {
37034		objectMap["Async"] = patd.Async
37035	}
37036	if patd.Kind != "" {
37037		objectMap["Kind"] = patd.Kind
37038	}
37039	return json.Marshal(objectMap)
37040}
37041
37042// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
37043func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
37044	return &patd, true
37045}
37046
37047// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
37048func (patd ProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
37049	return nil, false
37050}
37051
37052// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
37053func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
37054	return nil, false
37055}
37056
37057// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
37058func (patd ProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
37059	return &patd, true
37060}
37061
37062// BasicProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if the
37063// operation needs to be asynchronous or not. Supported types of provision operations are from either image store or
37064// external store.
37065type BasicProvisionApplicationTypeDescriptionBase interface {
37066	AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool)
37067	AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool)
37068	AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool)
37069}
37070
37071// ProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if
37072// the operation needs to be asynchronous or not. Supported types of provision operations are from either image
37073// store or external store.
37074type ProvisionApplicationTypeDescriptionBase struct {
37075	// Async - Indicates whether or not provisioning should occur asynchronously. When set to true, the provision operation returns when the request is accepted by the system, and the provision operation continues without any timeout limit. The default value is false. For large application packages, we recommend setting the value to true.
37076	Async *bool `json:"Async,omitempty"`
37077	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
37078	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
37079}
37080
37081func unmarshalBasicProvisionApplicationTypeDescriptionBase(body []byte) (BasicProvisionApplicationTypeDescriptionBase, error) {
37082	var m map[string]interface{}
37083	err := json.Unmarshal(body, &m)
37084	if err != nil {
37085		return nil, err
37086	}
37087
37088	switch m["Kind"] {
37089	case string(KindImageStorePath):
37090		var patd ProvisionApplicationTypeDescription
37091		err := json.Unmarshal(body, &patd)
37092		return patd, err
37093	case string(KindExternalStore):
37094		var espatd ExternalStoreProvisionApplicationTypeDescription
37095		err := json.Unmarshal(body, &espatd)
37096		return espatd, err
37097	default:
37098		var patdb ProvisionApplicationTypeDescriptionBase
37099		err := json.Unmarshal(body, &patdb)
37100		return patdb, err
37101	}
37102}
37103func unmarshalBasicProvisionApplicationTypeDescriptionBaseArray(body []byte) ([]BasicProvisionApplicationTypeDescriptionBase, error) {
37104	var rawMessages []*json.RawMessage
37105	err := json.Unmarshal(body, &rawMessages)
37106	if err != nil {
37107		return nil, err
37108	}
37109
37110	patdbArray := make([]BasicProvisionApplicationTypeDescriptionBase, len(rawMessages))
37111
37112	for index, rawMessage := range rawMessages {
37113		patdb, err := unmarshalBasicProvisionApplicationTypeDescriptionBase(*rawMessage)
37114		if err != nil {
37115			return nil, err
37116		}
37117		patdbArray[index] = patdb
37118	}
37119	return patdbArray, nil
37120}
37121
37122// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescriptionBase.
37123func (patdb ProvisionApplicationTypeDescriptionBase) MarshalJSON() ([]byte, error) {
37124	patdb.Kind = KindProvisionApplicationTypeDescriptionBase
37125	objectMap := make(map[string]interface{})
37126	if patdb.Async != nil {
37127		objectMap["Async"] = patdb.Async
37128	}
37129	if patdb.Kind != "" {
37130		objectMap["Kind"] = patdb.Kind
37131	}
37132	return json.Marshal(objectMap)
37133}
37134
37135// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
37136func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
37137	return nil, false
37138}
37139
37140// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
37141func (patdb ProvisionApplicationTypeDescriptionBase) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
37142	return nil, false
37143}
37144
37145// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
37146func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
37147	return &patdb, true
37148}
37149
37150// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
37151func (patdb ProvisionApplicationTypeDescriptionBase) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
37152	return &patdb, true
37153}
37154
37155// ProvisionFabricDescription describes the parameters for provisioning a cluster.
37156type ProvisionFabricDescription struct {
37157	// CodeFilePath - The cluster code package file path.
37158	CodeFilePath *string `json:"CodeFilePath,omitempty"`
37159	// ClusterManifestFilePath - The cluster manifest file path.
37160	ClusterManifestFilePath *string `json:"ClusterManifestFilePath,omitempty"`
37161}
37162
37163// PutPropertyBatchOperation puts the specified property under the specified name.
37164// Note that if one PropertyBatchOperation in a PropertyBatch fails,
37165// the entire batch fails and cannot be committed in a transactional manner.
37166type PutPropertyBatchOperation struct {
37167	// Value - Describes a Service Fabric property value.
37168	Value BasicPropertyValue `json:"Value,omitempty"`
37169	// CustomTypeID - The property's custom type ID. Using this property, the user is able to tag the type of the value of the property.
37170	CustomTypeID *string `json:"CustomTypeId,omitempty"`
37171	// PropertyName - The name of the Service Fabric property.
37172	PropertyName *string `json:"PropertyName,omitempty"`
37173	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
37174	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
37175}
37176
37177// MarshalJSON is the custom marshaler for PutPropertyBatchOperation.
37178func (ppbo PutPropertyBatchOperation) MarshalJSON() ([]byte, error) {
37179	ppbo.Kind = KindPut
37180	objectMap := make(map[string]interface{})
37181	objectMap["Value"] = ppbo.Value
37182	if ppbo.CustomTypeID != nil {
37183		objectMap["CustomTypeId"] = ppbo.CustomTypeID
37184	}
37185	if ppbo.PropertyName != nil {
37186		objectMap["PropertyName"] = ppbo.PropertyName
37187	}
37188	if ppbo.Kind != "" {
37189		objectMap["Kind"] = ppbo.Kind
37190	}
37191	return json.Marshal(objectMap)
37192}
37193
37194// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37195func (ppbo PutPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
37196	return nil, false
37197}
37198
37199// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37200func (ppbo PutPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
37201	return nil, false
37202}
37203
37204// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37205func (ppbo PutPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
37206	return nil, false
37207}
37208
37209// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37210func (ppbo PutPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
37211	return nil, false
37212}
37213
37214// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37215func (ppbo PutPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
37216	return nil, false
37217}
37218
37219// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37220func (ppbo PutPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
37221	return &ppbo, true
37222}
37223
37224// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37225func (ppbo PutPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
37226	return nil, false
37227}
37228
37229// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
37230func (ppbo PutPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
37231	return &ppbo, true
37232}
37233
37234// UnmarshalJSON is the custom unmarshaler for PutPropertyBatchOperation struct.
37235func (ppbo *PutPropertyBatchOperation) UnmarshalJSON(body []byte) error {
37236	var m map[string]*json.RawMessage
37237	err := json.Unmarshal(body, &m)
37238	if err != nil {
37239		return err
37240	}
37241	for k, v := range m {
37242		switch k {
37243		case "Value":
37244			if v != nil {
37245				value, err := unmarshalBasicPropertyValue(*v)
37246				if err != nil {
37247					return err
37248				}
37249				ppbo.Value = value
37250			}
37251		case "CustomTypeId":
37252			if v != nil {
37253				var customTypeID string
37254				err = json.Unmarshal(*v, &customTypeID)
37255				if err != nil {
37256					return err
37257				}
37258				ppbo.CustomTypeID = &customTypeID
37259			}
37260		case "PropertyName":
37261			if v != nil {
37262				var propertyName string
37263				err = json.Unmarshal(*v, &propertyName)
37264				if err != nil {
37265					return err
37266				}
37267				ppbo.PropertyName = &propertyName
37268			}
37269		case "Kind":
37270			if v != nil {
37271				var kind KindBasicPropertyBatchOperation
37272				err = json.Unmarshal(*v, &kind)
37273				if err != nil {
37274					return err
37275				}
37276				ppbo.Kind = kind
37277			}
37278		}
37279	}
37280
37281	return nil
37282}
37283
37284// ReconfigurationInformation information about current reconfiguration like phase, type, previous
37285// configuration role of replica and reconfiguration start date time.
37286type ReconfigurationInformation struct {
37287	// PreviousConfigurationRole - Replica role before reconfiguration started. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
37288	PreviousConfigurationRole ReplicaRole `json:"PreviousConfigurationRole,omitempty"`
37289	// ReconfigurationPhase - Current phase of ongoing reconfiguration. If no reconfiguration is taking place then this value will be "None". Possible values include: 'ReconfigurationPhaseUnknown', 'ReconfigurationPhaseNone', 'ReconfigurationPhasePhase0', 'ReconfigurationPhasePhase1', 'ReconfigurationPhasePhase2', 'ReconfigurationPhasePhase3', 'ReconfigurationPhasePhase4', 'ReconfigurationPhaseAbortPhaseZero'
37290	ReconfigurationPhase ReconfigurationPhase `json:"ReconfigurationPhase,omitempty"`
37291	// ReconfigurationType - Type of current ongoing reconfiguration. If no reconfiguration is taking place then this value will be "None". Possible values include: 'ReconfigurationTypeUnknown', 'ReconfigurationTypeSwapPrimary', 'ReconfigurationTypeFailover', 'ReconfigurationTypeOther'
37292	ReconfigurationType ReconfigurationType `json:"ReconfigurationType,omitempty"`
37293	// ReconfigurationStartTimeUtc - Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time.
37294	ReconfigurationStartTimeUtc *date.Time `json:"ReconfigurationStartTimeUtc,omitempty"`
37295}
37296
37297// RegistryCredential credential information to connect to container registry.
37298type RegistryCredential struct {
37299	// RegistryUserName - The user name to connect to container registry.
37300	RegistryUserName *string `json:"RegistryUserName,omitempty"`
37301	// RegistryPassword - The password for supplied username to connect to container registry.
37302	RegistryPassword *string `json:"RegistryPassword,omitempty"`
37303	// PasswordEncrypted - Indicates that supplied container registry password is encrypted.
37304	PasswordEncrypted *bool `json:"PasswordEncrypted,omitempty"`
37305}
37306
37307// RemoteReplicatorAcknowledgementDetail provides various statistics of the acknowledgements that are being
37308// received from the remote replicator.
37309type RemoteReplicatorAcknowledgementDetail struct {
37310	// AverageReceiveDuration - Represents the average duration it takes for the remote replicator to receive an operation.
37311	AverageReceiveDuration *string `json:"AverageReceiveDuration,omitempty"`
37312	// AverageApplyDuration - Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk.
37313	AverageApplyDuration *string `json:"AverageApplyDuration,omitempty"`
37314	// NotReceivedCount - Represents the number of operations not yet received by a remote replicator.
37315	NotReceivedCount *string `json:"NotReceivedCount,omitempty"`
37316	// ReceivedAndNotAppliedCount - Represents the number of operations received and not yet applied by a remote replicator.
37317	ReceivedAndNotAppliedCount *string `json:"ReceivedAndNotAppliedCount,omitempty"`
37318}
37319
37320// RemoteReplicatorAcknowledgementStatus provides details about the remote replicators from the primary
37321// replicator's point of view.
37322type RemoteReplicatorAcknowledgementStatus struct {
37323	// ReplicationStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the replication stream data.
37324	ReplicationStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"ReplicationStreamAcknowledgementDetail,omitempty"`
37325	// CopyStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the copy stream data.
37326	CopyStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"CopyStreamAcknowledgementDetail,omitempty"`
37327}
37328
37329// RemoteReplicatorStatus represents the state of the secondary replicator from the primary replicator’s
37330// point of view.
37331type RemoteReplicatorStatus struct {
37332	// ReplicaID - Represents the replica ID of the remote secondary replicator.
37333	ReplicaID *string `json:"ReplicaId,omitempty"`
37334	// LastAcknowledgementProcessedTimeUtc - The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.
37335	// UTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed.
37336	LastAcknowledgementProcessedTimeUtc *date.Time `json:"LastAcknowledgementProcessedTimeUtc,omitempty"`
37337	// LastReceivedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has received from the primary.
37338	LastReceivedReplicationSequenceNumber *string `json:"LastReceivedReplicationSequenceNumber,omitempty"`
37339	// LastAppliedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has applied to its state.
37340	LastAppliedReplicationSequenceNumber *string `json:"LastAppliedReplicationSequenceNumber,omitempty"`
37341	// IsInBuild - A value that indicates whether the secondary replica is in the process of being built.
37342	IsInBuild *bool `json:"IsInBuild,omitempty"`
37343	// LastReceivedCopySequenceNumber - The highest copy operation sequence number that the secondary has received from the primary.
37344	// A value of -1 implies that the secondary has received all copy operations.
37345	LastReceivedCopySequenceNumber *string `json:"LastReceivedCopySequenceNumber,omitempty"`
37346	// LastAppliedCopySequenceNumber - The highest copy operation sequence number that the secondary has applied to its state.
37347	// A value of -1 implies that the secondary has applied all copy operations and the copy process is complete.
37348	LastAppliedCopySequenceNumber *string `json:"LastAppliedCopySequenceNumber,omitempty"`
37349	// RemoteReplicatorAcknowledgementStatus - Represents the acknowledgment status for the remote secondary replicator.
37350	RemoteReplicatorAcknowledgementStatus *RemoteReplicatorAcknowledgementStatus `json:"RemoteReplicatorAcknowledgementStatus,omitempty"`
37351}
37352
37353// BasicRepairImpactDescriptionBase describes the expected impact of executing a repair task.
37354//
37355// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37356type BasicRepairImpactDescriptionBase interface {
37357	AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool)
37358	AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool)
37359}
37360
37361// RepairImpactDescriptionBase describes the expected impact of executing a repair task.
37362//
37363// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37364type RepairImpactDescriptionBase struct {
37365	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
37366	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
37367}
37368
37369func unmarshalBasicRepairImpactDescriptionBase(body []byte) (BasicRepairImpactDescriptionBase, error) {
37370	var m map[string]interface{}
37371	err := json.Unmarshal(body, &m)
37372	if err != nil {
37373		return nil, err
37374	}
37375
37376	switch m["Kind"] {
37377	case string(KindBasicRepairImpactDescriptionBaseKindNode):
37378		var nrid NodeRepairImpactDescription
37379		err := json.Unmarshal(body, &nrid)
37380		return nrid, err
37381	default:
37382		var ridb RepairImpactDescriptionBase
37383		err := json.Unmarshal(body, &ridb)
37384		return ridb, err
37385	}
37386}
37387func unmarshalBasicRepairImpactDescriptionBaseArray(body []byte) ([]BasicRepairImpactDescriptionBase, error) {
37388	var rawMessages []*json.RawMessage
37389	err := json.Unmarshal(body, &rawMessages)
37390	if err != nil {
37391		return nil, err
37392	}
37393
37394	ridbArray := make([]BasicRepairImpactDescriptionBase, len(rawMessages))
37395
37396	for index, rawMessage := range rawMessages {
37397		ridb, err := unmarshalBasicRepairImpactDescriptionBase(*rawMessage)
37398		if err != nil {
37399			return nil, err
37400		}
37401		ridbArray[index] = ridb
37402	}
37403	return ridbArray, nil
37404}
37405
37406// MarshalJSON is the custom marshaler for RepairImpactDescriptionBase.
37407func (ridb RepairImpactDescriptionBase) MarshalJSON() ([]byte, error) {
37408	ridb.Kind = KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase
37409	objectMap := make(map[string]interface{})
37410	if ridb.Kind != "" {
37411		objectMap["Kind"] = ridb.Kind
37412	}
37413	return json.Marshal(objectMap)
37414}
37415
37416// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
37417func (ridb RepairImpactDescriptionBase) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
37418	return nil, false
37419}
37420
37421// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
37422func (ridb RepairImpactDescriptionBase) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
37423	return &ridb, true
37424}
37425
37426// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
37427func (ridb RepairImpactDescriptionBase) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
37428	return &ridb, true
37429}
37430
37431// BasicRepairTargetDescriptionBase describes the entities targeted by a repair action.
37432//
37433// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37434type BasicRepairTargetDescriptionBase interface {
37435	AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool)
37436	AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool)
37437}
37438
37439// RepairTargetDescriptionBase describes the entities targeted by a repair action.
37440//
37441// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37442type RepairTargetDescriptionBase struct {
37443	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
37444	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
37445}
37446
37447func unmarshalBasicRepairTargetDescriptionBase(body []byte) (BasicRepairTargetDescriptionBase, error) {
37448	var m map[string]interface{}
37449	err := json.Unmarshal(body, &m)
37450	if err != nil {
37451		return nil, err
37452	}
37453
37454	switch m["Kind"] {
37455	case string(KindBasicRepairTargetDescriptionBaseKindNode):
37456		var nrtd NodeRepairTargetDescription
37457		err := json.Unmarshal(body, &nrtd)
37458		return nrtd, err
37459	default:
37460		var rtdb RepairTargetDescriptionBase
37461		err := json.Unmarshal(body, &rtdb)
37462		return rtdb, err
37463	}
37464}
37465func unmarshalBasicRepairTargetDescriptionBaseArray(body []byte) ([]BasicRepairTargetDescriptionBase, error) {
37466	var rawMessages []*json.RawMessage
37467	err := json.Unmarshal(body, &rawMessages)
37468	if err != nil {
37469		return nil, err
37470	}
37471
37472	rtdbArray := make([]BasicRepairTargetDescriptionBase, len(rawMessages))
37473
37474	for index, rawMessage := range rawMessages {
37475		rtdb, err := unmarshalBasicRepairTargetDescriptionBase(*rawMessage)
37476		if err != nil {
37477			return nil, err
37478		}
37479		rtdbArray[index] = rtdb
37480	}
37481	return rtdbArray, nil
37482}
37483
37484// MarshalJSON is the custom marshaler for RepairTargetDescriptionBase.
37485func (rtdb RepairTargetDescriptionBase) MarshalJSON() ([]byte, error) {
37486	rtdb.Kind = KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase
37487	objectMap := make(map[string]interface{})
37488	if rtdb.Kind != "" {
37489		objectMap["Kind"] = rtdb.Kind
37490	}
37491	return json.Marshal(objectMap)
37492}
37493
37494// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
37495func (rtdb RepairTargetDescriptionBase) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
37496	return nil, false
37497}
37498
37499// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
37500func (rtdb RepairTargetDescriptionBase) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
37501	return &rtdb, true
37502}
37503
37504// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
37505func (rtdb RepairTargetDescriptionBase) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
37506	return &rtdb, true
37507}
37508
37509// RepairTask represents a repair task, which includes information about what kind of repair was requested,
37510// what its progress is, and what its final result was.
37511//
37512// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37513type RepairTask struct {
37514	// TaskID - The ID of the repair task.
37515	TaskID *string `json:"TaskId,omitempty"`
37516	// Version - The version of the repair task.
37517	// When creating a new repair task, the version must be set to zero.  When updating a repair task,
37518	// the version is used for optimistic concurrency checks.  If the version is
37519	// set to zero, the update will not check for write conflicts.  If the version is set to a non-zero value, then the
37520	// update will only succeed if the actual current version of the repair task matches this value.
37521	Version *string `json:"Version,omitempty"`
37522	// Description - A description of the purpose of the repair task, or other informational details.
37523	// May be set when the repair task is created, and is immutable once set.
37524	Description *string `json:"Description,omitempty"`
37525	// State - The workflow state of the repair task. Valid initial states are Created, Claimed, and Preparing. Possible values include: 'StateInvalid', 'StateCreated', 'StateClaimed', 'StatePreparing', 'StateApproved', 'StateExecuting', 'StateRestoring', 'StateCompleted'
37526	State State `json:"State,omitempty"`
37527	// Flags - A bitwise-OR of the following values, which gives additional details about the status of the repair task.
37528	// - 1 - Cancellation of the repair has been requested
37529	// - 2 - Abort of the repair has been requested
37530	// - 4 - Approval of the repair was forced via client request
37531	Flags *int32 `json:"Flags,omitempty"`
37532	// Action - The requested repair action. Must be specified when the repair task is created, and is immutable once set.
37533	Action *string `json:"Action,omitempty"`
37534	// Target - The target object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.
37535	// May be set when the repair task is created, and is immutable once set.
37536	Target BasicRepairTargetDescriptionBase `json:"Target,omitempty"`
37537	// Executor - The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set.
37538	Executor *string `json:"Executor,omitempty"`
37539	// ExecutorData - A data string that the repair executor can use to store its internal state.
37540	ExecutorData *string `json:"ExecutorData,omitempty"`
37541	// Impact - The impact object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.
37542	// Impact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set.
37543	Impact BasicRepairImpactDescriptionBase `json:"Impact,omitempty"`
37544	// ResultStatus - A value describing the overall result of the repair task execution. Must be specified in the Restoring and later states, and is immutable once set. Possible values include: 'ResultStatusInvalid', 'ResultStatusSucceeded', 'ResultStatusCancelled', 'ResultStatusInterrupted', 'ResultStatusFailed', 'ResultStatusPending'
37545	ResultStatus ResultStatus `json:"ResultStatus,omitempty"`
37546	// ResultCode - A numeric value providing additional details about the result of the repair task execution.
37547	// May be specified in the Restoring and later states, and is immutable once set.
37548	ResultCode *int32 `json:"ResultCode,omitempty"`
37549	// ResultDetails - A string providing additional details about the result of the repair task execution.
37550	// May be specified in the Restoring and later states, and is immutable once set.
37551	ResultDetails *string `json:"ResultDetails,omitempty"`
37552	// History - An object that contains timestamps of the repair task's state transitions.
37553	// These timestamps are updated by the system, and cannot be directly modified.
37554	History *RepairTaskHistory `json:"History,omitempty"`
37555	// PreparingHealthCheckState - The workflow state of the health check when the repair task is in the Preparing state. Possible values include: 'NotStarted', 'InProgress', 'Succeeded', 'Skipped', 'TimedOut'
37556	PreparingHealthCheckState RepairTaskHealthCheckState `json:"PreparingHealthCheckState,omitempty"`
37557	// RestoringHealthCheckState - The workflow state of the health check when the repair task is in the Restoring state. Possible values include: 'NotStarted', 'InProgress', 'Succeeded', 'Skipped', 'TimedOut'
37558	RestoringHealthCheckState RepairTaskHealthCheckState `json:"RestoringHealthCheckState,omitempty"`
37559	// PerformPreparingHealthCheck - A value to determine if health checks will be performed when the repair task enters the Preparing state.
37560	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
37561	// PerformRestoringHealthCheck - A value to determine if health checks will be performed when the repair task enters the Restoring state.
37562	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
37563}
37564
37565// UnmarshalJSON is the custom unmarshaler for RepairTask struct.
37566func (rt *RepairTask) UnmarshalJSON(body []byte) error {
37567	var m map[string]*json.RawMessage
37568	err := json.Unmarshal(body, &m)
37569	if err != nil {
37570		return err
37571	}
37572	for k, v := range m {
37573		switch k {
37574		case "TaskId":
37575			if v != nil {
37576				var taskID string
37577				err = json.Unmarshal(*v, &taskID)
37578				if err != nil {
37579					return err
37580				}
37581				rt.TaskID = &taskID
37582			}
37583		case "Version":
37584			if v != nil {
37585				var version string
37586				err = json.Unmarshal(*v, &version)
37587				if err != nil {
37588					return err
37589				}
37590				rt.Version = &version
37591			}
37592		case "Description":
37593			if v != nil {
37594				var description string
37595				err = json.Unmarshal(*v, &description)
37596				if err != nil {
37597					return err
37598				}
37599				rt.Description = &description
37600			}
37601		case "State":
37602			if v != nil {
37603				var state State
37604				err = json.Unmarshal(*v, &state)
37605				if err != nil {
37606					return err
37607				}
37608				rt.State = state
37609			}
37610		case "Flags":
37611			if v != nil {
37612				var flags int32
37613				err = json.Unmarshal(*v, &flags)
37614				if err != nil {
37615					return err
37616				}
37617				rt.Flags = &flags
37618			}
37619		case "Action":
37620			if v != nil {
37621				var action string
37622				err = json.Unmarshal(*v, &action)
37623				if err != nil {
37624					return err
37625				}
37626				rt.Action = &action
37627			}
37628		case "Target":
37629			if v != nil {
37630				target, err := unmarshalBasicRepairTargetDescriptionBase(*v)
37631				if err != nil {
37632					return err
37633				}
37634				rt.Target = target
37635			}
37636		case "Executor":
37637			if v != nil {
37638				var executor string
37639				err = json.Unmarshal(*v, &executor)
37640				if err != nil {
37641					return err
37642				}
37643				rt.Executor = &executor
37644			}
37645		case "ExecutorData":
37646			if v != nil {
37647				var executorData string
37648				err = json.Unmarshal(*v, &executorData)
37649				if err != nil {
37650					return err
37651				}
37652				rt.ExecutorData = &executorData
37653			}
37654		case "Impact":
37655			if v != nil {
37656				impact, err := unmarshalBasicRepairImpactDescriptionBase(*v)
37657				if err != nil {
37658					return err
37659				}
37660				rt.Impact = impact
37661			}
37662		case "ResultStatus":
37663			if v != nil {
37664				var resultStatus ResultStatus
37665				err = json.Unmarshal(*v, &resultStatus)
37666				if err != nil {
37667					return err
37668				}
37669				rt.ResultStatus = resultStatus
37670			}
37671		case "ResultCode":
37672			if v != nil {
37673				var resultCode int32
37674				err = json.Unmarshal(*v, &resultCode)
37675				if err != nil {
37676					return err
37677				}
37678				rt.ResultCode = &resultCode
37679			}
37680		case "ResultDetails":
37681			if v != nil {
37682				var resultDetails string
37683				err = json.Unmarshal(*v, &resultDetails)
37684				if err != nil {
37685					return err
37686				}
37687				rt.ResultDetails = &resultDetails
37688			}
37689		case "History":
37690			if v != nil {
37691				var history RepairTaskHistory
37692				err = json.Unmarshal(*v, &history)
37693				if err != nil {
37694					return err
37695				}
37696				rt.History = &history
37697			}
37698		case "PreparingHealthCheckState":
37699			if v != nil {
37700				var preparingHealthCheckState RepairTaskHealthCheckState
37701				err = json.Unmarshal(*v, &preparingHealthCheckState)
37702				if err != nil {
37703					return err
37704				}
37705				rt.PreparingHealthCheckState = preparingHealthCheckState
37706			}
37707		case "RestoringHealthCheckState":
37708			if v != nil {
37709				var restoringHealthCheckState RepairTaskHealthCheckState
37710				err = json.Unmarshal(*v, &restoringHealthCheckState)
37711				if err != nil {
37712					return err
37713				}
37714				rt.RestoringHealthCheckState = restoringHealthCheckState
37715			}
37716		case "PerformPreparingHealthCheck":
37717			if v != nil {
37718				var performPreparingHealthCheck bool
37719				err = json.Unmarshal(*v, &performPreparingHealthCheck)
37720				if err != nil {
37721					return err
37722				}
37723				rt.PerformPreparingHealthCheck = &performPreparingHealthCheck
37724			}
37725		case "PerformRestoringHealthCheck":
37726			if v != nil {
37727				var performRestoringHealthCheck bool
37728				err = json.Unmarshal(*v, &performRestoringHealthCheck)
37729				if err != nil {
37730					return err
37731				}
37732				rt.PerformRestoringHealthCheck = &performRestoringHealthCheck
37733			}
37734		}
37735	}
37736
37737	return nil
37738}
37739
37740// RepairTaskApproveDescription describes a request for forced approval of a repair task.
37741//
37742// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37743type RepairTaskApproveDescription struct {
37744	// TaskID - The ID of the repair task.
37745	TaskID *string `json:"TaskId,omitempty"`
37746	// Version - The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed.
37747	Version *string `json:"Version,omitempty"`
37748}
37749
37750// RepairTaskCancelDescription describes a request to cancel a repair task.
37751//
37752// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37753type RepairTaskCancelDescription struct {
37754	// TaskID - The ID of the repair task.
37755	TaskID *string `json:"TaskId,omitempty"`
37756	// Version - The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed.
37757	Version *string `json:"Version,omitempty"`
37758	// RequestAbort - _True_ if the repair should be stopped as soon as possible even if it has already started executing. _False_ if the repair should be cancelled only if execution has not yet started.
37759	RequestAbort *bool `json:"RequestAbort,omitempty"`
37760}
37761
37762// RepairTaskDeleteDescription describes a request to delete a completed repair task.
37763//
37764// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37765type RepairTaskDeleteDescription struct {
37766	// TaskID - The ID of the completed repair task to be deleted.
37767	TaskID *string `json:"TaskId,omitempty"`
37768	// Version - The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed.
37769	Version *string `json:"Version,omitempty"`
37770}
37771
37772// RepairTaskHistory a record of the times when the repair task entered each state.
37773//
37774// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37775type RepairTaskHistory struct {
37776	// CreatedUtcTimestamp - The time when the repair task entered the Created state.
37777	CreatedUtcTimestamp *date.Time `json:"CreatedUtcTimestamp,omitempty"`
37778	// ClaimedUtcTimestamp - The time when the repair task entered the Claimed state.
37779	ClaimedUtcTimestamp *date.Time `json:"ClaimedUtcTimestamp,omitempty"`
37780	// PreparingUtcTimestamp - The time when the repair task entered the Preparing state.
37781	PreparingUtcTimestamp *date.Time `json:"PreparingUtcTimestamp,omitempty"`
37782	// ApprovedUtcTimestamp - The time when the repair task entered the Approved state
37783	ApprovedUtcTimestamp *date.Time `json:"ApprovedUtcTimestamp,omitempty"`
37784	// ExecutingUtcTimestamp - The time when the repair task entered the Executing state
37785	ExecutingUtcTimestamp *date.Time `json:"ExecutingUtcTimestamp,omitempty"`
37786	// RestoringUtcTimestamp - The time when the repair task entered the Restoring state
37787	RestoringUtcTimestamp *date.Time `json:"RestoringUtcTimestamp,omitempty"`
37788	// CompletedUtcTimestamp - The time when the repair task entered the Completed state
37789	CompletedUtcTimestamp *date.Time `json:"CompletedUtcTimestamp,omitempty"`
37790	// PreparingHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Preparing state.
37791	PreparingHealthCheckStartUtcTimestamp *date.Time `json:"PreparingHealthCheckStartUtcTimestamp,omitempty"`
37792	// PreparingHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Preparing state.
37793	PreparingHealthCheckEndUtcTimestamp *date.Time `json:"PreparingHealthCheckEndUtcTimestamp,omitempty"`
37794	// RestoringHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Restoring state.
37795	RestoringHealthCheckStartUtcTimestamp *date.Time `json:"RestoringHealthCheckStartUtcTimestamp,omitempty"`
37796	// RestoringHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Restoring state.
37797	RestoringHealthCheckEndUtcTimestamp *date.Time `json:"RestoringHealthCheckEndUtcTimestamp,omitempty"`
37798}
37799
37800// RepairTaskUpdateHealthPolicyDescription describes a request to update the health policy of a repair
37801// task.
37802//
37803// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37804type RepairTaskUpdateHealthPolicyDescription struct {
37805	// TaskID - The ID of the repair task to be updated.
37806	TaskID *string `json:"TaskId,omitempty"`
37807	// Version - The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current value of the repair task. If zero, then no version check is performed.
37808	Version *string `json:"Version,omitempty"`
37809	// PerformPreparingHealthCheck - A boolean indicating if health check is to be performed in the Preparing stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value.
37810	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
37811	// PerformRestoringHealthCheck - A boolean indicating if health check is to be performed in the Restoring stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value.
37812	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
37813}
37814
37815// RepairTaskUpdateInfo describes the result of an operation that created or updated a repair task.
37816//
37817// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37818type RepairTaskUpdateInfo struct {
37819	autorest.Response `json:"-"`
37820	// Version - The new version of the repair task.
37821	Version *string `json:"Version,omitempty"`
37822}
37823
37824// BasicReplicaEvent represents the base for all Replica Events.
37825type BasicReplicaEvent interface {
37826	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
37827	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
37828	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
37829	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
37830	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
37831	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
37832	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
37833	AsReplicaEvent() (*ReplicaEvent, bool)
37834}
37835
37836// ReplicaEvent represents the base for all Replica Events.
37837type ReplicaEvent struct {
37838	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
37839	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37840	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
37841	ReplicaID *int64 `json:"ReplicaId,omitempty"`
37842	// EventInstanceID - The identifier for the FabricEvent instance.
37843	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
37844	// TimeStamp - The time event was logged.
37845	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
37846	// HasCorrelatedEvents - Shows there is existing related events available.
37847	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
37848	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
37849	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
37850}
37851
37852func unmarshalBasicReplicaEvent(body []byte) (BasicReplicaEvent, error) {
37853	var m map[string]interface{}
37854	err := json.Unmarshal(body, &m)
37855	if err != nil {
37856		return nil, err
37857	}
37858
37859	switch m["Kind"] {
37860	case string(KindStatefulReplicaHealthReportCreated):
37861		var srhrce StatefulReplicaHealthReportCreatedEvent
37862		err := json.Unmarshal(body, &srhrce)
37863		return srhrce, err
37864	case string(KindStatefulReplicaHealthReportExpired):
37865		var srhree StatefulReplicaHealthReportExpiredEvent
37866		err := json.Unmarshal(body, &srhree)
37867		return srhree, err
37868	case string(KindStatelessReplicaHealthReportCreated):
37869		var srhrce StatelessReplicaHealthReportCreatedEvent
37870		err := json.Unmarshal(body, &srhrce)
37871		return srhrce, err
37872	case string(KindStatelessReplicaHealthReportExpired):
37873		var srhree StatelessReplicaHealthReportExpiredEvent
37874		err := json.Unmarshal(body, &srhree)
37875		return srhree, err
37876	case string(KindChaosRemoveReplicaFaultScheduled):
37877		var crrfse ChaosRemoveReplicaFaultScheduledEvent
37878		err := json.Unmarshal(body, &crrfse)
37879		return crrfse, err
37880	case string(KindChaosRemoveReplicaFaultCompleted):
37881		var crrfce ChaosRemoveReplicaFaultCompletedEvent
37882		err := json.Unmarshal(body, &crrfce)
37883		return crrfce, err
37884	case string(KindChaosRestartReplicaFaultScheduled):
37885		var crrfse ChaosRestartReplicaFaultScheduledEvent
37886		err := json.Unmarshal(body, &crrfse)
37887		return crrfse, err
37888	default:
37889		var re ReplicaEvent
37890		err := json.Unmarshal(body, &re)
37891		return re, err
37892	}
37893}
37894func unmarshalBasicReplicaEventArray(body []byte) ([]BasicReplicaEvent, error) {
37895	var rawMessages []*json.RawMessage
37896	err := json.Unmarshal(body, &rawMessages)
37897	if err != nil {
37898		return nil, err
37899	}
37900
37901	reArray := make([]BasicReplicaEvent, len(rawMessages))
37902
37903	for index, rawMessage := range rawMessages {
37904		re, err := unmarshalBasicReplicaEvent(*rawMessage)
37905		if err != nil {
37906			return nil, err
37907		}
37908		reArray[index] = re
37909	}
37910	return reArray, nil
37911}
37912
37913// MarshalJSON is the custom marshaler for ReplicaEvent.
37914func (re ReplicaEvent) MarshalJSON() ([]byte, error) {
37915	re.Kind = KindReplicaEvent
37916	objectMap := make(map[string]interface{})
37917	if re.PartitionID != nil {
37918		objectMap["PartitionId"] = re.PartitionID
37919	}
37920	if re.ReplicaID != nil {
37921		objectMap["ReplicaId"] = re.ReplicaID
37922	}
37923	if re.EventInstanceID != nil {
37924		objectMap["EventInstanceId"] = re.EventInstanceID
37925	}
37926	if re.TimeStamp != nil {
37927		objectMap["TimeStamp"] = re.TimeStamp
37928	}
37929	if re.HasCorrelatedEvents != nil {
37930		objectMap["HasCorrelatedEvents"] = re.HasCorrelatedEvents
37931	}
37932	if re.Kind != "" {
37933		objectMap["Kind"] = re.Kind
37934	}
37935	return json.Marshal(objectMap)
37936}
37937
37938// AsApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
37939func (re ReplicaEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
37940	return nil, false
37941}
37942
37943// AsBasicApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
37944func (re ReplicaEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
37945	return nil, false
37946}
37947
37948// AsClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
37949func (re ReplicaEvent) AsClusterEvent() (*ClusterEvent, bool) {
37950	return nil, false
37951}
37952
37953// AsBasicClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
37954func (re ReplicaEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
37955	return nil, false
37956}
37957
37958// AsContainerInstanceEvent is the BasicFabricEvent implementation for ReplicaEvent.
37959func (re ReplicaEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
37960	return nil, false
37961}
37962
37963// AsNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
37964func (re ReplicaEvent) AsNodeEvent() (*NodeEvent, bool) {
37965	return nil, false
37966}
37967
37968// AsBasicNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
37969func (re ReplicaEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
37970	return nil, false
37971}
37972
37973// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
37974func (re ReplicaEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
37975	return nil, false
37976}
37977
37978// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
37979func (re ReplicaEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
37980	return nil, false
37981}
37982
37983// AsPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
37984func (re ReplicaEvent) AsPartitionEvent() (*PartitionEvent, bool) {
37985	return nil, false
37986}
37987
37988// AsBasicPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
37989func (re ReplicaEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
37990	return nil, false
37991}
37992
37993// AsReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
37994func (re ReplicaEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
37995	return &re, true
37996}
37997
37998// AsBasicReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
37999func (re ReplicaEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
38000	return &re, true
38001}
38002
38003// AsServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
38004func (re ReplicaEvent) AsServiceEvent() (*ServiceEvent, bool) {
38005	return nil, false
38006}
38007
38008// AsBasicServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
38009func (re ReplicaEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
38010	return nil, false
38011}
38012
38013// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38014func (re ReplicaEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
38015	return nil, false
38016}
38017
38018// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38019func (re ReplicaEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
38020	return nil, false
38021}
38022
38023// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38024func (re ReplicaEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
38025	return nil, false
38026}
38027
38028// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38029func (re ReplicaEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
38030	return nil, false
38031}
38032
38033// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
38034func (re ReplicaEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
38035	return nil, false
38036}
38037
38038// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
38039func (re ReplicaEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
38040	return nil, false
38041}
38042
38043// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
38044func (re ReplicaEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
38045	return nil, false
38046}
38047
38048// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
38049func (re ReplicaEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
38050	return nil, false
38051}
38052
38053// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
38054func (re ReplicaEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
38055	return nil, false
38056}
38057
38058// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38059func (re ReplicaEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
38060	return nil, false
38061}
38062
38063// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38064func (re ReplicaEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
38065	return nil, false
38066}
38067
38068// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38069func (re ReplicaEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
38070	return nil, false
38071}
38072
38073// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38074func (re ReplicaEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
38075	return nil, false
38076}
38077
38078// AsNodeAbortedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38079func (re ReplicaEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
38080	return nil, false
38081}
38082
38083// AsNodeAbortingEvent is the BasicFabricEvent implementation for ReplicaEvent.
38084func (re ReplicaEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
38085	return nil, false
38086}
38087
38088// AsNodeAddedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38089func (re ReplicaEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
38090	return nil, false
38091}
38092
38093// AsNodeCloseEvent is the BasicFabricEvent implementation for ReplicaEvent.
38094func (re ReplicaEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
38095	return nil, false
38096}
38097
38098// AsNodeClosingEvent is the BasicFabricEvent implementation for ReplicaEvent.
38099func (re ReplicaEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
38100	return nil, false
38101}
38102
38103// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
38104func (re ReplicaEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
38105	return nil, false
38106}
38107
38108// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
38109func (re ReplicaEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
38110	return nil, false
38111}
38112
38113// AsNodeDownEvent is the BasicFabricEvent implementation for ReplicaEvent.
38114func (re ReplicaEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
38115	return nil, false
38116}
38117
38118// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38119func (re ReplicaEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
38120	return nil, false
38121}
38122
38123// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38124func (re ReplicaEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
38125	return nil, false
38126}
38127
38128// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ReplicaEvent.
38129func (re ReplicaEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
38130	return nil, false
38131}
38132
38133// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38134func (re ReplicaEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
38135	return nil, false
38136}
38137
38138// AsNodeOpeningEvent is the BasicFabricEvent implementation for ReplicaEvent.
38139func (re ReplicaEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
38140	return nil, false
38141}
38142
38143// AsNodeRemovedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38144func (re ReplicaEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
38145	return nil, false
38146}
38147
38148// AsNodeUpEvent is the BasicFabricEvent implementation for ReplicaEvent.
38149func (re ReplicaEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
38150	return nil, false
38151}
38152
38153// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38154func (re ReplicaEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
38155	return nil, false
38156}
38157
38158// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38159func (re ReplicaEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
38160	return nil, false
38161}
38162
38163// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38164func (re ReplicaEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
38165	return nil, false
38166}
38167
38168// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
38169func (re ReplicaEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
38170	return nil, false
38171}
38172
38173// AsServiceCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38174func (re ReplicaEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
38175	return nil, false
38176}
38177
38178// AsServiceDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38179func (re ReplicaEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
38180	return nil, false
38181}
38182
38183// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38184func (re ReplicaEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
38185	return nil, false
38186}
38187
38188// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38189func (re ReplicaEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
38190	return nil, false
38191}
38192
38193// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38194func (re ReplicaEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
38195	return nil, false
38196}
38197
38198// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38199func (re ReplicaEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
38200	return nil, false
38201}
38202
38203// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38204func (re ReplicaEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
38205	return nil, false
38206}
38207
38208// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38209func (re ReplicaEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
38210	return nil, false
38211}
38212
38213// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38214func (re ReplicaEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
38215	return nil, false
38216}
38217
38218// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38219func (re ReplicaEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
38220	return nil, false
38221}
38222
38223// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38224func (re ReplicaEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
38225	return nil, false
38226}
38227
38228// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
38229func (re ReplicaEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
38230	return nil, false
38231}
38232
38233// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
38234func (re ReplicaEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
38235	return nil, false
38236}
38237
38238// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
38239func (re ReplicaEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
38240	return nil, false
38241}
38242
38243// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
38244func (re ReplicaEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
38245	return nil, false
38246}
38247
38248// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
38249func (re ReplicaEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
38250	return nil, false
38251}
38252
38253// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
38254func (re ReplicaEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
38255	return nil, false
38256}
38257
38258// AsChaosStoppedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38259func (re ReplicaEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
38260	return nil, false
38261}
38262
38263// AsChaosStartedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38264func (re ReplicaEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
38265	return nil, false
38266}
38267
38268// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38269func (re ReplicaEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
38270	return nil, false
38271}
38272
38273// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
38274func (re ReplicaEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
38275	return nil, false
38276}
38277
38278// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38279func (re ReplicaEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
38280	return nil, false
38281}
38282
38283// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
38284func (re ReplicaEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
38285	return nil, false
38286}
38287
38288// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
38289func (re ReplicaEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
38290	return nil, false
38291}
38292
38293// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
38294func (re ReplicaEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
38295	return nil, false
38296}
38297
38298// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
38299func (re ReplicaEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
38300	return nil, false
38301}
38302
38303// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
38304func (re ReplicaEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
38305	return nil, false
38306}
38307
38308// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
38309func (re ReplicaEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
38310	return nil, false
38311}
38312
38313// AsFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
38314func (re ReplicaEvent) AsFabricEvent() (*FabricEvent, bool) {
38315	return nil, false
38316}
38317
38318// AsBasicFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
38319func (re ReplicaEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
38320	return &re, true
38321}
38322
38323// BasicReplicaHealth represents a base class for stateful service replica or stateless service instance health.
38324// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
38325type BasicReplicaHealth interface {
38326	AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool)
38327	AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool)
38328	AsReplicaHealth() (*ReplicaHealth, bool)
38329}
38330
38331// ReplicaHealth represents a base class for stateful service replica or stateless service instance health.
38332// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
38333type ReplicaHealth struct {
38334	autorest.Response `json:"-"`
38335	// PartitionID - Id of the partition to which this replica belongs.
38336	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38337	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
38338	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
38339	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
38340	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
38341	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
38342	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38343	// HealthEvents - The list of health events reported on the entity.
38344	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
38345	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
38346	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
38347	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
38348	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
38349}
38350
38351func unmarshalBasicReplicaHealth(body []byte) (BasicReplicaHealth, error) {
38352	var m map[string]interface{}
38353	err := json.Unmarshal(body, &m)
38354	if err != nil {
38355		return nil, err
38356	}
38357
38358	switch m["ServiceKind"] {
38359	case string(ServiceKindBasicReplicaHealthServiceKindStateful):
38360		var ssrh StatefulServiceReplicaHealth
38361		err := json.Unmarshal(body, &ssrh)
38362		return ssrh, err
38363	case string(ServiceKindBasicReplicaHealthServiceKindStateless):
38364		var ssih StatelessServiceInstanceHealth
38365		err := json.Unmarshal(body, &ssih)
38366		return ssih, err
38367	default:
38368		var rh ReplicaHealth
38369		err := json.Unmarshal(body, &rh)
38370		return rh, err
38371	}
38372}
38373func unmarshalBasicReplicaHealthArray(body []byte) ([]BasicReplicaHealth, error) {
38374	var rawMessages []*json.RawMessage
38375	err := json.Unmarshal(body, &rawMessages)
38376	if err != nil {
38377		return nil, err
38378	}
38379
38380	rhArray := make([]BasicReplicaHealth, len(rawMessages))
38381
38382	for index, rawMessage := range rawMessages {
38383		rh, err := unmarshalBasicReplicaHealth(*rawMessage)
38384		if err != nil {
38385			return nil, err
38386		}
38387		rhArray[index] = rh
38388	}
38389	return rhArray, nil
38390}
38391
38392// MarshalJSON is the custom marshaler for ReplicaHealth.
38393func (rh ReplicaHealth) MarshalJSON() ([]byte, error) {
38394	rh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindReplicaHealth
38395	objectMap := make(map[string]interface{})
38396	if rh.PartitionID != nil {
38397		objectMap["PartitionId"] = rh.PartitionID
38398	}
38399	if rh.ServiceKind != "" {
38400		objectMap["ServiceKind"] = rh.ServiceKind
38401	}
38402	if rh.AggregatedHealthState != "" {
38403		objectMap["AggregatedHealthState"] = rh.AggregatedHealthState
38404	}
38405	if rh.HealthEvents != nil {
38406		objectMap["HealthEvents"] = rh.HealthEvents
38407	}
38408	if rh.UnhealthyEvaluations != nil {
38409		objectMap["UnhealthyEvaluations"] = rh.UnhealthyEvaluations
38410	}
38411	if rh.HealthStatistics != nil {
38412		objectMap["HealthStatistics"] = rh.HealthStatistics
38413	}
38414	return json.Marshal(objectMap)
38415}
38416
38417// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
38418func (rh ReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
38419	return nil, false
38420}
38421
38422// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for ReplicaHealth.
38423func (rh ReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
38424	return nil, false
38425}
38426
38427// AsReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
38428func (rh ReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
38429	return &rh, true
38430}
38431
38432// AsBasicReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
38433func (rh ReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
38434	return &rh, true
38435}
38436
38437// ReplicaHealthEvaluation represents health evaluation for a replica, containing information about the
38438// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
38439// aggregated health state is either Error or Warning.
38440type ReplicaHealthEvaluation struct {
38441	// PartitionID - Id of the partition to which the replica belongs.
38442	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38443	// ReplicaOrInstanceID - Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID.
38444	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
38445	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state of the replica. The types of the unhealthy evaluations can be EventHealthEvaluation.
38446	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
38447	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
38448	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38449	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
38450	Description *string `json:"Description,omitempty"`
38451	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
38452	Kind Kind `json:"Kind,omitempty"`
38453}
38454
38455// MarshalJSON is the custom marshaler for ReplicaHealthEvaluation.
38456func (rhe ReplicaHealthEvaluation) MarshalJSON() ([]byte, error) {
38457	rhe.Kind = KindReplica
38458	objectMap := make(map[string]interface{})
38459	if rhe.PartitionID != nil {
38460		objectMap["PartitionId"] = rhe.PartitionID
38461	}
38462	if rhe.ReplicaOrInstanceID != nil {
38463		objectMap["ReplicaOrInstanceId"] = rhe.ReplicaOrInstanceID
38464	}
38465	if rhe.UnhealthyEvaluations != nil {
38466		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
38467	}
38468	if rhe.AggregatedHealthState != "" {
38469		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
38470	}
38471	if rhe.Description != nil {
38472		objectMap["Description"] = rhe.Description
38473	}
38474	if rhe.Kind != "" {
38475		objectMap["Kind"] = rhe.Kind
38476	}
38477	return json.Marshal(objectMap)
38478}
38479
38480// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38481func (rhe ReplicaHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
38482	return nil, false
38483}
38484
38485// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38486func (rhe ReplicaHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
38487	return nil, false
38488}
38489
38490// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38491func (rhe ReplicaHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
38492	return nil, false
38493}
38494
38495// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38496func (rhe ReplicaHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
38497	return nil, false
38498}
38499
38500// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38501func (rhe ReplicaHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
38502	return nil, false
38503}
38504
38505// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38506func (rhe ReplicaHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
38507	return nil, false
38508}
38509
38510// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38511func (rhe ReplicaHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
38512	return nil, false
38513}
38514
38515// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38516func (rhe ReplicaHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
38517	return nil, false
38518}
38519
38520// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38521func (rhe ReplicaHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
38522	return nil, false
38523}
38524
38525// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38526func (rhe ReplicaHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
38527	return nil, false
38528}
38529
38530// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38531func (rhe ReplicaHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
38532	return nil, false
38533}
38534
38535// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38536func (rhe ReplicaHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
38537	return nil, false
38538}
38539
38540// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38541func (rhe ReplicaHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
38542	return nil, false
38543}
38544
38545// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38546func (rhe ReplicaHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
38547	return &rhe, true
38548}
38549
38550// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38551func (rhe ReplicaHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
38552	return nil, false
38553}
38554
38555// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38556func (rhe ReplicaHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
38557	return nil, false
38558}
38559
38560// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38561func (rhe ReplicaHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
38562	return nil, false
38563}
38564
38565// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38566func (rhe ReplicaHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
38567	return nil, false
38568}
38569
38570// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38571func (rhe ReplicaHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
38572	return nil, false
38573}
38574
38575// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38576func (rhe ReplicaHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
38577	return nil, false
38578}
38579
38580// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38581func (rhe ReplicaHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
38582	return nil, false
38583}
38584
38585// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38586func (rhe ReplicaHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
38587	return &rhe, true
38588}
38589
38590// ReplicaHealthModel ...
38591type ReplicaHealthModel struct {
38592	autorest.Response `json:"-"`
38593	Value             BasicReplicaHealth `json:"value,omitempty"`
38594}
38595
38596// UnmarshalJSON is the custom unmarshaler for ReplicaHealthModel struct.
38597func (rhm *ReplicaHealthModel) UnmarshalJSON(body []byte) error {
38598	rh, err := unmarshalBasicReplicaHealth(body)
38599	if err != nil {
38600		return err
38601	}
38602	rhm.Value = rh
38603
38604	return nil
38605}
38606
38607// BasicReplicaHealthState represents a base class for stateful service replica or stateless service instance health
38608// state.
38609type BasicReplicaHealthState interface {
38610	AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool)
38611	AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool)
38612	AsReplicaHealthState() (*ReplicaHealthState, bool)
38613}
38614
38615// ReplicaHealthState represents a base class for stateful service replica or stateless service instance health
38616// state.
38617type ReplicaHealthState struct {
38618	// PartitionID - The ID of the partition to which this replica belongs.
38619	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38620	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
38621	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
38622	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
38623	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38624}
38625
38626func unmarshalBasicReplicaHealthState(body []byte) (BasicReplicaHealthState, error) {
38627	var m map[string]interface{}
38628	err := json.Unmarshal(body, &m)
38629	if err != nil {
38630		return nil, err
38631	}
38632
38633	switch m["ServiceKind"] {
38634	case string(ServiceKindBasicReplicaHealthStateServiceKindStateful):
38635		var ssrhs StatefulServiceReplicaHealthState
38636		err := json.Unmarshal(body, &ssrhs)
38637		return ssrhs, err
38638	case string(ServiceKindBasicReplicaHealthStateServiceKindStateless):
38639		var ssihs StatelessServiceInstanceHealthState
38640		err := json.Unmarshal(body, &ssihs)
38641		return ssihs, err
38642	default:
38643		var RHS ReplicaHealthState
38644		err := json.Unmarshal(body, &RHS)
38645		return RHS, err
38646	}
38647}
38648func unmarshalBasicReplicaHealthStateArray(body []byte) ([]BasicReplicaHealthState, error) {
38649	var rawMessages []*json.RawMessage
38650	err := json.Unmarshal(body, &rawMessages)
38651	if err != nil {
38652		return nil, err
38653	}
38654
38655	RHSArray := make([]BasicReplicaHealthState, len(rawMessages))
38656
38657	for index, rawMessage := range rawMessages {
38658		RHS, err := unmarshalBasicReplicaHealthState(*rawMessage)
38659		if err != nil {
38660			return nil, err
38661		}
38662		RHSArray[index] = RHS
38663	}
38664	return RHSArray, nil
38665}
38666
38667// MarshalJSON is the custom marshaler for ReplicaHealthState.
38668func (RHS ReplicaHealthState) MarshalJSON() ([]byte, error) {
38669	RHS.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState
38670	objectMap := make(map[string]interface{})
38671	if RHS.PartitionID != nil {
38672		objectMap["PartitionId"] = RHS.PartitionID
38673	}
38674	if RHS.ServiceKind != "" {
38675		objectMap["ServiceKind"] = RHS.ServiceKind
38676	}
38677	if RHS.AggregatedHealthState != "" {
38678		objectMap["AggregatedHealthState"] = RHS.AggregatedHealthState
38679	}
38680	return json.Marshal(objectMap)
38681}
38682
38683// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38684func (RHS ReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
38685	return nil, false
38686}
38687
38688// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38689func (RHS ReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
38690	return nil, false
38691}
38692
38693// AsReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38694func (RHS ReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
38695	return &RHS, true
38696}
38697
38698// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38699func (RHS ReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
38700	return &RHS, true
38701}
38702
38703// ReplicaHealthStateChunk represents the health state chunk of a stateful service replica or a stateless
38704// service instance.
38705// The replica health state contains the replica ID and its aggregated health state.
38706type ReplicaHealthStateChunk struct {
38707	// ReplicaOrInstanceID - Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID.
38708	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
38709	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
38710	HealthState HealthState `json:"HealthState,omitempty"`
38711}
38712
38713// ReplicaHealthStateChunkList the list of replica health state chunks that respect the input filters in
38714// the chunk query. Returned by get cluster health state chunks query.
38715type ReplicaHealthStateChunkList struct {
38716	// Items - The list of replica health state chunks that respect the input filters in the chunk query.
38717	Items *[]ReplicaHealthStateChunk `json:"Items,omitempty"`
38718}
38719
38720// ReplicaHealthStateFilter defines matching criteria to determine whether a replica should be included as
38721// a child of a partition in the cluster health chunk.
38722// The replicas are only returned if the parent entities match a filter specified in the cluster health
38723// chunk query description. The parent partition, service and application must be included in the cluster
38724// health chunk.
38725// One filter can match zero, one or multiple replicas, depending on its properties.
38726type ReplicaHealthStateFilter struct {
38727	// ReplicaOrInstanceIDFilter - Id of the stateful service replica or stateless service instance that matches the filter. The filter is applied only to the specified replica, if it exists.
38728	// If the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.
38729	// If the replica exists, it is included in the cluster health chunk if it respects the other filter properties.
38730	// If not specified, all replicas that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter.
38731	ReplicaOrInstanceIDFilter *string `json:"ReplicaOrInstanceIdFilter,omitempty"`
38732	// HealthStateFilter - The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.
38733	// The possible values are integer value of one of the following health states. Only replicas that match the filter are returned. All replicas are used to evaluate the parent partition aggregated health state.
38734	// If not specified, default value is None, unless the replica ID is specified. If the filter has default value and replica ID is specified, the matching replica is returned.
38735	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
38736	// For example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).
38737	// - Default - Default value. Matches any HealthState. The value is zero.
38738	// - None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
38739	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
38740	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
38741	// - Error - Filter that matches input with HealthState value Error. The value is 8.
38742	// - All - Filter that matches input with any HealthState value. The value is 65535.
38743	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
38744}
38745
38746// BasicReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
38747// replica.
38748type BasicReplicaInfo interface {
38749	AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool)
38750	AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool)
38751	AsReplicaInfo() (*ReplicaInfo, bool)
38752}
38753
38754// ReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
38755// replica.
38756type ReplicaInfo struct {
38757	autorest.Response `json:"-"`
38758	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
38759	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
38760	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
38761	HealthState HealthState `json:"HealthState,omitempty"`
38762	// NodeName - The name of a Service Fabric node.
38763	NodeName *string `json:"NodeName,omitempty"`
38764	// Address - The address the replica is listening on.
38765	Address *string `json:"Address,omitempty"`
38766	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
38767	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
38768	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
38769	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
38770}
38771
38772func unmarshalBasicReplicaInfo(body []byte) (BasicReplicaInfo, error) {
38773	var m map[string]interface{}
38774	err := json.Unmarshal(body, &m)
38775	if err != nil {
38776		return nil, err
38777	}
38778
38779	switch m["ServiceKind"] {
38780	case string(ServiceKindBasicReplicaInfoServiceKindStateful):
38781		var ssri StatefulServiceReplicaInfo
38782		err := json.Unmarshal(body, &ssri)
38783		return ssri, err
38784	case string(ServiceKindBasicReplicaInfoServiceKindStateless):
38785		var ssii StatelessServiceInstanceInfo
38786		err := json.Unmarshal(body, &ssii)
38787		return ssii, err
38788	default:
38789		var ri ReplicaInfo
38790		err := json.Unmarshal(body, &ri)
38791		return ri, err
38792	}
38793}
38794func unmarshalBasicReplicaInfoArray(body []byte) ([]BasicReplicaInfo, error) {
38795	var rawMessages []*json.RawMessage
38796	err := json.Unmarshal(body, &rawMessages)
38797	if err != nil {
38798		return nil, err
38799	}
38800
38801	riArray := make([]BasicReplicaInfo, len(rawMessages))
38802
38803	for index, rawMessage := range rawMessages {
38804		ri, err := unmarshalBasicReplicaInfo(*rawMessage)
38805		if err != nil {
38806			return nil, err
38807		}
38808		riArray[index] = ri
38809	}
38810	return riArray, nil
38811}
38812
38813// MarshalJSON is the custom marshaler for ReplicaInfo.
38814func (ri ReplicaInfo) MarshalJSON() ([]byte, error) {
38815	ri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindReplicaInfo
38816	objectMap := make(map[string]interface{})
38817	if ri.ReplicaStatus != "" {
38818		objectMap["ReplicaStatus"] = ri.ReplicaStatus
38819	}
38820	if ri.HealthState != "" {
38821		objectMap["HealthState"] = ri.HealthState
38822	}
38823	if ri.NodeName != nil {
38824		objectMap["NodeName"] = ri.NodeName
38825	}
38826	if ri.Address != nil {
38827		objectMap["Address"] = ri.Address
38828	}
38829	if ri.LastInBuildDurationInSeconds != nil {
38830		objectMap["LastInBuildDurationInSeconds"] = ri.LastInBuildDurationInSeconds
38831	}
38832	if ri.ServiceKind != "" {
38833		objectMap["ServiceKind"] = ri.ServiceKind
38834	}
38835	return json.Marshal(objectMap)
38836}
38837
38838// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38839func (ri ReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
38840	return nil, false
38841}
38842
38843// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38844func (ri ReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
38845	return nil, false
38846}
38847
38848// AsReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38849func (ri ReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
38850	return &ri, true
38851}
38852
38853// AsBasicReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38854func (ri ReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
38855	return &ri, true
38856}
38857
38858// ReplicaInfoModel ...
38859type ReplicaInfoModel struct {
38860	autorest.Response `json:"-"`
38861	Value             BasicReplicaInfo `json:"value,omitempty"`
38862}
38863
38864// UnmarshalJSON is the custom unmarshaler for ReplicaInfoModel struct.
38865func (rim *ReplicaInfoModel) UnmarshalJSON(body []byte) error {
38866	ri, err := unmarshalBasicReplicaInfo(body)
38867	if err != nil {
38868		return err
38869	}
38870	rim.Value = ri
38871
38872	return nil
38873}
38874
38875// ReplicasHealthEvaluation represents health evaluation for replicas, containing health evaluations for
38876// each unhealthy replica that impacted current aggregated health state. Can be returned when evaluating
38877// partition health and the aggregated health state is either Error or Warning.
38878type ReplicasHealthEvaluation struct {
38879	// MaxPercentUnhealthyReplicasPerPartition - Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy.
38880	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
38881	// TotalCount - Total number of replicas in the partition from the health store.
38882	TotalCount *int64 `json:"TotalCount,omitempty"`
38883	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health.
38884	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
38885	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
38886	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38887	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
38888	Description *string `json:"Description,omitempty"`
38889	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
38890	Kind Kind `json:"Kind,omitempty"`
38891}
38892
38893// MarshalJSON is the custom marshaler for ReplicasHealthEvaluation.
38894func (rhe ReplicasHealthEvaluation) MarshalJSON() ([]byte, error) {
38895	rhe.Kind = KindReplicas
38896	objectMap := make(map[string]interface{})
38897	if rhe.MaxPercentUnhealthyReplicasPerPartition != nil {
38898		objectMap["MaxPercentUnhealthyReplicasPerPartition"] = rhe.MaxPercentUnhealthyReplicasPerPartition
38899	}
38900	if rhe.TotalCount != nil {
38901		objectMap["TotalCount"] = rhe.TotalCount
38902	}
38903	if rhe.UnhealthyEvaluations != nil {
38904		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
38905	}
38906	if rhe.AggregatedHealthState != "" {
38907		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
38908	}
38909	if rhe.Description != nil {
38910		objectMap["Description"] = rhe.Description
38911	}
38912	if rhe.Kind != "" {
38913		objectMap["Kind"] = rhe.Kind
38914	}
38915	return json.Marshal(objectMap)
38916}
38917
38918// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38919func (rhe ReplicasHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
38920	return nil, false
38921}
38922
38923// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38924func (rhe ReplicasHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
38925	return nil, false
38926}
38927
38928// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38929func (rhe ReplicasHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
38930	return nil, false
38931}
38932
38933// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38934func (rhe ReplicasHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
38935	return nil, false
38936}
38937
38938// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38939func (rhe ReplicasHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
38940	return nil, false
38941}
38942
38943// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38944func (rhe ReplicasHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
38945	return nil, false
38946}
38947
38948// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38949func (rhe ReplicasHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
38950	return nil, false
38951}
38952
38953// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38954func (rhe ReplicasHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
38955	return nil, false
38956}
38957
38958// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38959func (rhe ReplicasHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
38960	return nil, false
38961}
38962
38963// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38964func (rhe ReplicasHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
38965	return nil, false
38966}
38967
38968// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38969func (rhe ReplicasHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
38970	return nil, false
38971}
38972
38973// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38974func (rhe ReplicasHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
38975	return nil, false
38976}
38977
38978// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38979func (rhe ReplicasHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
38980	return nil, false
38981}
38982
38983// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38984func (rhe ReplicasHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
38985	return nil, false
38986}
38987
38988// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38989func (rhe ReplicasHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
38990	return &rhe, true
38991}
38992
38993// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38994func (rhe ReplicasHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
38995	return nil, false
38996}
38997
38998// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38999func (rhe ReplicasHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
39000	return nil, false
39001}
39002
39003// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
39004func (rhe ReplicasHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
39005	return nil, false
39006}
39007
39008// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
39009func (rhe ReplicasHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
39010	return nil, false
39011}
39012
39013// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
39014func (rhe ReplicasHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
39015	return nil, false
39016}
39017
39018// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
39019func (rhe ReplicasHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
39020	return nil, false
39021}
39022
39023// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
39024func (rhe ReplicasHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
39025	return &rhe, true
39026}
39027
39028// BasicReplicaStatusBase information about the replica.
39029type BasicReplicaStatusBase interface {
39030	AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool)
39031	AsReplicaStatusBase() (*ReplicaStatusBase, bool)
39032}
39033
39034// ReplicaStatusBase information about the replica.
39035type ReplicaStatusBase struct {
39036	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
39037	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
39038}
39039
39040func unmarshalBasicReplicaStatusBase(body []byte) (BasicReplicaStatusBase, error) {
39041	var m map[string]interface{}
39042	err := json.Unmarshal(body, &m)
39043	if err != nil {
39044		return nil, err
39045	}
39046
39047	switch m["Kind"] {
39048	case string(KindKeyValueStore):
39049		var kvsrs KeyValueStoreReplicaStatus
39050		err := json.Unmarshal(body, &kvsrs)
39051		return kvsrs, err
39052	default:
39053		var rsb ReplicaStatusBase
39054		err := json.Unmarshal(body, &rsb)
39055		return rsb, err
39056	}
39057}
39058func unmarshalBasicReplicaStatusBaseArray(body []byte) ([]BasicReplicaStatusBase, error) {
39059	var rawMessages []*json.RawMessage
39060	err := json.Unmarshal(body, &rawMessages)
39061	if err != nil {
39062		return nil, err
39063	}
39064
39065	rsbArray := make([]BasicReplicaStatusBase, len(rawMessages))
39066
39067	for index, rawMessage := range rawMessages {
39068		rsb, err := unmarshalBasicReplicaStatusBase(*rawMessage)
39069		if err != nil {
39070			return nil, err
39071		}
39072		rsbArray[index] = rsb
39073	}
39074	return rsbArray, nil
39075}
39076
39077// MarshalJSON is the custom marshaler for ReplicaStatusBase.
39078func (rsb ReplicaStatusBase) MarshalJSON() ([]byte, error) {
39079	rsb.Kind = KindReplicaStatusBase
39080	objectMap := make(map[string]interface{})
39081	if rsb.Kind != "" {
39082		objectMap["Kind"] = rsb.Kind
39083	}
39084	return json.Marshal(objectMap)
39085}
39086
39087// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
39088func (rsb ReplicaStatusBase) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
39089	return nil, false
39090}
39091
39092// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
39093func (rsb ReplicaStatusBase) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
39094	return &rsb, true
39095}
39096
39097// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
39098func (rsb ReplicaStatusBase) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
39099	return &rsb, true
39100}
39101
39102// ReplicatorQueueStatus provides various statistics of the queue used in the service fabric replicator.
39103// Contains information about the service fabric replicator like the replication/copy queue utilization,
39104// last acknowledgement received timestamp, etc.
39105// Depending on the role of the replicator, the properties in this type imply different meanings.
39106type ReplicatorQueueStatus struct {
39107	// QueueUtilizationPercentage - Represents the utilization of the queue. A value of 0 indicates that the queue is empty and a value of 100 indicates the queue is full.
39108	QueueUtilizationPercentage *int32 `json:"QueueUtilizationPercentage,omitempty"`
39109	// QueueMemorySize - Represents the virtual memory consumed by the queue in bytes.
39110	QueueMemorySize *string `json:"QueueMemorySize,omitempty"`
39111	// FirstSequenceNumber - On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.
39112	// On a secondary replicator, this is the smallest sequence number of the operation that is present in the queue.
39113	FirstSequenceNumber *string `json:"FirstSequenceNumber,omitempty"`
39114	// CompletedSequenceNumber - On a primary replicator, this is semantically the highest sequence number of the operation for which all the secondary replicas have sent an acknowledgement.
39115	// On a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state.
39116	CompletedSequenceNumber *string `json:"CompletedSequenceNumber,omitempty"`
39117	// CommittedSequenceNumber - On a primary replicator, this is semantically the highest sequence number of the operation for which a write quorum of the secondary replicas have sent an acknowledgement.
39118	// On a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary.
39119	CommittedSequenceNumber *string `json:"CommittedSequenceNumber,omitempty"`
39120	// LastSequenceNumber - Represents the latest sequence number of the operation that is available in the queue.
39121	LastSequenceNumber *string `json:"LastSequenceNumber,omitempty"`
39122}
39123
39124// BasicReplicatorStatus represents a base class for primary or secondary replicator status.
39125// Contains information about the service fabric replicator like the replication/copy queue utilization, last
39126// acknowledgement received timestamp, etc.
39127type BasicReplicatorStatus interface {
39128	AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool)
39129	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
39130	AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool)
39131	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
39132	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
39133	AsReplicatorStatus() (*ReplicatorStatus, bool)
39134}
39135
39136// ReplicatorStatus represents a base class for primary or secondary replicator status.
39137// Contains information about the service fabric replicator like the replication/copy queue utilization, last
39138// acknowledgement received timestamp, etc.
39139type ReplicatorStatus struct {
39140	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
39141	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
39142}
39143
39144func unmarshalBasicReplicatorStatus(body []byte) (BasicReplicatorStatus, error) {
39145	var m map[string]interface{}
39146	err := json.Unmarshal(body, &m)
39147	if err != nil {
39148		return nil, err
39149	}
39150
39151	switch m["Kind"] {
39152	case string(KindPrimary):
39153		var prs PrimaryReplicatorStatus
39154		err := json.Unmarshal(body, &prs)
39155		return prs, err
39156	case string(KindSecondaryReplicatorStatus):
39157		var srs SecondaryReplicatorStatus
39158		err := json.Unmarshal(body, &srs)
39159		return srs, err
39160	case string(KindActiveSecondary):
39161		var sars SecondaryActiveReplicatorStatus
39162		err := json.Unmarshal(body, &sars)
39163		return sars, err
39164	case string(KindIdleSecondary):
39165		var sirs SecondaryIdleReplicatorStatus
39166		err := json.Unmarshal(body, &sirs)
39167		return sirs, err
39168	default:
39169		var rs ReplicatorStatus
39170		err := json.Unmarshal(body, &rs)
39171		return rs, err
39172	}
39173}
39174func unmarshalBasicReplicatorStatusArray(body []byte) ([]BasicReplicatorStatus, error) {
39175	var rawMessages []*json.RawMessage
39176	err := json.Unmarshal(body, &rawMessages)
39177	if err != nil {
39178		return nil, err
39179	}
39180
39181	rsArray := make([]BasicReplicatorStatus, len(rawMessages))
39182
39183	for index, rawMessage := range rawMessages {
39184		rs, err := unmarshalBasicReplicatorStatus(*rawMessage)
39185		if err != nil {
39186			return nil, err
39187		}
39188		rsArray[index] = rs
39189	}
39190	return rsArray, nil
39191}
39192
39193// MarshalJSON is the custom marshaler for ReplicatorStatus.
39194func (rs ReplicatorStatus) MarshalJSON() ([]byte, error) {
39195	rs.Kind = KindReplicatorStatus
39196	objectMap := make(map[string]interface{})
39197	if rs.Kind != "" {
39198		objectMap["Kind"] = rs.Kind
39199	}
39200	return json.Marshal(objectMap)
39201}
39202
39203// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
39204func (rs ReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
39205	return nil, false
39206}
39207
39208// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
39209func (rs ReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
39210	return nil, false
39211}
39212
39213// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
39214func (rs ReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
39215	return nil, false
39216}
39217
39218// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
39219func (rs ReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
39220	return nil, false
39221}
39222
39223// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
39224func (rs ReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
39225	return nil, false
39226}
39227
39228// AsReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
39229func (rs ReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
39230	return &rs, true
39231}
39232
39233// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
39234func (rs ReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
39235	return &rs, true
39236}
39237
39238// ResolvedServiceEndpoint endpoint of a resolved service partition.
39239type ResolvedServiceEndpoint struct {
39240	// Kind - The role of the replica where the endpoint is reported. Possible values include: 'ServiceEndpointRoleInvalid', 'ServiceEndpointRoleStateless', 'ServiceEndpointRoleStatefulPrimary', 'ServiceEndpointRoleStatefulSecondary'
39241	Kind ServiceEndpointRole `json:"Kind,omitempty"`
39242	// Address - The address of the endpoint. If the endpoint has multiple listeners the address is a JSON object with one property per listener with the value as the address of that listener.
39243	Address *string `json:"Address,omitempty"`
39244}
39245
39246// ResolvedServicePartition information about a service partition and its associated endpoints.
39247type ResolvedServicePartition struct {
39248	autorest.Response `json:"-"`
39249	// Name - The full name of the service with 'fabric:' URI scheme.
39250	Name *string `json:"Name,omitempty"`
39251	// PartitionInformation - A representation of the resolved partition.
39252	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
39253	// Endpoints - List of resolved service endpoints of a service partition.
39254	Endpoints *[]ResolvedServiceEndpoint `json:"Endpoints,omitempty"`
39255	// Version - The version of this resolved service partition result. This version should be passed in the next time the ResolveService call is made via the PreviousRspVersion query parameter.
39256	Version *string `json:"Version,omitempty"`
39257}
39258
39259// UnmarshalJSON is the custom unmarshaler for ResolvedServicePartition struct.
39260func (rsp *ResolvedServicePartition) UnmarshalJSON(body []byte) error {
39261	var m map[string]*json.RawMessage
39262	err := json.Unmarshal(body, &m)
39263	if err != nil {
39264		return err
39265	}
39266	for k, v := range m {
39267		switch k {
39268		case "Name":
39269			if v != nil {
39270				var name string
39271				err = json.Unmarshal(*v, &name)
39272				if err != nil {
39273					return err
39274				}
39275				rsp.Name = &name
39276			}
39277		case "PartitionInformation":
39278			if v != nil {
39279				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
39280				if err != nil {
39281					return err
39282				}
39283				rsp.PartitionInformation = partitionInformation
39284			}
39285		case "Endpoints":
39286			if v != nil {
39287				var endpoints []ResolvedServiceEndpoint
39288				err = json.Unmarshal(*v, &endpoints)
39289				if err != nil {
39290					return err
39291				}
39292				rsp.Endpoints = &endpoints
39293			}
39294		case "Version":
39295			if v != nil {
39296				var version string
39297				err = json.Unmarshal(*v, &version)
39298				if err != nil {
39299					return err
39300				}
39301				rsp.Version = &version
39302			}
39303		}
39304	}
39305
39306	return nil
39307}
39308
39309// ResourceLimits this type describes the resource limits for a given container. It describes the most
39310// amount of resources a container is allowed to use before being restarted.
39311type ResourceLimits struct {
39312	// MemoryInGB - The memory limit in GB.
39313	MemoryInGB *float64 `json:"memoryInGB,omitempty"`
39314	// CPU - CPU limits in cores. At present, only full cores are supported.
39315	CPU *float64 `json:"cpu,omitempty"`
39316}
39317
39318// ResourceRequests this type describes the requested resources for a given container. It describes the
39319// least amount of resources required for the container. A container can consume more than requested
39320// resources up to the specified limits before being restarted. Currently, the requested resources are
39321// treated as limits.
39322type ResourceRequests struct {
39323	// MemoryInGB - The memory request in GB for this container.
39324	MemoryInGB *float64 `json:"memoryInGB,omitempty"`
39325	// CPU - Requested number of CPU cores. At present, only full cores are supported.
39326	CPU *float64 `json:"cpu,omitempty"`
39327}
39328
39329// ResourceRequirements this type describes the resource requirements for a container or a service.
39330type ResourceRequirements struct {
39331	// Requests - Describes the requested resources for a given container.
39332	Requests *ResourceRequests `json:"requests,omitempty"`
39333	// Limits - Describes the maximum limits on the resources for a given container.
39334	Limits *ResourceLimits `json:"limits,omitempty"`
39335}
39336
39337// RestartDeployedCodePackageDescription defines description for restarting a deployed code package on
39338// Service Fabric node.
39339type RestartDeployedCodePackageDescription struct {
39340	// ServiceManifestName - The name of service manifest that specified this code package.
39341	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
39342	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
39343	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
39344	// is always an empty string.
39345	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
39346	// CodePackageName - The name of the code package defined in the service manifest.
39347	CodePackageName *string `json:"CodePackageName,omitempty"`
39348	// CodePackageInstanceID - The instance ID for currently running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started.
39349	// Each time entry point executable is run, its instance ID will change. If 0 is passed in as the code package instance ID, the API will restart the code package with whatever instance ID it is currently running.
39350	// If an instance ID other than 0 is passed in, the API will restart the code package only if the current Instance ID matches the passed in instance ID.
39351	// Note, passing in the exact instance ID (not 0) in the API is safer, because if ensures at most one restart of the code package.
39352	CodePackageInstanceID *string `json:"CodePackageInstanceId,omitempty"`
39353}
39354
39355// RestartNodeDescription describes the parameters to restart a Service Fabric node.
39356type RestartNodeDescription struct {
39357	// NodeInstanceID - The instance ID of the target node. If instance ID is specified the node is restarted only if it matches with the current instance of the node. A default value of "0" would match any instance ID. The instance ID can be obtained using get node query.
39358	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
39359	// CreateFabricDump - Specify True to create a dump of the fabric node process. This is case-sensitive. Possible values include: 'False', 'True'
39360	CreateFabricDump CreateFabricDump `json:"CreateFabricDump,omitempty"`
39361}
39362
39363// RestartPartitionResult represents information about an operation in a terminal state (Completed or
39364// Faulted).
39365type RestartPartitionResult struct {
39366	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
39367	ErrorCode *int32 `json:"ErrorCode,omitempty"`
39368	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
39369	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
39370}
39371
39372// RestorePartitionDescription specifies the parameters needed to trigger a restore of a specific
39373// partition.
39374type RestorePartitionDescription struct {
39375	// BackupID - Unique backup ID.
39376	BackupID *uuid.UUID `json:"BackupId,omitempty"`
39377	// BackupLocation - Location of the backup relative to the backup storage specified/ configured.
39378	BackupLocation *string `json:"BackupLocation,omitempty"`
39379	// BackupStorage - Location of the backup from where the partition will be restored.
39380	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
39381}
39382
39383// UnmarshalJSON is the custom unmarshaler for RestorePartitionDescription struct.
39384func (rpd *RestorePartitionDescription) UnmarshalJSON(body []byte) error {
39385	var m map[string]*json.RawMessage
39386	err := json.Unmarshal(body, &m)
39387	if err != nil {
39388		return err
39389	}
39390	for k, v := range m {
39391		switch k {
39392		case "BackupId":
39393			if v != nil {
39394				var backupID uuid.UUID
39395				err = json.Unmarshal(*v, &backupID)
39396				if err != nil {
39397					return err
39398				}
39399				rpd.BackupID = &backupID
39400			}
39401		case "BackupLocation":
39402			if v != nil {
39403				var backupLocation string
39404				err = json.Unmarshal(*v, &backupLocation)
39405				if err != nil {
39406					return err
39407				}
39408				rpd.BackupLocation = &backupLocation
39409			}
39410		case "BackupStorage":
39411			if v != nil {
39412				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
39413				if err != nil {
39414					return err
39415				}
39416				rpd.BackupStorage = backupStorage
39417			}
39418		}
39419	}
39420
39421	return nil
39422}
39423
39424// RestoreProgressInfo describes the progress of a restore operation on a partition.
39425type RestoreProgressInfo struct {
39426	autorest.Response `json:"-"`
39427	// RestoreState - Represents the current state of the partition restore operation. Possible values include: 'RestoreStateInvalid', 'RestoreStateAccepted', 'RestoreStateRestoreInProgress', 'RestoreStateSuccess', 'RestoreStateFailure', 'RestoreStateTimeout'
39428	RestoreState RestoreState `json:"RestoreState,omitempty"`
39429	// TimeStampUtc - Timestamp when operation succeeded or failed.
39430	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
39431	// RestoredEpoch - Describes the epoch at which the partition is restored.
39432	RestoredEpoch *BackupEpoch `json:"RestoredEpoch,omitempty"`
39433	// RestoredLsn - Restored LSN.
39434	RestoredLsn *string `json:"RestoredLsn,omitempty"`
39435	// FailureError - Denotes the failure encountered in performing restore operation.
39436	FailureError *FabricErrorError `json:"FailureError,omitempty"`
39437}
39438
39439// ResumeApplicationUpgradeDescription describes the parameters for resuming an unmonitored manual Service
39440// Fabric application upgrade
39441type ResumeApplicationUpgradeDescription struct {
39442	// UpgradeDomainName - The name of the upgrade domain in which to resume the upgrade.
39443	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
39444}
39445
39446// ResumeClusterUpgradeDescription describes the parameters for resuming a cluster upgrade.
39447type ResumeClusterUpgradeDescription struct {
39448	// UpgradeDomain - The next upgrade domain for this cluster upgrade.
39449	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
39450}
39451
39452// RollingUpgradeUpdateDescription describes the parameters for updating a rolling upgrade of application
39453// or cluster.
39454type RollingUpgradeUpdateDescription struct {
39455	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
39456	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
39457	// ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
39458	ForceRestart *bool `json:"ForceRestart,omitempty"`
39459	// ReplicaSetCheckTimeoutInMilliseconds - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
39460	ReplicaSetCheckTimeoutInMilliseconds *int64 `json:"ReplicaSetCheckTimeoutInMilliseconds,omitempty"`
39461	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
39462	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
39463	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
39464	FailureAction FailureAction `json:"FailureAction,omitempty"`
39465	// HealthCheckWaitDurationInMilliseconds - The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
39466	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
39467	// HealthCheckStableDurationInMilliseconds - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
39468	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
39469	// HealthCheckRetryTimeoutInMilliseconds - The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
39470	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
39471	// UpgradeTimeoutInMilliseconds - The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
39472	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
39473	// UpgradeDomainTimeoutInMilliseconds - The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.
39474	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
39475}
39476
39477// BasicSafetyCheck represents a safety check performed by service fabric before continuing with the operations. These
39478// checks ensure the availability of the service and the reliability of the state.
39479type BasicSafetyCheck interface {
39480	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
39481	AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool)
39482	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
39483	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
39484	AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool)
39485	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
39486	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
39487	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
39488	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
39489	AsSafetyCheck() (*SafetyCheck, bool)
39490}
39491
39492// SafetyCheck represents a safety check performed by service fabric before continuing with the operations.
39493// These checks ensure the availability of the service and the reliability of the state.
39494type SafetyCheck struct {
39495	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
39496	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
39497}
39498
39499func unmarshalBasicSafetyCheck(body []byte) (BasicSafetyCheck, error) {
39500	var m map[string]interface{}
39501	err := json.Unmarshal(body, &m)
39502	if err != nil {
39503		return nil, err
39504	}
39505
39506	switch m["Kind"] {
39507	case string(KindPartitionSafetyCheck):
39508		var psc PartitionSafetyCheck
39509		err := json.Unmarshal(body, &psc)
39510		return psc, err
39511	case string(KindEnsureAvailability):
39512		var easc EnsureAvailabilitySafetyCheck
39513		err := json.Unmarshal(body, &easc)
39514		return easc, err
39515	case string(KindEnsurePartitionQuorum):
39516		var epqsc EnsurePartitionQurumSafetyCheck
39517		err := json.Unmarshal(body, &epqsc)
39518		return epqsc, err
39519	case string(KindEnsureSeedNodeQuorum):
39520		var snsc SeedNodeSafetyCheck
39521		err := json.Unmarshal(body, &snsc)
39522		return snsc, err
39523	case string(KindWaitForInbuildReplica):
39524		var wfirsc WaitForInbuildReplicaSafetyCheck
39525		err := json.Unmarshal(body, &wfirsc)
39526		return wfirsc, err
39527	case string(KindWaitForPrimaryPlacement):
39528		var wfppsc WaitForPrimaryPlacementSafetyCheck
39529		err := json.Unmarshal(body, &wfppsc)
39530		return wfppsc, err
39531	case string(KindWaitForPrimarySwap):
39532		var wfpssc WaitForPrimarySwapSafetyCheck
39533		err := json.Unmarshal(body, &wfpssc)
39534		return wfpssc, err
39535	case string(KindWaitForReconfiguration):
39536		var wfrsc WaitForReconfigurationSafetyCheck
39537		err := json.Unmarshal(body, &wfrsc)
39538		return wfrsc, err
39539	default:
39540		var sc SafetyCheck
39541		err := json.Unmarshal(body, &sc)
39542		return sc, err
39543	}
39544}
39545func unmarshalBasicSafetyCheckArray(body []byte) ([]BasicSafetyCheck, error) {
39546	var rawMessages []*json.RawMessage
39547	err := json.Unmarshal(body, &rawMessages)
39548	if err != nil {
39549		return nil, err
39550	}
39551
39552	scArray := make([]BasicSafetyCheck, len(rawMessages))
39553
39554	for index, rawMessage := range rawMessages {
39555		sc, err := unmarshalBasicSafetyCheck(*rawMessage)
39556		if err != nil {
39557			return nil, err
39558		}
39559		scArray[index] = sc
39560	}
39561	return scArray, nil
39562}
39563
39564// MarshalJSON is the custom marshaler for SafetyCheck.
39565func (sc SafetyCheck) MarshalJSON() ([]byte, error) {
39566	sc.Kind = KindSafetyCheck
39567	objectMap := make(map[string]interface{})
39568	if sc.Kind != "" {
39569		objectMap["Kind"] = sc.Kind
39570	}
39571	return json.Marshal(objectMap)
39572}
39573
39574// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39575func (sc SafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
39576	return nil, false
39577}
39578
39579// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39580func (sc SafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
39581	return nil, false
39582}
39583
39584// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39585func (sc SafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
39586	return nil, false
39587}
39588
39589// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39590func (sc SafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
39591	return nil, false
39592}
39593
39594// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39595func (sc SafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
39596	return nil, false
39597}
39598
39599// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39600func (sc SafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
39601	return nil, false
39602}
39603
39604// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39605func (sc SafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
39606	return nil, false
39607}
39608
39609// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39610func (sc SafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
39611	return nil, false
39612}
39613
39614// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39615func (sc SafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
39616	return nil, false
39617}
39618
39619// AsSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39620func (sc SafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
39621	return &sc, true
39622}
39623
39624// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39625func (sc SafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
39626	return &sc, true
39627}
39628
39629// SafetyCheckWrapper a wrapper for the safety check object. Safety checks are performed by service fabric
39630// before continuing with the operations. These checks ensure the availability of the service and the
39631// reliability of the state.
39632type SafetyCheckWrapper struct {
39633	// SafetyCheck - Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.
39634	SafetyCheck BasicSafetyCheck `json:"SafetyCheck,omitempty"`
39635}
39636
39637// UnmarshalJSON is the custom unmarshaler for SafetyCheckWrapper struct.
39638func (scw *SafetyCheckWrapper) UnmarshalJSON(body []byte) error {
39639	var m map[string]*json.RawMessage
39640	err := json.Unmarshal(body, &m)
39641	if err != nil {
39642		return err
39643	}
39644	for k, v := range m {
39645		switch k {
39646		case "SafetyCheck":
39647			if v != nil {
39648				safetyCheck, err := unmarshalBasicSafetyCheck(*v)
39649				if err != nil {
39650					return err
39651				}
39652				scw.SafetyCheck = safetyCheck
39653			}
39654		}
39655	}
39656
39657	return nil
39658}
39659
39660// BasicScalingMechanismDescription describes the mechanism for performing a scaling operation.
39661type BasicScalingMechanismDescription interface {
39662	AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool)
39663	AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool)
39664	AsScalingMechanismDescription() (*ScalingMechanismDescription, bool)
39665}
39666
39667// ScalingMechanismDescription describes the mechanism for performing a scaling operation.
39668type ScalingMechanismDescription struct {
39669	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
39670	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
39671}
39672
39673func unmarshalBasicScalingMechanismDescription(body []byte) (BasicScalingMechanismDescription, error) {
39674	var m map[string]interface{}
39675	err := json.Unmarshal(body, &m)
39676	if err != nil {
39677		return nil, err
39678	}
39679
39680	switch m["Kind"] {
39681	case string(KindPartitionInstanceCount):
39682		var picsm PartitionInstanceCountScaleMechanism
39683		err := json.Unmarshal(body, &picsm)
39684		return picsm, err
39685	case string(KindAddRemoveIncrementalNamedPartition):
39686		var arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism
39687		err := json.Unmarshal(body, &arinpsm)
39688		return arinpsm, err
39689	default:
39690		var smd ScalingMechanismDescription
39691		err := json.Unmarshal(body, &smd)
39692		return smd, err
39693	}
39694}
39695func unmarshalBasicScalingMechanismDescriptionArray(body []byte) ([]BasicScalingMechanismDescription, error) {
39696	var rawMessages []*json.RawMessage
39697	err := json.Unmarshal(body, &rawMessages)
39698	if err != nil {
39699		return nil, err
39700	}
39701
39702	smdArray := make([]BasicScalingMechanismDescription, len(rawMessages))
39703
39704	for index, rawMessage := range rawMessages {
39705		smd, err := unmarshalBasicScalingMechanismDescription(*rawMessage)
39706		if err != nil {
39707			return nil, err
39708		}
39709		smdArray[index] = smd
39710	}
39711	return smdArray, nil
39712}
39713
39714// MarshalJSON is the custom marshaler for ScalingMechanismDescription.
39715func (smd ScalingMechanismDescription) MarshalJSON() ([]byte, error) {
39716	smd.Kind = KindScalingMechanismDescription
39717	objectMap := make(map[string]interface{})
39718	if smd.Kind != "" {
39719		objectMap["Kind"] = smd.Kind
39720	}
39721	return json.Marshal(objectMap)
39722}
39723
39724// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39725func (smd ScalingMechanismDescription) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
39726	return nil, false
39727}
39728
39729// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39730func (smd ScalingMechanismDescription) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
39731	return nil, false
39732}
39733
39734// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39735func (smd ScalingMechanismDescription) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
39736	return &smd, true
39737}
39738
39739// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39740func (smd ScalingMechanismDescription) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
39741	return &smd, true
39742}
39743
39744// ScalingPolicyDescription describes how the scaling should be performed
39745type ScalingPolicyDescription struct {
39746	// ScalingTrigger - Specifies the trigger associated with this scaling policy
39747	ScalingTrigger BasicScalingTriggerDescription `json:"ScalingTrigger,omitempty"`
39748	// ScalingMechanism - Specifies the mechanism associated with this scaling policy
39749	ScalingMechanism BasicScalingMechanismDescription `json:"ScalingMechanism,omitempty"`
39750}
39751
39752// UnmarshalJSON is the custom unmarshaler for ScalingPolicyDescription struct.
39753func (spd *ScalingPolicyDescription) UnmarshalJSON(body []byte) error {
39754	var m map[string]*json.RawMessage
39755	err := json.Unmarshal(body, &m)
39756	if err != nil {
39757		return err
39758	}
39759	for k, v := range m {
39760		switch k {
39761		case "ScalingTrigger":
39762			if v != nil {
39763				scalingTrigger, err := unmarshalBasicScalingTriggerDescription(*v)
39764				if err != nil {
39765					return err
39766				}
39767				spd.ScalingTrigger = scalingTrigger
39768			}
39769		case "ScalingMechanism":
39770			if v != nil {
39771				scalingMechanism, err := unmarshalBasicScalingMechanismDescription(*v)
39772				if err != nil {
39773					return err
39774				}
39775				spd.ScalingMechanism = scalingMechanism
39776			}
39777		}
39778	}
39779
39780	return nil
39781}
39782
39783// BasicScalingTriggerDescription describes the trigger for performing a scaling operation.
39784type BasicScalingTriggerDescription interface {
39785	AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool)
39786	AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool)
39787	AsScalingTriggerDescription() (*ScalingTriggerDescription, bool)
39788}
39789
39790// ScalingTriggerDescription describes the trigger for performing a scaling operation.
39791type ScalingTriggerDescription struct {
39792	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
39793	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
39794}
39795
39796func unmarshalBasicScalingTriggerDescription(body []byte) (BasicScalingTriggerDescription, error) {
39797	var m map[string]interface{}
39798	err := json.Unmarshal(body, &m)
39799	if err != nil {
39800		return nil, err
39801	}
39802
39803	switch m["Kind"] {
39804	case string(KindAveragePartitionLoad):
39805		var aplst AveragePartitionLoadScalingTrigger
39806		err := json.Unmarshal(body, &aplst)
39807		return aplst, err
39808	case string(KindAverageServiceLoad):
39809		var aslst AverageServiceLoadScalingTrigger
39810		err := json.Unmarshal(body, &aslst)
39811		return aslst, err
39812	default:
39813		var std ScalingTriggerDescription
39814		err := json.Unmarshal(body, &std)
39815		return std, err
39816	}
39817}
39818func unmarshalBasicScalingTriggerDescriptionArray(body []byte) ([]BasicScalingTriggerDescription, error) {
39819	var rawMessages []*json.RawMessage
39820	err := json.Unmarshal(body, &rawMessages)
39821	if err != nil {
39822		return nil, err
39823	}
39824
39825	stdArray := make([]BasicScalingTriggerDescription, len(rawMessages))
39826
39827	for index, rawMessage := range rawMessages {
39828		std, err := unmarshalBasicScalingTriggerDescription(*rawMessage)
39829		if err != nil {
39830			return nil, err
39831		}
39832		stdArray[index] = std
39833	}
39834	return stdArray, nil
39835}
39836
39837// MarshalJSON is the custom marshaler for ScalingTriggerDescription.
39838func (std ScalingTriggerDescription) MarshalJSON() ([]byte, error) {
39839	std.Kind = KindScalingTriggerDescription
39840	objectMap := make(map[string]interface{})
39841	if std.Kind != "" {
39842		objectMap["Kind"] = std.Kind
39843	}
39844	return json.Marshal(objectMap)
39845}
39846
39847// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39848func (std ScalingTriggerDescription) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
39849	return nil, false
39850}
39851
39852// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39853func (std ScalingTriggerDescription) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
39854	return nil, false
39855}
39856
39857// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39858func (std ScalingTriggerDescription) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
39859	return &std, true
39860}
39861
39862// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39863func (std ScalingTriggerDescription) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
39864	return &std, true
39865}
39866
39867// SecondaryActiveReplicatorStatus status of the secondary replicator when it is in active mode and is part
39868// of the replica set.
39869type SecondaryActiveReplicatorStatus struct {
39870	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
39871	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
39872	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
39873	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
39874	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
39875	// IsInBuild - Value that indicates whether the replica is currently being built.
39876	IsInBuild *bool `json:"IsInBuild,omitempty"`
39877	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
39878	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
39879	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
39880	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
39881	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
39882	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
39883	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
39884	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
39885	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
39886	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
39887}
39888
39889// MarshalJSON is the custom marshaler for SecondaryActiveReplicatorStatus.
39890func (sars SecondaryActiveReplicatorStatus) MarshalJSON() ([]byte, error) {
39891	sars.Kind = KindActiveSecondary
39892	objectMap := make(map[string]interface{})
39893	if sars.ReplicationQueueStatus != nil {
39894		objectMap["ReplicationQueueStatus"] = sars.ReplicationQueueStatus
39895	}
39896	if sars.LastReplicationOperationReceivedTimeUtc != nil {
39897		objectMap["LastReplicationOperationReceivedTimeUtc"] = sars.LastReplicationOperationReceivedTimeUtc
39898	}
39899	if sars.IsInBuild != nil {
39900		objectMap["IsInBuild"] = sars.IsInBuild
39901	}
39902	if sars.CopyQueueStatus != nil {
39903		objectMap["CopyQueueStatus"] = sars.CopyQueueStatus
39904	}
39905	if sars.LastCopyOperationReceivedTimeUtc != nil {
39906		objectMap["LastCopyOperationReceivedTimeUtc"] = sars.LastCopyOperationReceivedTimeUtc
39907	}
39908	if sars.LastAcknowledgementSentTimeUtc != nil {
39909		objectMap["LastAcknowledgementSentTimeUtc"] = sars.LastAcknowledgementSentTimeUtc
39910	}
39911	if sars.Kind != "" {
39912		objectMap["Kind"] = sars.Kind
39913	}
39914	return json.Marshal(objectMap)
39915}
39916
39917// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39918func (sars SecondaryActiveReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
39919	return nil, false
39920}
39921
39922// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39923func (sars SecondaryActiveReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
39924	return nil, false
39925}
39926
39927// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39928func (sars SecondaryActiveReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
39929	return &sars, true
39930}
39931
39932// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39933func (sars SecondaryActiveReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
39934	return &sars, true
39935}
39936
39937// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39938func (sars SecondaryActiveReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
39939	return nil, false
39940}
39941
39942// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39943func (sars SecondaryActiveReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
39944	return nil, false
39945}
39946
39947// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39948func (sars SecondaryActiveReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
39949	return &sars, true
39950}
39951
39952// SecondaryIdleReplicatorStatus status of the secondary replicator when it is in idle mode and is being
39953// built by the primary.
39954type SecondaryIdleReplicatorStatus struct {
39955	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
39956	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
39957	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
39958	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
39959	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
39960	// IsInBuild - Value that indicates whether the replica is currently being built.
39961	IsInBuild *bool `json:"IsInBuild,omitempty"`
39962	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
39963	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
39964	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
39965	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
39966	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
39967	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
39968	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
39969	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
39970	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
39971	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
39972}
39973
39974// MarshalJSON is the custom marshaler for SecondaryIdleReplicatorStatus.
39975func (sirs SecondaryIdleReplicatorStatus) MarshalJSON() ([]byte, error) {
39976	sirs.Kind = KindIdleSecondary
39977	objectMap := make(map[string]interface{})
39978	if sirs.ReplicationQueueStatus != nil {
39979		objectMap["ReplicationQueueStatus"] = sirs.ReplicationQueueStatus
39980	}
39981	if sirs.LastReplicationOperationReceivedTimeUtc != nil {
39982		objectMap["LastReplicationOperationReceivedTimeUtc"] = sirs.LastReplicationOperationReceivedTimeUtc
39983	}
39984	if sirs.IsInBuild != nil {
39985		objectMap["IsInBuild"] = sirs.IsInBuild
39986	}
39987	if sirs.CopyQueueStatus != nil {
39988		objectMap["CopyQueueStatus"] = sirs.CopyQueueStatus
39989	}
39990	if sirs.LastCopyOperationReceivedTimeUtc != nil {
39991		objectMap["LastCopyOperationReceivedTimeUtc"] = sirs.LastCopyOperationReceivedTimeUtc
39992	}
39993	if sirs.LastAcknowledgementSentTimeUtc != nil {
39994		objectMap["LastAcknowledgementSentTimeUtc"] = sirs.LastAcknowledgementSentTimeUtc
39995	}
39996	if sirs.Kind != "" {
39997		objectMap["Kind"] = sirs.Kind
39998	}
39999	return json.Marshal(objectMap)
40000}
40001
40002// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
40003func (sirs SecondaryIdleReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
40004	return nil, false
40005}
40006
40007// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
40008func (sirs SecondaryIdleReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
40009	return nil, false
40010}
40011
40012// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
40013func (sirs SecondaryIdleReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
40014	return &sirs, true
40015}
40016
40017// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
40018func (sirs SecondaryIdleReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
40019	return nil, false
40020}
40021
40022// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
40023func (sirs SecondaryIdleReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
40024	return &sirs, true
40025}
40026
40027// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
40028func (sirs SecondaryIdleReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
40029	return nil, false
40030}
40031
40032// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
40033func (sirs SecondaryIdleReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
40034	return &sirs, true
40035}
40036
40037// BasicSecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in a
40038// ActiveSecondary role.
40039type BasicSecondaryReplicatorStatus interface {
40040	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
40041	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
40042	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
40043}
40044
40045// SecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in
40046// a ActiveSecondary role.
40047type SecondaryReplicatorStatus struct {
40048	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
40049	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
40050	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
40051	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
40052	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
40053	// IsInBuild - Value that indicates whether the replica is currently being built.
40054	IsInBuild *bool `json:"IsInBuild,omitempty"`
40055	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
40056	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
40057	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
40058	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
40059	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
40060	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
40061	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
40062	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
40063	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
40064	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
40065}
40066
40067func unmarshalBasicSecondaryReplicatorStatus(body []byte) (BasicSecondaryReplicatorStatus, error) {
40068	var m map[string]interface{}
40069	err := json.Unmarshal(body, &m)
40070	if err != nil {
40071		return nil, err
40072	}
40073
40074	switch m["Kind"] {
40075	case string(KindActiveSecondary):
40076		var sars SecondaryActiveReplicatorStatus
40077		err := json.Unmarshal(body, &sars)
40078		return sars, err
40079	case string(KindIdleSecondary):
40080		var sirs SecondaryIdleReplicatorStatus
40081		err := json.Unmarshal(body, &sirs)
40082		return sirs, err
40083	default:
40084		var srs SecondaryReplicatorStatus
40085		err := json.Unmarshal(body, &srs)
40086		return srs, err
40087	}
40088}
40089func unmarshalBasicSecondaryReplicatorStatusArray(body []byte) ([]BasicSecondaryReplicatorStatus, error) {
40090	var rawMessages []*json.RawMessage
40091	err := json.Unmarshal(body, &rawMessages)
40092	if err != nil {
40093		return nil, err
40094	}
40095
40096	srsArray := make([]BasicSecondaryReplicatorStatus, len(rawMessages))
40097
40098	for index, rawMessage := range rawMessages {
40099		srs, err := unmarshalBasicSecondaryReplicatorStatus(*rawMessage)
40100		if err != nil {
40101			return nil, err
40102		}
40103		srsArray[index] = srs
40104	}
40105	return srsArray, nil
40106}
40107
40108// MarshalJSON is the custom marshaler for SecondaryReplicatorStatus.
40109func (srs SecondaryReplicatorStatus) MarshalJSON() ([]byte, error) {
40110	srs.Kind = KindSecondaryReplicatorStatus
40111	objectMap := make(map[string]interface{})
40112	if srs.ReplicationQueueStatus != nil {
40113		objectMap["ReplicationQueueStatus"] = srs.ReplicationQueueStatus
40114	}
40115	if srs.LastReplicationOperationReceivedTimeUtc != nil {
40116		objectMap["LastReplicationOperationReceivedTimeUtc"] = srs.LastReplicationOperationReceivedTimeUtc
40117	}
40118	if srs.IsInBuild != nil {
40119		objectMap["IsInBuild"] = srs.IsInBuild
40120	}
40121	if srs.CopyQueueStatus != nil {
40122		objectMap["CopyQueueStatus"] = srs.CopyQueueStatus
40123	}
40124	if srs.LastCopyOperationReceivedTimeUtc != nil {
40125		objectMap["LastCopyOperationReceivedTimeUtc"] = srs.LastCopyOperationReceivedTimeUtc
40126	}
40127	if srs.LastAcknowledgementSentTimeUtc != nil {
40128		objectMap["LastAcknowledgementSentTimeUtc"] = srs.LastAcknowledgementSentTimeUtc
40129	}
40130	if srs.Kind != "" {
40131		objectMap["Kind"] = srs.Kind
40132	}
40133	return json.Marshal(objectMap)
40134}
40135
40136// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
40137func (srs SecondaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
40138	return nil, false
40139}
40140
40141// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
40142func (srs SecondaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
40143	return &srs, true
40144}
40145
40146// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
40147func (srs SecondaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
40148	return &srs, true
40149}
40150
40151// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
40152func (srs SecondaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
40153	return nil, false
40154}
40155
40156// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
40157func (srs SecondaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
40158	return nil, false
40159}
40160
40161// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
40162func (srs SecondaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
40163	return nil, false
40164}
40165
40166// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
40167func (srs SecondaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
40168	return &srs, true
40169}
40170
40171// SeedNodeSafetyCheck represents a safety check for the seed nodes being performed by service fabric
40172// before continuing with node level operations.
40173type SeedNodeSafetyCheck struct {
40174	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
40175	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
40176}
40177
40178// MarshalJSON is the custom marshaler for SeedNodeSafetyCheck.
40179func (snsc SeedNodeSafetyCheck) MarshalJSON() ([]byte, error) {
40180	snsc.Kind = KindEnsureSeedNodeQuorum
40181	objectMap := make(map[string]interface{})
40182	if snsc.Kind != "" {
40183		objectMap["Kind"] = snsc.Kind
40184	}
40185	return json.Marshal(objectMap)
40186}
40187
40188// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40189func (snsc SeedNodeSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
40190	return nil, false
40191}
40192
40193// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40194func (snsc SeedNodeSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
40195	return nil, false
40196}
40197
40198// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40199func (snsc SeedNodeSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
40200	return nil, false
40201}
40202
40203// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40204func (snsc SeedNodeSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
40205	return nil, false
40206}
40207
40208// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40209func (snsc SeedNodeSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
40210	return &snsc, true
40211}
40212
40213// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40214func (snsc SeedNodeSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
40215	return nil, false
40216}
40217
40218// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40219func (snsc SeedNodeSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
40220	return nil, false
40221}
40222
40223// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40224func (snsc SeedNodeSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
40225	return nil, false
40226}
40227
40228// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40229func (snsc SeedNodeSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
40230	return nil, false
40231}
40232
40233// AsSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40234func (snsc SeedNodeSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
40235	return nil, false
40236}
40237
40238// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
40239func (snsc SeedNodeSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
40240	return &snsc, true
40241}
40242
40243// SelectedPartition this class returns information about the partition that the user-induced operation
40244// acted upon.
40245type SelectedPartition struct {
40246	// ServiceName - The name of the service the partition belongs to.
40247	ServiceName *string `json:"ServiceName,omitempty"`
40248	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
40249	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
40250}
40251
40252// ServiceBackupConfigurationInfo backup configuration information for a specific Service Fabric service
40253// specifying what backup policy is being applied and suspend description, if any.
40254type ServiceBackupConfigurationInfo struct {
40255	// ServiceName - The full name of the service with 'fabric:' URI scheme.
40256	ServiceName *string `json:"ServiceName,omitempty"`
40257	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
40258	PolicyName *string `json:"PolicyName,omitempty"`
40259	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
40260	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
40261	// SuspensionInfo - Describes the backup suspension details.
40262	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
40263	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
40264	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
40265}
40266
40267// MarshalJSON is the custom marshaler for ServiceBackupConfigurationInfo.
40268func (sbci ServiceBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
40269	sbci.Kind = KindBasicBackupConfigurationInfoKindService
40270	objectMap := make(map[string]interface{})
40271	if sbci.ServiceName != nil {
40272		objectMap["ServiceName"] = sbci.ServiceName
40273	}
40274	if sbci.PolicyName != nil {
40275		objectMap["PolicyName"] = sbci.PolicyName
40276	}
40277	if sbci.PolicyInheritedFrom != "" {
40278		objectMap["PolicyInheritedFrom"] = sbci.PolicyInheritedFrom
40279	}
40280	if sbci.SuspensionInfo != nil {
40281		objectMap["SuspensionInfo"] = sbci.SuspensionInfo
40282	}
40283	if sbci.Kind != "" {
40284		objectMap["Kind"] = sbci.Kind
40285	}
40286	return json.Marshal(objectMap)
40287}
40288
40289// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
40290func (sbci ServiceBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
40291	return nil, false
40292}
40293
40294// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
40295func (sbci ServiceBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
40296	return &sbci, true
40297}
40298
40299// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
40300func (sbci ServiceBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
40301	return nil, false
40302}
40303
40304// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
40305func (sbci ServiceBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
40306	return nil, false
40307}
40308
40309// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
40310func (sbci ServiceBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
40311	return &sbci, true
40312}
40313
40314// ServiceBackupEntity identifies the Service Fabric stateful service which is being backed up.
40315type ServiceBackupEntity struct {
40316	// ServiceName - The full name of the service with 'fabric:' URI scheme.
40317	ServiceName *string `json:"ServiceName,omitempty"`
40318	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
40319	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
40320}
40321
40322// MarshalJSON is the custom marshaler for ServiceBackupEntity.
40323func (sbe ServiceBackupEntity) MarshalJSON() ([]byte, error) {
40324	sbe.EntityKind = EntityKindService1
40325	objectMap := make(map[string]interface{})
40326	if sbe.ServiceName != nil {
40327		objectMap["ServiceName"] = sbe.ServiceName
40328	}
40329	if sbe.EntityKind != "" {
40330		objectMap["EntityKind"] = sbe.EntityKind
40331	}
40332	return json.Marshal(objectMap)
40333}
40334
40335// AsApplicationBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
40336func (sbe ServiceBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
40337	return nil, false
40338}
40339
40340// AsServiceBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
40341func (sbe ServiceBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
40342	return &sbe, true
40343}
40344
40345// AsPartitionBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
40346func (sbe ServiceBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
40347	return nil, false
40348}
40349
40350// AsBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
40351func (sbe ServiceBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
40352	return nil, false
40353}
40354
40355// AsBasicBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
40356func (sbe ServiceBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
40357	return &sbe, true
40358}
40359
40360// ServiceCorrelationDescription creates a particular correlation between services.
40361type ServiceCorrelationDescription struct {
40362	// Scheme - The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName. Possible values include: 'ServiceCorrelationSchemeInvalid', 'ServiceCorrelationSchemeAffinity', 'ServiceCorrelationSchemeAlignedAffinity', 'ServiceCorrelationSchemeNonAlignedAffinity'
40363	Scheme ServiceCorrelationScheme `json:"Scheme,omitempty"`
40364	// ServiceName - The name of the service that the correlation relationship is established with.
40365	ServiceName *string `json:"ServiceName,omitempty"`
40366}
40367
40368// ServiceCreatedEvent service Created event.
40369type ServiceCreatedEvent struct {
40370	// ServiceTypeName - Service type name.
40371	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
40372	// ApplicationName - Application name.
40373	ApplicationName *string `json:"ApplicationName,omitempty"`
40374	// ApplicationTypeName - Application type name.
40375	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
40376	// ServiceInstance - Id of Service instance.
40377	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
40378	// IsStateful - Indicates if Service is stateful.
40379	IsStateful *bool `json:"IsStateful,omitempty"`
40380	// PartitionCount - Number of partitions.
40381	PartitionCount *int32 `json:"PartitionCount,omitempty"`
40382	// TargetReplicaSetSize - Size of target replicas set.
40383	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
40384	// MinReplicaSetSize - Minimum size of replicas set.
40385	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
40386	// ServicePackageVersion - Version of Service package.
40387	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
40388	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
40389	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
40390	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
40391	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
40392	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
40393	ServiceID *string `json:"ServiceId,omitempty"`
40394	// EventInstanceID - The identifier for the FabricEvent instance.
40395	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
40396	// TimeStamp - The time event was logged.
40397	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
40398	// HasCorrelatedEvents - Shows there is existing related events available.
40399	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
40400	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
40401	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
40402}
40403
40404// MarshalJSON is the custom marshaler for ServiceCreatedEvent.
40405func (sce ServiceCreatedEvent) MarshalJSON() ([]byte, error) {
40406	sce.Kind = KindServiceCreated
40407	objectMap := make(map[string]interface{})
40408	if sce.ServiceTypeName != nil {
40409		objectMap["ServiceTypeName"] = sce.ServiceTypeName
40410	}
40411	if sce.ApplicationName != nil {
40412		objectMap["ApplicationName"] = sce.ApplicationName
40413	}
40414	if sce.ApplicationTypeName != nil {
40415		objectMap["ApplicationTypeName"] = sce.ApplicationTypeName
40416	}
40417	if sce.ServiceInstance != nil {
40418		objectMap["ServiceInstance"] = sce.ServiceInstance
40419	}
40420	if sce.IsStateful != nil {
40421		objectMap["IsStateful"] = sce.IsStateful
40422	}
40423	if sce.PartitionCount != nil {
40424		objectMap["PartitionCount"] = sce.PartitionCount
40425	}
40426	if sce.TargetReplicaSetSize != nil {
40427		objectMap["TargetReplicaSetSize"] = sce.TargetReplicaSetSize
40428	}
40429	if sce.MinReplicaSetSize != nil {
40430		objectMap["MinReplicaSetSize"] = sce.MinReplicaSetSize
40431	}
40432	if sce.ServicePackageVersion != nil {
40433		objectMap["ServicePackageVersion"] = sce.ServicePackageVersion
40434	}
40435	if sce.PartitionID != nil {
40436		objectMap["PartitionId"] = sce.PartitionID
40437	}
40438	if sce.ServiceID != nil {
40439		objectMap["ServiceId"] = sce.ServiceID
40440	}
40441	if sce.EventInstanceID != nil {
40442		objectMap["EventInstanceId"] = sce.EventInstanceID
40443	}
40444	if sce.TimeStamp != nil {
40445		objectMap["TimeStamp"] = sce.TimeStamp
40446	}
40447	if sce.HasCorrelatedEvents != nil {
40448		objectMap["HasCorrelatedEvents"] = sce.HasCorrelatedEvents
40449	}
40450	if sce.Kind != "" {
40451		objectMap["Kind"] = sce.Kind
40452	}
40453	return json.Marshal(objectMap)
40454}
40455
40456// AsApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40457func (sce ServiceCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
40458	return nil, false
40459}
40460
40461// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40462func (sce ServiceCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
40463	return nil, false
40464}
40465
40466// AsClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40467func (sce ServiceCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
40468	return nil, false
40469}
40470
40471// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40472func (sce ServiceCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
40473	return nil, false
40474}
40475
40476// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40477func (sce ServiceCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
40478	return nil, false
40479}
40480
40481// AsNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40482func (sce ServiceCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
40483	return nil, false
40484}
40485
40486// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40487func (sce ServiceCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
40488	return nil, false
40489}
40490
40491// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40492func (sce ServiceCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
40493	return nil, false
40494}
40495
40496// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40497func (sce ServiceCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
40498	return nil, false
40499}
40500
40501// AsPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40502func (sce ServiceCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
40503	return nil, false
40504}
40505
40506// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40507func (sce ServiceCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
40508	return nil, false
40509}
40510
40511// AsReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40512func (sce ServiceCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
40513	return nil, false
40514}
40515
40516// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40517func (sce ServiceCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
40518	return nil, false
40519}
40520
40521// AsServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40522func (sce ServiceCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
40523	return nil, false
40524}
40525
40526// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40527func (sce ServiceCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
40528	return &sce, true
40529}
40530
40531// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40532func (sce ServiceCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
40533	return nil, false
40534}
40535
40536// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40537func (sce ServiceCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
40538	return nil, false
40539}
40540
40541// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40542func (sce ServiceCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
40543	return nil, false
40544}
40545
40546// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40547func (sce ServiceCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
40548	return nil, false
40549}
40550
40551// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40552func (sce ServiceCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
40553	return nil, false
40554}
40555
40556// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40557func (sce ServiceCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
40558	return nil, false
40559}
40560
40561// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40562func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
40563	return nil, false
40564}
40565
40566// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40567func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
40568	return nil, false
40569}
40570
40571// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40572func (sce ServiceCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
40573	return nil, false
40574}
40575
40576// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40577func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
40578	return nil, false
40579}
40580
40581// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40582func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
40583	return nil, false
40584}
40585
40586// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40587func (sce ServiceCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
40588	return nil, false
40589}
40590
40591// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40592func (sce ServiceCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
40593	return nil, false
40594}
40595
40596// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40597func (sce ServiceCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
40598	return nil, false
40599}
40600
40601// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40602func (sce ServiceCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
40603	return nil, false
40604}
40605
40606// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40607func (sce ServiceCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
40608	return nil, false
40609}
40610
40611// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40612func (sce ServiceCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
40613	return nil, false
40614}
40615
40616// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40617func (sce ServiceCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
40618	return nil, false
40619}
40620
40621// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40622func (sce ServiceCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
40623	return nil, false
40624}
40625
40626// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40627func (sce ServiceCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
40628	return nil, false
40629}
40630
40631// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40632func (sce ServiceCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
40633	return nil, false
40634}
40635
40636// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40637func (sce ServiceCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
40638	return nil, false
40639}
40640
40641// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40642func (sce ServiceCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
40643	return nil, false
40644}
40645
40646// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40647func (sce ServiceCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
40648	return nil, false
40649}
40650
40651// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40652func (sce ServiceCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
40653	return nil, false
40654}
40655
40656// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40657func (sce ServiceCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
40658	return nil, false
40659}
40660
40661// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40662func (sce ServiceCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
40663	return nil, false
40664}
40665
40666// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40667func (sce ServiceCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
40668	return nil, false
40669}
40670
40671// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40672func (sce ServiceCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
40673	return nil, false
40674}
40675
40676// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40677func (sce ServiceCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
40678	return nil, false
40679}
40680
40681// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40682func (sce ServiceCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
40683	return nil, false
40684}
40685
40686// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40687func (sce ServiceCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
40688	return nil, false
40689}
40690
40691// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40692func (sce ServiceCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
40693	return &sce, true
40694}
40695
40696// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40697func (sce ServiceCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
40698	return nil, false
40699}
40700
40701// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40702func (sce ServiceCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
40703	return nil, false
40704}
40705
40706// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40707func (sce ServiceCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
40708	return nil, false
40709}
40710
40711// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40712func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
40713	return nil, false
40714}
40715
40716// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40717func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
40718	return nil, false
40719}
40720
40721// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40722func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
40723	return nil, false
40724}
40725
40726// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40727func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
40728	return nil, false
40729}
40730
40731// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40732func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
40733	return nil, false
40734}
40735
40736// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40737func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
40738	return nil, false
40739}
40740
40741// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40742func (sce ServiceCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
40743	return nil, false
40744}
40745
40746// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40747func (sce ServiceCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
40748	return nil, false
40749}
40750
40751// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40752func (sce ServiceCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
40753	return nil, false
40754}
40755
40756// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40757func (sce ServiceCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
40758	return nil, false
40759}
40760
40761// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40762func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
40763	return nil, false
40764}
40765
40766// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40767func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
40768	return nil, false
40769}
40770
40771// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40772func (sce ServiceCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
40773	return nil, false
40774}
40775
40776// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40777func (sce ServiceCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
40778	return nil, false
40779}
40780
40781// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40782func (sce ServiceCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
40783	return nil, false
40784}
40785
40786// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40787func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
40788	return nil, false
40789}
40790
40791// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40792func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
40793	return nil, false
40794}
40795
40796// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40797func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
40798	return nil, false
40799}
40800
40801// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40802func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
40803	return nil, false
40804}
40805
40806// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40807func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
40808	return nil, false
40809}
40810
40811// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40812func (sce ServiceCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
40813	return nil, false
40814}
40815
40816// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40817func (sce ServiceCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
40818	return nil, false
40819}
40820
40821// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40822func (sce ServiceCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
40823	return nil, false
40824}
40825
40826// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40827func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
40828	return nil, false
40829}
40830
40831// AsFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40832func (sce ServiceCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
40833	return nil, false
40834}
40835
40836// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40837func (sce ServiceCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
40838	return &sce, true
40839}
40840
40841// ServiceDeletedEvent service Deleted event.
40842type ServiceDeletedEvent struct {
40843	// ServiceTypeName - Service type name.
40844	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
40845	// ApplicationName - Application name.
40846	ApplicationName *string `json:"ApplicationName,omitempty"`
40847	// ApplicationTypeName - Application type name.
40848	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
40849	// ServiceInstance - Id of Service instance.
40850	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
40851	// IsStateful - Indicates if Service is stateful.
40852	IsStateful *bool `json:"IsStateful,omitempty"`
40853	// PartitionCount - Number of partitions.
40854	PartitionCount *int32 `json:"PartitionCount,omitempty"`
40855	// TargetReplicaSetSize - Size of target replicas set.
40856	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
40857	// MinReplicaSetSize - Minimum size of replicas set.
40858	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
40859	// ServicePackageVersion - Version of Service package.
40860	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
40861	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
40862	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
40863	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
40864	ServiceID *string `json:"ServiceId,omitempty"`
40865	// EventInstanceID - The identifier for the FabricEvent instance.
40866	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
40867	// TimeStamp - The time event was logged.
40868	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
40869	// HasCorrelatedEvents - Shows there is existing related events available.
40870	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
40871	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
40872	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
40873}
40874
40875// MarshalJSON is the custom marshaler for ServiceDeletedEvent.
40876func (sde ServiceDeletedEvent) MarshalJSON() ([]byte, error) {
40877	sde.Kind = KindServiceDeleted
40878	objectMap := make(map[string]interface{})
40879	if sde.ServiceTypeName != nil {
40880		objectMap["ServiceTypeName"] = sde.ServiceTypeName
40881	}
40882	if sde.ApplicationName != nil {
40883		objectMap["ApplicationName"] = sde.ApplicationName
40884	}
40885	if sde.ApplicationTypeName != nil {
40886		objectMap["ApplicationTypeName"] = sde.ApplicationTypeName
40887	}
40888	if sde.ServiceInstance != nil {
40889		objectMap["ServiceInstance"] = sde.ServiceInstance
40890	}
40891	if sde.IsStateful != nil {
40892		objectMap["IsStateful"] = sde.IsStateful
40893	}
40894	if sde.PartitionCount != nil {
40895		objectMap["PartitionCount"] = sde.PartitionCount
40896	}
40897	if sde.TargetReplicaSetSize != nil {
40898		objectMap["TargetReplicaSetSize"] = sde.TargetReplicaSetSize
40899	}
40900	if sde.MinReplicaSetSize != nil {
40901		objectMap["MinReplicaSetSize"] = sde.MinReplicaSetSize
40902	}
40903	if sde.ServicePackageVersion != nil {
40904		objectMap["ServicePackageVersion"] = sde.ServicePackageVersion
40905	}
40906	if sde.ServiceID != nil {
40907		objectMap["ServiceId"] = sde.ServiceID
40908	}
40909	if sde.EventInstanceID != nil {
40910		objectMap["EventInstanceId"] = sde.EventInstanceID
40911	}
40912	if sde.TimeStamp != nil {
40913		objectMap["TimeStamp"] = sde.TimeStamp
40914	}
40915	if sde.HasCorrelatedEvents != nil {
40916		objectMap["HasCorrelatedEvents"] = sde.HasCorrelatedEvents
40917	}
40918	if sde.Kind != "" {
40919		objectMap["Kind"] = sde.Kind
40920	}
40921	return json.Marshal(objectMap)
40922}
40923
40924// AsApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40925func (sde ServiceDeletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
40926	return nil, false
40927}
40928
40929// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40930func (sde ServiceDeletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
40931	return nil, false
40932}
40933
40934// AsClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40935func (sde ServiceDeletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
40936	return nil, false
40937}
40938
40939// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40940func (sde ServiceDeletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
40941	return nil, false
40942}
40943
40944// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40945func (sde ServiceDeletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
40946	return nil, false
40947}
40948
40949// AsNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40950func (sde ServiceDeletedEvent) AsNodeEvent() (*NodeEvent, bool) {
40951	return nil, false
40952}
40953
40954// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40955func (sde ServiceDeletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
40956	return nil, false
40957}
40958
40959// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40960func (sde ServiceDeletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
40961	return nil, false
40962}
40963
40964// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40965func (sde ServiceDeletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
40966	return nil, false
40967}
40968
40969// AsPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40970func (sde ServiceDeletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
40971	return nil, false
40972}
40973
40974// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40975func (sde ServiceDeletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
40976	return nil, false
40977}
40978
40979// AsReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40980func (sde ServiceDeletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
40981	return nil, false
40982}
40983
40984// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40985func (sde ServiceDeletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
40986	return nil, false
40987}
40988
40989// AsServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40990func (sde ServiceDeletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
40991	return nil, false
40992}
40993
40994// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40995func (sde ServiceDeletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
40996	return &sde, true
40997}
40998
40999// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41000func (sde ServiceDeletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
41001	return nil, false
41002}
41003
41004// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41005func (sde ServiceDeletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
41006	return nil, false
41007}
41008
41009// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41010func (sde ServiceDeletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
41011	return nil, false
41012}
41013
41014// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41015func (sde ServiceDeletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
41016	return nil, false
41017}
41018
41019// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41020func (sde ServiceDeletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
41021	return nil, false
41022}
41023
41024// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41025func (sde ServiceDeletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
41026	return nil, false
41027}
41028
41029// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41030func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
41031	return nil, false
41032}
41033
41034// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41035func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
41036	return nil, false
41037}
41038
41039// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41040func (sde ServiceDeletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
41041	return nil, false
41042}
41043
41044// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41045func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
41046	return nil, false
41047}
41048
41049// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41050func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
41051	return nil, false
41052}
41053
41054// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41055func (sde ServiceDeletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
41056	return nil, false
41057}
41058
41059// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41060func (sde ServiceDeletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
41061	return nil, false
41062}
41063
41064// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41065func (sde ServiceDeletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
41066	return nil, false
41067}
41068
41069// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41070func (sde ServiceDeletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
41071	return nil, false
41072}
41073
41074// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41075func (sde ServiceDeletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
41076	return nil, false
41077}
41078
41079// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41080func (sde ServiceDeletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
41081	return nil, false
41082}
41083
41084// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41085func (sde ServiceDeletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
41086	return nil, false
41087}
41088
41089// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41090func (sde ServiceDeletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
41091	return nil, false
41092}
41093
41094// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41095func (sde ServiceDeletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
41096	return nil, false
41097}
41098
41099// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41100func (sde ServiceDeletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
41101	return nil, false
41102}
41103
41104// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41105func (sde ServiceDeletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
41106	return nil, false
41107}
41108
41109// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41110func (sde ServiceDeletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
41111	return nil, false
41112}
41113
41114// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41115func (sde ServiceDeletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
41116	return nil, false
41117}
41118
41119// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41120func (sde ServiceDeletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
41121	return nil, false
41122}
41123
41124// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41125func (sde ServiceDeletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
41126	return nil, false
41127}
41128
41129// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41130func (sde ServiceDeletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
41131	return nil, false
41132}
41133
41134// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41135func (sde ServiceDeletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
41136	return nil, false
41137}
41138
41139// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41140func (sde ServiceDeletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
41141	return nil, false
41142}
41143
41144// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41145func (sde ServiceDeletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
41146	return nil, false
41147}
41148
41149// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41150func (sde ServiceDeletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
41151	return nil, false
41152}
41153
41154// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41155func (sde ServiceDeletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
41156	return nil, false
41157}
41158
41159// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41160func (sde ServiceDeletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
41161	return nil, false
41162}
41163
41164// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41165func (sde ServiceDeletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
41166	return &sde, true
41167}
41168
41169// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41170func (sde ServiceDeletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
41171	return nil, false
41172}
41173
41174// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41175func (sde ServiceDeletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
41176	return nil, false
41177}
41178
41179// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41180func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
41181	return nil, false
41182}
41183
41184// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41185func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
41186	return nil, false
41187}
41188
41189// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41190func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
41191	return nil, false
41192}
41193
41194// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41195func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
41196	return nil, false
41197}
41198
41199// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41200func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
41201	return nil, false
41202}
41203
41204// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41205func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
41206	return nil, false
41207}
41208
41209// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41210func (sde ServiceDeletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
41211	return nil, false
41212}
41213
41214// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41215func (sde ServiceDeletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
41216	return nil, false
41217}
41218
41219// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41220func (sde ServiceDeletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
41221	return nil, false
41222}
41223
41224// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41225func (sde ServiceDeletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
41226	return nil, false
41227}
41228
41229// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41230func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
41231	return nil, false
41232}
41233
41234// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41235func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
41236	return nil, false
41237}
41238
41239// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41240func (sde ServiceDeletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
41241	return nil, false
41242}
41243
41244// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41245func (sde ServiceDeletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
41246	return nil, false
41247}
41248
41249// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41250func (sde ServiceDeletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
41251	return nil, false
41252}
41253
41254// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41255func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
41256	return nil, false
41257}
41258
41259// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41260func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
41261	return nil, false
41262}
41263
41264// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41265func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
41266	return nil, false
41267}
41268
41269// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41270func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
41271	return nil, false
41272}
41273
41274// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41275func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
41276	return nil, false
41277}
41278
41279// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41280func (sde ServiceDeletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
41281	return nil, false
41282}
41283
41284// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41285func (sde ServiceDeletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
41286	return nil, false
41287}
41288
41289// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41290func (sde ServiceDeletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
41291	return nil, false
41292}
41293
41294// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41295func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
41296	return nil, false
41297}
41298
41299// AsFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41300func (sde ServiceDeletedEvent) AsFabricEvent() (*FabricEvent, bool) {
41301	return nil, false
41302}
41303
41304// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
41305func (sde ServiceDeletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
41306	return &sde, true
41307}
41308
41309// BasicServiceDescription a ServiceDescription contains all of the information necessary to create a service.
41310type BasicServiceDescription interface {
41311	AsStatefulServiceDescription() (*StatefulServiceDescription, bool)
41312	AsStatelessServiceDescription() (*StatelessServiceDescription, bool)
41313	AsServiceDescription() (*ServiceDescription, bool)
41314}
41315
41316// ServiceDescription a ServiceDescription contains all of the information necessary to create a service.
41317type ServiceDescription struct {
41318	autorest.Response `json:"-"`
41319	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
41320	ApplicationName *string `json:"ApplicationName,omitempty"`
41321	// ServiceName - The full name of the service with 'fabric:' URI scheme.
41322	ServiceName *string `json:"ServiceName,omitempty"`
41323	// ServiceTypeName - Name of the service type as specified in the service manifest.
41324	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
41325	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
41326	InitializationData *[]int32 `json:"InitializationData,omitempty"`
41327	// PartitionDescription - The partition description as an object.
41328	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
41329	// PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
41330	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
41331	// CorrelationScheme - The correlation scheme.
41332	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
41333	// ServiceLoadMetrics - The service load metrics.
41334	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
41335	// ServicePlacementPolicies - The service placement policies.
41336	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
41337	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
41338	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
41339	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
41340	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
41341	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
41342	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
41343	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
41344	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
41345	// ScalingPolicies - Scaling policies for this service.
41346	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
41347	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
41348	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
41349}
41350
41351func unmarshalBasicServiceDescription(body []byte) (BasicServiceDescription, error) {
41352	var m map[string]interface{}
41353	err := json.Unmarshal(body, &m)
41354	if err != nil {
41355		return nil, err
41356	}
41357
41358	switch m["ServiceKind"] {
41359	case string(ServiceKindBasicServiceDescriptionServiceKindStateful):
41360		var ssd StatefulServiceDescription
41361		err := json.Unmarshal(body, &ssd)
41362		return ssd, err
41363	case string(ServiceKindBasicServiceDescriptionServiceKindStateless):
41364		var ssd StatelessServiceDescription
41365		err := json.Unmarshal(body, &ssd)
41366		return ssd, err
41367	default:
41368		var sd ServiceDescription
41369		err := json.Unmarshal(body, &sd)
41370		return sd, err
41371	}
41372}
41373func unmarshalBasicServiceDescriptionArray(body []byte) ([]BasicServiceDescription, error) {
41374	var rawMessages []*json.RawMessage
41375	err := json.Unmarshal(body, &rawMessages)
41376	if err != nil {
41377		return nil, err
41378	}
41379
41380	sdArray := make([]BasicServiceDescription, len(rawMessages))
41381
41382	for index, rawMessage := range rawMessages {
41383		sd, err := unmarshalBasicServiceDescription(*rawMessage)
41384		if err != nil {
41385			return nil, err
41386		}
41387		sdArray[index] = sd
41388	}
41389	return sdArray, nil
41390}
41391
41392// MarshalJSON is the custom marshaler for ServiceDescription.
41393func (sd ServiceDescription) MarshalJSON() ([]byte, error) {
41394	sd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindServiceDescription
41395	objectMap := make(map[string]interface{})
41396	if sd.ApplicationName != nil {
41397		objectMap["ApplicationName"] = sd.ApplicationName
41398	}
41399	if sd.ServiceName != nil {
41400		objectMap["ServiceName"] = sd.ServiceName
41401	}
41402	if sd.ServiceTypeName != nil {
41403		objectMap["ServiceTypeName"] = sd.ServiceTypeName
41404	}
41405	if sd.InitializationData != nil {
41406		objectMap["InitializationData"] = sd.InitializationData
41407	}
41408	objectMap["PartitionDescription"] = sd.PartitionDescription
41409	if sd.PlacementConstraints != nil {
41410		objectMap["PlacementConstraints"] = sd.PlacementConstraints
41411	}
41412	if sd.CorrelationScheme != nil {
41413		objectMap["CorrelationScheme"] = sd.CorrelationScheme
41414	}
41415	if sd.ServiceLoadMetrics != nil {
41416		objectMap["ServiceLoadMetrics"] = sd.ServiceLoadMetrics
41417	}
41418	if sd.ServicePlacementPolicies != nil {
41419		objectMap["ServicePlacementPolicies"] = sd.ServicePlacementPolicies
41420	}
41421	if sd.DefaultMoveCost != "" {
41422		objectMap["DefaultMoveCost"] = sd.DefaultMoveCost
41423	}
41424	if sd.IsDefaultMoveCostSpecified != nil {
41425		objectMap["IsDefaultMoveCostSpecified"] = sd.IsDefaultMoveCostSpecified
41426	}
41427	if sd.ServicePackageActivationMode != "" {
41428		objectMap["ServicePackageActivationMode"] = sd.ServicePackageActivationMode
41429	}
41430	if sd.ServiceDNSName != nil {
41431		objectMap["ServiceDnsName"] = sd.ServiceDNSName
41432	}
41433	if sd.ScalingPolicies != nil {
41434		objectMap["ScalingPolicies"] = sd.ScalingPolicies
41435	}
41436	if sd.ServiceKind != "" {
41437		objectMap["ServiceKind"] = sd.ServiceKind
41438	}
41439	return json.Marshal(objectMap)
41440}
41441
41442// AsStatefulServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
41443func (sd ServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
41444	return nil, false
41445}
41446
41447// AsStatelessServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
41448func (sd ServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
41449	return nil, false
41450}
41451
41452// AsServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
41453func (sd ServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
41454	return &sd, true
41455}
41456
41457// AsBasicServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
41458func (sd ServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
41459	return &sd, true
41460}
41461
41462// UnmarshalJSON is the custom unmarshaler for ServiceDescription struct.
41463func (sd *ServiceDescription) UnmarshalJSON(body []byte) error {
41464	var m map[string]*json.RawMessage
41465	err := json.Unmarshal(body, &m)
41466	if err != nil {
41467		return err
41468	}
41469	for k, v := range m {
41470		switch k {
41471		case "ApplicationName":
41472			if v != nil {
41473				var applicationName string
41474				err = json.Unmarshal(*v, &applicationName)
41475				if err != nil {
41476					return err
41477				}
41478				sd.ApplicationName = &applicationName
41479			}
41480		case "ServiceName":
41481			if v != nil {
41482				var serviceName string
41483				err = json.Unmarshal(*v, &serviceName)
41484				if err != nil {
41485					return err
41486				}
41487				sd.ServiceName = &serviceName
41488			}
41489		case "ServiceTypeName":
41490			if v != nil {
41491				var serviceTypeName string
41492				err = json.Unmarshal(*v, &serviceTypeName)
41493				if err != nil {
41494					return err
41495				}
41496				sd.ServiceTypeName = &serviceTypeName
41497			}
41498		case "InitializationData":
41499			if v != nil {
41500				var initializationData []int32
41501				err = json.Unmarshal(*v, &initializationData)
41502				if err != nil {
41503					return err
41504				}
41505				sd.InitializationData = &initializationData
41506			}
41507		case "PartitionDescription":
41508			if v != nil {
41509				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
41510				if err != nil {
41511					return err
41512				}
41513				sd.PartitionDescription = partitionDescription
41514			}
41515		case "PlacementConstraints":
41516			if v != nil {
41517				var placementConstraints string
41518				err = json.Unmarshal(*v, &placementConstraints)
41519				if err != nil {
41520					return err
41521				}
41522				sd.PlacementConstraints = &placementConstraints
41523			}
41524		case "CorrelationScheme":
41525			if v != nil {
41526				var correlationScheme []ServiceCorrelationDescription
41527				err = json.Unmarshal(*v, &correlationScheme)
41528				if err != nil {
41529					return err
41530				}
41531				sd.CorrelationScheme = &correlationScheme
41532			}
41533		case "ServiceLoadMetrics":
41534			if v != nil {
41535				var serviceLoadMetrics []ServiceLoadMetricDescription
41536				err = json.Unmarshal(*v, &serviceLoadMetrics)
41537				if err != nil {
41538					return err
41539				}
41540				sd.ServiceLoadMetrics = &serviceLoadMetrics
41541			}
41542		case "ServicePlacementPolicies":
41543			if v != nil {
41544				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
41545				if err != nil {
41546					return err
41547				}
41548				sd.ServicePlacementPolicies = &servicePlacementPolicies
41549			}
41550		case "DefaultMoveCost":
41551			if v != nil {
41552				var defaultMoveCost MoveCost
41553				err = json.Unmarshal(*v, &defaultMoveCost)
41554				if err != nil {
41555					return err
41556				}
41557				sd.DefaultMoveCost = defaultMoveCost
41558			}
41559		case "IsDefaultMoveCostSpecified":
41560			if v != nil {
41561				var isDefaultMoveCostSpecified bool
41562				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
41563				if err != nil {
41564					return err
41565				}
41566				sd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
41567			}
41568		case "ServicePackageActivationMode":
41569			if v != nil {
41570				var servicePackageActivationMode ServicePackageActivationMode
41571				err = json.Unmarshal(*v, &servicePackageActivationMode)
41572				if err != nil {
41573					return err
41574				}
41575				sd.ServicePackageActivationMode = servicePackageActivationMode
41576			}
41577		case "ServiceDnsName":
41578			if v != nil {
41579				var serviceDNSName string
41580				err = json.Unmarshal(*v, &serviceDNSName)
41581				if err != nil {
41582					return err
41583				}
41584				sd.ServiceDNSName = &serviceDNSName
41585			}
41586		case "ScalingPolicies":
41587			if v != nil {
41588				var scalingPolicies []ScalingPolicyDescription
41589				err = json.Unmarshal(*v, &scalingPolicies)
41590				if err != nil {
41591					return err
41592				}
41593				sd.ScalingPolicies = &scalingPolicies
41594			}
41595		case "ServiceKind":
41596			if v != nil {
41597				var serviceKind ServiceKindBasicServiceDescription
41598				err = json.Unmarshal(*v, &serviceKind)
41599				if err != nil {
41600					return err
41601				}
41602				sd.ServiceKind = serviceKind
41603			}
41604		}
41605	}
41606
41607	return nil
41608}
41609
41610// ServiceDescriptionModel ...
41611type ServiceDescriptionModel struct {
41612	autorest.Response `json:"-"`
41613	Value             BasicServiceDescription `json:"value,omitempty"`
41614}
41615
41616// UnmarshalJSON is the custom unmarshaler for ServiceDescriptionModel struct.
41617func (sdm *ServiceDescriptionModel) UnmarshalJSON(body []byte) error {
41618	sd, err := unmarshalBasicServiceDescription(body)
41619	if err != nil {
41620		return err
41621	}
41622	sdm.Value = sd
41623
41624	return nil
41625}
41626
41627// BasicServiceEvent represents the base for all Service Events.
41628type BasicServiceEvent interface {
41629	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
41630	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
41631	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
41632	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
41633	AsServiceEvent() (*ServiceEvent, bool)
41634}
41635
41636// ServiceEvent represents the base for all Service Events.
41637type ServiceEvent struct {
41638	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
41639	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
41640	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
41641	ServiceID *string `json:"ServiceId,omitempty"`
41642	// EventInstanceID - The identifier for the FabricEvent instance.
41643	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
41644	// TimeStamp - The time event was logged.
41645	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
41646	// HasCorrelatedEvents - Shows there is existing related events available.
41647	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
41648	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
41649	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
41650}
41651
41652func unmarshalBasicServiceEvent(body []byte) (BasicServiceEvent, error) {
41653	var m map[string]interface{}
41654	err := json.Unmarshal(body, &m)
41655	if err != nil {
41656		return nil, err
41657	}
41658
41659	switch m["Kind"] {
41660	case string(KindServiceCreated):
41661		var sce ServiceCreatedEvent
41662		err := json.Unmarshal(body, &sce)
41663		return sce, err
41664	case string(KindServiceDeleted):
41665		var sde ServiceDeletedEvent
41666		err := json.Unmarshal(body, &sde)
41667		return sde, err
41668	case string(KindServiceHealthReportCreated):
41669		var shrce ServiceHealthReportCreatedEvent
41670		err := json.Unmarshal(body, &shrce)
41671		return shrce, err
41672	case string(KindServiceHealthReportExpired):
41673		var shree ServiceHealthReportExpiredEvent
41674		err := json.Unmarshal(body, &shree)
41675		return shree, err
41676	default:
41677		var se ServiceEvent
41678		err := json.Unmarshal(body, &se)
41679		return se, err
41680	}
41681}
41682func unmarshalBasicServiceEventArray(body []byte) ([]BasicServiceEvent, error) {
41683	var rawMessages []*json.RawMessage
41684	err := json.Unmarshal(body, &rawMessages)
41685	if err != nil {
41686		return nil, err
41687	}
41688
41689	seArray := make([]BasicServiceEvent, len(rawMessages))
41690
41691	for index, rawMessage := range rawMessages {
41692		se, err := unmarshalBasicServiceEvent(*rawMessage)
41693		if err != nil {
41694			return nil, err
41695		}
41696		seArray[index] = se
41697	}
41698	return seArray, nil
41699}
41700
41701// MarshalJSON is the custom marshaler for ServiceEvent.
41702func (se ServiceEvent) MarshalJSON() ([]byte, error) {
41703	se.Kind = KindServiceEvent
41704	objectMap := make(map[string]interface{})
41705	if se.ServiceID != nil {
41706		objectMap["ServiceId"] = se.ServiceID
41707	}
41708	if se.EventInstanceID != nil {
41709		objectMap["EventInstanceId"] = se.EventInstanceID
41710	}
41711	if se.TimeStamp != nil {
41712		objectMap["TimeStamp"] = se.TimeStamp
41713	}
41714	if se.HasCorrelatedEvents != nil {
41715		objectMap["HasCorrelatedEvents"] = se.HasCorrelatedEvents
41716	}
41717	if se.Kind != "" {
41718		objectMap["Kind"] = se.Kind
41719	}
41720	return json.Marshal(objectMap)
41721}
41722
41723// AsApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
41724func (se ServiceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
41725	return nil, false
41726}
41727
41728// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
41729func (se ServiceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
41730	return nil, false
41731}
41732
41733// AsClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
41734func (se ServiceEvent) AsClusterEvent() (*ClusterEvent, bool) {
41735	return nil, false
41736}
41737
41738// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
41739func (se ServiceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
41740	return nil, false
41741}
41742
41743// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceEvent.
41744func (se ServiceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
41745	return nil, false
41746}
41747
41748// AsNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
41749func (se ServiceEvent) AsNodeEvent() (*NodeEvent, bool) {
41750	return nil, false
41751}
41752
41753// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
41754func (se ServiceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
41755	return nil, false
41756}
41757
41758// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
41759func (se ServiceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
41760	return nil, false
41761}
41762
41763// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
41764func (se ServiceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
41765	return nil, false
41766}
41767
41768// AsPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
41769func (se ServiceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
41770	return nil, false
41771}
41772
41773// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
41774func (se ServiceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
41775	return nil, false
41776}
41777
41778// AsReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
41779func (se ServiceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
41780	return nil, false
41781}
41782
41783// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
41784func (se ServiceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
41785	return nil, false
41786}
41787
41788// AsServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
41789func (se ServiceEvent) AsServiceEvent() (*ServiceEvent, bool) {
41790	return &se, true
41791}
41792
41793// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
41794func (se ServiceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
41795	return &se, true
41796}
41797
41798// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41799func (se ServiceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
41800	return nil, false
41801}
41802
41803// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41804func (se ServiceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
41805	return nil, false
41806}
41807
41808// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41809func (se ServiceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
41810	return nil, false
41811}
41812
41813// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41814func (se ServiceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
41815	return nil, false
41816}
41817
41818// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41819func (se ServiceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
41820	return nil, false
41821}
41822
41823// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41824func (se ServiceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
41825	return nil, false
41826}
41827
41828// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41829func (se ServiceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
41830	return nil, false
41831}
41832
41833// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41834func (se ServiceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
41835	return nil, false
41836}
41837
41838// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41839func (se ServiceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
41840	return nil, false
41841}
41842
41843// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41844func (se ServiceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
41845	return nil, false
41846}
41847
41848// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41849func (se ServiceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
41850	return nil, false
41851}
41852
41853// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41854func (se ServiceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
41855	return nil, false
41856}
41857
41858// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41859func (se ServiceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
41860	return nil, false
41861}
41862
41863// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceEvent.
41864func (se ServiceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
41865	return nil, false
41866}
41867
41868// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceEvent.
41869func (se ServiceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
41870	return nil, false
41871}
41872
41873// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceEvent.
41874func (se ServiceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
41875	return nil, false
41876}
41877
41878// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceEvent.
41879func (se ServiceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
41880	return nil, false
41881}
41882
41883// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceEvent.
41884func (se ServiceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
41885	return nil, false
41886}
41887
41888// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41889func (se ServiceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
41890	return nil, false
41891}
41892
41893// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41894func (se ServiceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
41895	return nil, false
41896}
41897
41898// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceEvent.
41899func (se ServiceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
41900	return nil, false
41901}
41902
41903// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41904func (se ServiceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
41905	return nil, false
41906}
41907
41908// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41909func (se ServiceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
41910	return nil, false
41911}
41912
41913// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceEvent.
41914func (se ServiceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
41915	return nil, false
41916}
41917
41918// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceEvent.
41919func (se ServiceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
41920	return nil, false
41921}
41922
41923// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceEvent.
41924func (se ServiceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
41925	return nil, false
41926}
41927
41928// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceEvent.
41929func (se ServiceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
41930	return nil, false
41931}
41932
41933// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceEvent.
41934func (se ServiceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
41935	return nil, false
41936}
41937
41938// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41939func (se ServiceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
41940	return nil, false
41941}
41942
41943// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41944func (se ServiceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
41945	return nil, false
41946}
41947
41948// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41949func (se ServiceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
41950	return nil, false
41951}
41952
41953// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
41954func (se ServiceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
41955	return nil, false
41956}
41957
41958// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41959func (se ServiceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
41960	return nil, false
41961}
41962
41963// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41964func (se ServiceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
41965	return nil, false
41966}
41967
41968// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41969func (se ServiceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
41970	return nil, false
41971}
41972
41973// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41974func (se ServiceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
41975	return nil, false
41976}
41977
41978// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41979func (se ServiceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
41980	return nil, false
41981}
41982
41983// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41984func (se ServiceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
41985	return nil, false
41986}
41987
41988// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41989func (se ServiceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
41990	return nil, false
41991}
41992
41993// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41994func (se ServiceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
41995	return nil, false
41996}
41997
41998// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41999func (se ServiceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
42000	return nil, false
42001}
42002
42003// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
42004func (se ServiceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
42005	return nil, false
42006}
42007
42008// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
42009func (se ServiceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
42010	return nil, false
42011}
42012
42013// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
42014func (se ServiceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
42015	return nil, false
42016}
42017
42018// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
42019func (se ServiceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
42020	return nil, false
42021}
42022
42023// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
42024func (se ServiceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
42025	return nil, false
42026}
42027
42028// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
42029func (se ServiceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
42030	return nil, false
42031}
42032
42033// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
42034func (se ServiceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
42035	return nil, false
42036}
42037
42038// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
42039func (se ServiceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
42040	return nil, false
42041}
42042
42043// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceEvent.
42044func (se ServiceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
42045	return nil, false
42046}
42047
42048// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceEvent.
42049func (se ServiceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
42050	return nil, false
42051}
42052
42053// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
42054func (se ServiceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
42055	return nil, false
42056}
42057
42058// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
42059func (se ServiceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
42060	return nil, false
42061}
42062
42063// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
42064func (se ServiceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
42065	return nil, false
42066}
42067
42068// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
42069func (se ServiceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
42070	return nil, false
42071}
42072
42073// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
42074func (se ServiceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
42075	return nil, false
42076}
42077
42078// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
42079func (se ServiceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
42080	return nil, false
42081}
42082
42083// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
42084func (se ServiceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
42085	return nil, false
42086}
42087
42088// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
42089func (se ServiceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
42090	return nil, false
42091}
42092
42093// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
42094func (se ServiceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
42095	return nil, false
42096}
42097
42098// AsFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
42099func (se ServiceEvent) AsFabricEvent() (*FabricEvent, bool) {
42100	return nil, false
42101}
42102
42103// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
42104func (se ServiceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
42105	return &se, true
42106}
42107
42108// ServiceFromTemplateDescription defines description for creating a Service Fabric service from a template
42109// defined in the application manifest.
42110type ServiceFromTemplateDescription struct {
42111	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
42112	ApplicationName *string `json:"ApplicationName,omitempty"`
42113	// ServiceName - The full name of the service with 'fabric:' URI scheme.
42114	ServiceName *string `json:"ServiceName,omitempty"`
42115	// ServiceTypeName - Name of the service type as specified in the service manifest.
42116	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
42117	// InitializationData - The initialization data for the newly created service instance.
42118	InitializationData *[]int32 `json:"InitializationData,omitempty"`
42119	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
42120	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
42121	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
42122	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
42123}
42124
42125// ServiceHealth information about the health of a Service Fabric service.
42126type ServiceHealth struct {
42127	autorest.Response `json:"-"`
42128	// Name - The name of the service whose health information is described by this object.
42129	Name *string `json:"Name,omitempty"`
42130	// PartitionHealthStates - The list of partition health states associated with the service.
42131	PartitionHealthStates *[]PartitionHealthState `json:"PartitionHealthStates,omitempty"`
42132	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
42133	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
42134	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
42135	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
42136	// HealthEvents - The list of health events reported on the entity.
42137	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
42138	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
42139	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
42140	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
42141	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
42142}
42143
42144// ServiceHealthEvaluation represents health evaluation for a service, containing information about the
42145// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
42146// aggregated health state is either Error or Warning.
42147type ServiceHealthEvaluation struct {
42148	// ServiceName - Name of the service whose health evaluation is described by this object.
42149	ServiceName *string `json:"ServiceName,omitempty"`
42150	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state of the service. The types of the unhealthy evaluations can be PartitionsHealthEvaluation or EventHealthEvaluation.
42151	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
42152	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
42153	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
42154	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
42155	Description *string `json:"Description,omitempty"`
42156	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
42157	Kind Kind `json:"Kind,omitempty"`
42158}
42159
42160// MarshalJSON is the custom marshaler for ServiceHealthEvaluation.
42161func (she ServiceHealthEvaluation) MarshalJSON() ([]byte, error) {
42162	she.Kind = KindService
42163	objectMap := make(map[string]interface{})
42164	if she.ServiceName != nil {
42165		objectMap["ServiceName"] = she.ServiceName
42166	}
42167	if she.UnhealthyEvaluations != nil {
42168		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
42169	}
42170	if she.AggregatedHealthState != "" {
42171		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
42172	}
42173	if she.Description != nil {
42174		objectMap["Description"] = she.Description
42175	}
42176	if she.Kind != "" {
42177		objectMap["Kind"] = she.Kind
42178	}
42179	return json.Marshal(objectMap)
42180}
42181
42182// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42183func (she ServiceHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
42184	return nil, false
42185}
42186
42187// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42188func (she ServiceHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
42189	return nil, false
42190}
42191
42192// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42193func (she ServiceHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
42194	return nil, false
42195}
42196
42197// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42198func (she ServiceHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
42199	return nil, false
42200}
42201
42202// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42203func (she ServiceHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
42204	return nil, false
42205}
42206
42207// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42208func (she ServiceHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
42209	return nil, false
42210}
42211
42212// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42213func (she ServiceHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
42214	return nil, false
42215}
42216
42217// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42218func (she ServiceHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
42219	return nil, false
42220}
42221
42222// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42223func (she ServiceHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
42224	return nil, false
42225}
42226
42227// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42228func (she ServiceHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
42229	return nil, false
42230}
42231
42232// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42233func (she ServiceHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
42234	return nil, false
42235}
42236
42237// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42238func (she ServiceHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
42239	return nil, false
42240}
42241
42242// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42243func (she ServiceHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
42244	return nil, false
42245}
42246
42247// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42248func (she ServiceHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
42249	return nil, false
42250}
42251
42252// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42253func (she ServiceHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
42254	return nil, false
42255}
42256
42257// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42258func (she ServiceHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
42259	return &she, true
42260}
42261
42262// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42263func (she ServiceHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
42264	return nil, false
42265}
42266
42267// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42268func (she ServiceHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
42269	return nil, false
42270}
42271
42272// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42273func (she ServiceHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
42274	return nil, false
42275}
42276
42277// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42278func (she ServiceHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
42279	return nil, false
42280}
42281
42282// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42283func (she ServiceHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
42284	return nil, false
42285}
42286
42287// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
42288func (she ServiceHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
42289	return &she, true
42290}
42291
42292// ServiceHealthReportCreatedEvent service Health Report Created event.
42293type ServiceHealthReportCreatedEvent struct {
42294	// InstanceID - Id of Service instance.
42295	InstanceID *int64 `json:"InstanceId,omitempty"`
42296	// SourceID - Id of report source.
42297	SourceID *string `json:"SourceId,omitempty"`
42298	// Property - Describes the property.
42299	Property *string `json:"Property,omitempty"`
42300	// HealthState - Describes the property health state.
42301	HealthState *string `json:"HealthState,omitempty"`
42302	// TimeToLiveMs - Time to live in milli-seconds.
42303	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
42304	// SequenceNumber - Sequence number of report.
42305	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
42306	// Description - Description of report.
42307	Description *string `json:"Description,omitempty"`
42308	// RemoveWhenExpired - Indicates the removal when it expires.
42309	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
42310	// SourceUtcTimestamp - Source time.
42311	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
42312	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
42313	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
42314	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
42315	ServiceID *string `json:"ServiceId,omitempty"`
42316	// EventInstanceID - The identifier for the FabricEvent instance.
42317	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
42318	// TimeStamp - The time event was logged.
42319	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
42320	// HasCorrelatedEvents - Shows there is existing related events available.
42321	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
42322	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
42323	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
42324}
42325
42326// MarshalJSON is the custom marshaler for ServiceHealthReportCreatedEvent.
42327func (shrce ServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
42328	shrce.Kind = KindServiceHealthReportCreated
42329	objectMap := make(map[string]interface{})
42330	if shrce.InstanceID != nil {
42331		objectMap["InstanceId"] = shrce.InstanceID
42332	}
42333	if shrce.SourceID != nil {
42334		objectMap["SourceId"] = shrce.SourceID
42335	}
42336	if shrce.Property != nil {
42337		objectMap["Property"] = shrce.Property
42338	}
42339	if shrce.HealthState != nil {
42340		objectMap["HealthState"] = shrce.HealthState
42341	}
42342	if shrce.TimeToLiveMs != nil {
42343		objectMap["TimeToLiveMs"] = shrce.TimeToLiveMs
42344	}
42345	if shrce.SequenceNumber != nil {
42346		objectMap["SequenceNumber"] = shrce.SequenceNumber
42347	}
42348	if shrce.Description != nil {
42349		objectMap["Description"] = shrce.Description
42350	}
42351	if shrce.RemoveWhenExpired != nil {
42352		objectMap["RemoveWhenExpired"] = shrce.RemoveWhenExpired
42353	}
42354	if shrce.SourceUtcTimestamp != nil {
42355		objectMap["SourceUtcTimestamp"] = shrce.SourceUtcTimestamp
42356	}
42357	if shrce.ServiceID != nil {
42358		objectMap["ServiceId"] = shrce.ServiceID
42359	}
42360	if shrce.EventInstanceID != nil {
42361		objectMap["EventInstanceId"] = shrce.EventInstanceID
42362	}
42363	if shrce.TimeStamp != nil {
42364		objectMap["TimeStamp"] = shrce.TimeStamp
42365	}
42366	if shrce.HasCorrelatedEvents != nil {
42367		objectMap["HasCorrelatedEvents"] = shrce.HasCorrelatedEvents
42368	}
42369	if shrce.Kind != "" {
42370		objectMap["Kind"] = shrce.Kind
42371	}
42372	return json.Marshal(objectMap)
42373}
42374
42375// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42376func (shrce ServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
42377	return nil, false
42378}
42379
42380// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42381func (shrce ServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
42382	return nil, false
42383}
42384
42385// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42386func (shrce ServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
42387	return nil, false
42388}
42389
42390// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42391func (shrce ServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
42392	return nil, false
42393}
42394
42395// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42396func (shrce ServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
42397	return nil, false
42398}
42399
42400// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42401func (shrce ServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
42402	return nil, false
42403}
42404
42405// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42406func (shrce ServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
42407	return nil, false
42408}
42409
42410// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42411func (shrce ServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
42412	return nil, false
42413}
42414
42415// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42416func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
42417	return nil, false
42418}
42419
42420// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42421func (shrce ServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
42422	return nil, false
42423}
42424
42425// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42426func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
42427	return nil, false
42428}
42429
42430// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42431func (shrce ServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
42432	return nil, false
42433}
42434
42435// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42436func (shrce ServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
42437	return nil, false
42438}
42439
42440// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42441func (shrce ServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
42442	return nil, false
42443}
42444
42445// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42446func (shrce ServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
42447	return &shrce, true
42448}
42449
42450// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42451func (shrce ServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
42452	return nil, false
42453}
42454
42455// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42456func (shrce ServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
42457	return nil, false
42458}
42459
42460// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42461func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
42462	return nil, false
42463}
42464
42465// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42466func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
42467	return nil, false
42468}
42469
42470// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42471func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
42472	return nil, false
42473}
42474
42475// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42476func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
42477	return nil, false
42478}
42479
42480// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42481func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
42482	return nil, false
42483}
42484
42485// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42486func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
42487	return nil, false
42488}
42489
42490// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42491func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
42492	return nil, false
42493}
42494
42495// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42496func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
42497	return nil, false
42498}
42499
42500// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42501func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
42502	return nil, false
42503}
42504
42505// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42506func (shrce ServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
42507	return nil, false
42508}
42509
42510// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42511func (shrce ServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
42512	return nil, false
42513}
42514
42515// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42516func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
42517	return nil, false
42518}
42519
42520// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42521func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
42522	return nil, false
42523}
42524
42525// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42526func (shrce ServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
42527	return nil, false
42528}
42529
42530// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42531func (shrce ServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
42532	return nil, false
42533}
42534
42535// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42536func (shrce ServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
42537	return nil, false
42538}
42539
42540// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42541func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
42542	return nil, false
42543}
42544
42545// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42546func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
42547	return nil, false
42548}
42549
42550// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42551func (shrce ServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
42552	return nil, false
42553}
42554
42555// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42556func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
42557	return nil, false
42558}
42559
42560// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42561func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
42562	return nil, false
42563}
42564
42565// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42566func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
42567	return nil, false
42568}
42569
42570// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42571func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
42572	return nil, false
42573}
42574
42575// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42576func (shrce ServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
42577	return nil, false
42578}
42579
42580// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42581func (shrce ServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
42582	return nil, false
42583}
42584
42585// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42586func (shrce ServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
42587	return nil, false
42588}
42589
42590// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42591func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
42592	return nil, false
42593}
42594
42595// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42596func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
42597	return nil, false
42598}
42599
42600// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42601func (shrce ServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
42602	return nil, false
42603}
42604
42605// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42606func (shrce ServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
42607	return nil, false
42608}
42609
42610// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42611func (shrce ServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
42612	return nil, false
42613}
42614
42615// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42616func (shrce ServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
42617	return nil, false
42618}
42619
42620// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42621func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
42622	return &shrce, true
42623}
42624
42625// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42626func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
42627	return nil, false
42628}
42629
42630// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42631func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
42632	return nil, false
42633}
42634
42635// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42636func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
42637	return nil, false
42638}
42639
42640// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42641func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
42642	return nil, false
42643}
42644
42645// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42646func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
42647	return nil, false
42648}
42649
42650// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42651func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
42652	return nil, false
42653}
42654
42655// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42656func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
42657	return nil, false
42658}
42659
42660// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42661func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
42662	return nil, false
42663}
42664
42665// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42666func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
42667	return nil, false
42668}
42669
42670// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42671func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
42672	return nil, false
42673}
42674
42675// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42676func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
42677	return nil, false
42678}
42679
42680// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42681func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
42682	return nil, false
42683}
42684
42685// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42686func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
42687	return nil, false
42688}
42689
42690// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42691func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
42692	return nil, false
42693}
42694
42695// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42696func (shrce ServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
42697	return nil, false
42698}
42699
42700// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42701func (shrce ServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
42702	return nil, false
42703}
42704
42705// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42706func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
42707	return nil, false
42708}
42709
42710// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42711func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
42712	return nil, false
42713}
42714
42715// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42716func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
42717	return nil, false
42718}
42719
42720// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42721func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
42722	return nil, false
42723}
42724
42725// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42726func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
42727	return nil, false
42728}
42729
42730// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42731func (shrce ServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
42732	return nil, false
42733}
42734
42735// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42736func (shrce ServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
42737	return nil, false
42738}
42739
42740// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42741func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
42742	return nil, false
42743}
42744
42745// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42746func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
42747	return nil, false
42748}
42749
42750// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42751func (shrce ServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
42752	return nil, false
42753}
42754
42755// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42756func (shrce ServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
42757	return &shrce, true
42758}
42759
42760// ServiceHealthReportExpiredEvent service Health Report Expired event.
42761type ServiceHealthReportExpiredEvent struct {
42762	// InstanceID - Id of Service instance.
42763	InstanceID *int64 `json:"InstanceId,omitempty"`
42764	// SourceID - Id of report source.
42765	SourceID *string `json:"SourceId,omitempty"`
42766	// Property - Describes the property.
42767	Property *string `json:"Property,omitempty"`
42768	// HealthState - Describes the property health state.
42769	HealthState *string `json:"HealthState,omitempty"`
42770	// TimeToLiveMs - Time to live in milli-seconds.
42771	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
42772	// SequenceNumber - Sequence number of report.
42773	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
42774	// Description - Description of report.
42775	Description *string `json:"Description,omitempty"`
42776	// RemoveWhenExpired - Indicates the removal when it expires.
42777	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
42778	// SourceUtcTimestamp - Source time.
42779	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
42780	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
42781	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
42782	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
42783	ServiceID *string `json:"ServiceId,omitempty"`
42784	// EventInstanceID - The identifier for the FabricEvent instance.
42785	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
42786	// TimeStamp - The time event was logged.
42787	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
42788	// HasCorrelatedEvents - Shows there is existing related events available.
42789	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
42790	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
42791	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
42792}
42793
42794// MarshalJSON is the custom marshaler for ServiceHealthReportExpiredEvent.
42795func (shree ServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
42796	shree.Kind = KindServiceHealthReportExpired
42797	objectMap := make(map[string]interface{})
42798	if shree.InstanceID != nil {
42799		objectMap["InstanceId"] = shree.InstanceID
42800	}
42801	if shree.SourceID != nil {
42802		objectMap["SourceId"] = shree.SourceID
42803	}
42804	if shree.Property != nil {
42805		objectMap["Property"] = shree.Property
42806	}
42807	if shree.HealthState != nil {
42808		objectMap["HealthState"] = shree.HealthState
42809	}
42810	if shree.TimeToLiveMs != nil {
42811		objectMap["TimeToLiveMs"] = shree.TimeToLiveMs
42812	}
42813	if shree.SequenceNumber != nil {
42814		objectMap["SequenceNumber"] = shree.SequenceNumber
42815	}
42816	if shree.Description != nil {
42817		objectMap["Description"] = shree.Description
42818	}
42819	if shree.RemoveWhenExpired != nil {
42820		objectMap["RemoveWhenExpired"] = shree.RemoveWhenExpired
42821	}
42822	if shree.SourceUtcTimestamp != nil {
42823		objectMap["SourceUtcTimestamp"] = shree.SourceUtcTimestamp
42824	}
42825	if shree.ServiceID != nil {
42826		objectMap["ServiceId"] = shree.ServiceID
42827	}
42828	if shree.EventInstanceID != nil {
42829		objectMap["EventInstanceId"] = shree.EventInstanceID
42830	}
42831	if shree.TimeStamp != nil {
42832		objectMap["TimeStamp"] = shree.TimeStamp
42833	}
42834	if shree.HasCorrelatedEvents != nil {
42835		objectMap["HasCorrelatedEvents"] = shree.HasCorrelatedEvents
42836	}
42837	if shree.Kind != "" {
42838		objectMap["Kind"] = shree.Kind
42839	}
42840	return json.Marshal(objectMap)
42841}
42842
42843// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42844func (shree ServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
42845	return nil, false
42846}
42847
42848// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42849func (shree ServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
42850	return nil, false
42851}
42852
42853// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42854func (shree ServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
42855	return nil, false
42856}
42857
42858// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42859func (shree ServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
42860	return nil, false
42861}
42862
42863// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42864func (shree ServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
42865	return nil, false
42866}
42867
42868// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42869func (shree ServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
42870	return nil, false
42871}
42872
42873// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42874func (shree ServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
42875	return nil, false
42876}
42877
42878// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42879func (shree ServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
42880	return nil, false
42881}
42882
42883// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42884func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
42885	return nil, false
42886}
42887
42888// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42889func (shree ServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
42890	return nil, false
42891}
42892
42893// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42894func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
42895	return nil, false
42896}
42897
42898// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42899func (shree ServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
42900	return nil, false
42901}
42902
42903// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42904func (shree ServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
42905	return nil, false
42906}
42907
42908// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42909func (shree ServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
42910	return nil, false
42911}
42912
42913// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42914func (shree ServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
42915	return &shree, true
42916}
42917
42918// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42919func (shree ServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
42920	return nil, false
42921}
42922
42923// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42924func (shree ServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
42925	return nil, false
42926}
42927
42928// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42929func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
42930	return nil, false
42931}
42932
42933// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42934func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
42935	return nil, false
42936}
42937
42938// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42939func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
42940	return nil, false
42941}
42942
42943// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42944func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
42945	return nil, false
42946}
42947
42948// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42949func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
42950	return nil, false
42951}
42952
42953// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42954func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
42955	return nil, false
42956}
42957
42958// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42959func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
42960	return nil, false
42961}
42962
42963// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42964func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
42965	return nil, false
42966}
42967
42968// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42969func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
42970	return nil, false
42971}
42972
42973// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42974func (shree ServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
42975	return nil, false
42976}
42977
42978// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42979func (shree ServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
42980	return nil, false
42981}
42982
42983// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42984func (shree ServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
42985	return nil, false
42986}
42987
42988// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42989func (shree ServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
42990	return nil, false
42991}
42992
42993// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42994func (shree ServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
42995	return nil, false
42996}
42997
42998// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42999func (shree ServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
43000	return nil, false
43001}
43002
43003// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43004func (shree ServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
43005	return nil, false
43006}
43007
43008// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43009func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
43010	return nil, false
43011}
43012
43013// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43014func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
43015	return nil, false
43016}
43017
43018// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43019func (shree ServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
43020	return nil, false
43021}
43022
43023// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43024func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
43025	return nil, false
43026}
43027
43028// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43029func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
43030	return nil, false
43031}
43032
43033// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43034func (shree ServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
43035	return nil, false
43036}
43037
43038// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43039func (shree ServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
43040	return nil, false
43041}
43042
43043// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43044func (shree ServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
43045	return nil, false
43046}
43047
43048// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43049func (shree ServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
43050	return nil, false
43051}
43052
43053// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43054func (shree ServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
43055	return nil, false
43056}
43057
43058// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43059func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
43060	return nil, false
43061}
43062
43063// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43064func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
43065	return nil, false
43066}
43067
43068// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43069func (shree ServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
43070	return nil, false
43071}
43072
43073// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43074func (shree ServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
43075	return nil, false
43076}
43077
43078// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43079func (shree ServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
43080	return nil, false
43081}
43082
43083// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43084func (shree ServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
43085	return nil, false
43086}
43087
43088// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43089func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
43090	return nil, false
43091}
43092
43093// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43094func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
43095	return &shree, true
43096}
43097
43098// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43099func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
43100	return nil, false
43101}
43102
43103// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43104func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
43105	return nil, false
43106}
43107
43108// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43109func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
43110	return nil, false
43111}
43112
43113// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43114func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
43115	return nil, false
43116}
43117
43118// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43119func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
43120	return nil, false
43121}
43122
43123// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43124func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
43125	return nil, false
43126}
43127
43128// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43129func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
43130	return nil, false
43131}
43132
43133// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43134func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
43135	return nil, false
43136}
43137
43138// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43139func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
43140	return nil, false
43141}
43142
43143// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43144func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
43145	return nil, false
43146}
43147
43148// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43149func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
43150	return nil, false
43151}
43152
43153// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43154func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
43155	return nil, false
43156}
43157
43158// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43159func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
43160	return nil, false
43161}
43162
43163// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43164func (shree ServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
43165	return nil, false
43166}
43167
43168// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43169func (shree ServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
43170	return nil, false
43171}
43172
43173// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43174func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
43175	return nil, false
43176}
43177
43178// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43179func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
43180	return nil, false
43181}
43182
43183// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43184func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
43185	return nil, false
43186}
43187
43188// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43189func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
43190	return nil, false
43191}
43192
43193// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43194func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
43195	return nil, false
43196}
43197
43198// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43199func (shree ServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
43200	return nil, false
43201}
43202
43203// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43204func (shree ServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
43205	return nil, false
43206}
43207
43208// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43209func (shree ServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
43210	return nil, false
43211}
43212
43213// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43214func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
43215	return nil, false
43216}
43217
43218// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43219func (shree ServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
43220	return nil, false
43221}
43222
43223// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
43224func (shree ServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
43225	return &shree, true
43226}
43227
43228// ServiceHealthState represents the health state of a service, which contains the service identifier and
43229// its aggregated health state.
43230type ServiceHealthState struct {
43231	// ServiceName - Name of the service whose health state is represented by this object.
43232	ServiceName *string `json:"ServiceName,omitempty"`
43233	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
43234	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
43235}
43236
43237// ServiceHealthStateChunk represents the health state chunk of a service, which contains the service name,
43238// its aggregated health state and any partitions that respect the filters in the cluster health chunk
43239// query description.
43240type ServiceHealthStateChunk struct {
43241	// ServiceName - The name of the service whose health state chunk is provided in this object.
43242	ServiceName *string `json:"ServiceName,omitempty"`
43243	// PartitionHealthStateChunks - The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description.
43244	PartitionHealthStateChunks *PartitionHealthStateChunkList `json:"PartitionHealthStateChunks,omitempty"`
43245	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
43246	HealthState HealthState `json:"HealthState,omitempty"`
43247}
43248
43249// ServiceHealthStateChunkList the list of service health state chunks that respect the input filters in
43250// the chunk query. Returned by get cluster health state chunks query.
43251type ServiceHealthStateChunkList struct {
43252	// Items - The list of service health state chunks that respect the input filters in the chunk query.
43253	Items *[]ServiceHealthStateChunk `json:"Items,omitempty"`
43254}
43255
43256// ServiceHealthStateFilter defines matching criteria to determine whether a service should be included as
43257// a child of an application in the cluster health chunk.
43258// The services are only returned if the parent application matches a filter specified in the cluster
43259// health chunk query description.
43260// One filter can match zero, one or multiple services, depending on its properties.
43261type ServiceHealthStateFilter struct {
43262	// ServiceNameFilter - The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.
43263	// If the service doesn't exist, no service is returned in the cluster health chunk based on this filter.
43264	// If the service exists, it is included as the application's child if the health state matches the other filter properties.
43265	// If not specified, all services that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter.
43266	ServiceNameFilter *string `json:"ServiceNameFilter,omitempty"`
43267	// HealthStateFilter - The filter for the health state of the services. It allows selecting services if they match the desired health states.
43268	// The possible values are integer value of one of the following health states. Only services that match the filter are returned. All services are used to evaluate the cluster aggregated health state.
43269	// If not specified, default value is None, unless the service name is specified. If the filter has default value and service name is specified, the matching service is returned.
43270	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
43271	// For example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).
43272	// - Default - Default value. Matches any HealthState. The value is zero.
43273	// - None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
43274	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
43275	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
43276	// - Error - Filter that matches input with HealthState value Error. The value is 8.
43277	// - All - Filter that matches input with any HealthState value. The value is 65535.
43278	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
43279	// PartitionFilters - Defines a list of filters that specify which partitions to be included in the returned cluster health chunk as children of the service. The partitions are returned only if the parent service matches a filter.
43280	// If the list is empty, no partitions are returned. All the partitions are used to evaluate the parent service aggregated health state, regardless of the input filters.
43281	// The service filter may specify multiple partition filters.
43282	// For example, it can specify a filter to return all partitions with health state Error and another filter to always include a partition identified by its partition ID.
43283	PartitionFilters *[]PartitionHealthStateFilter `json:"PartitionFilters,omitempty"`
43284}
43285
43286// BasicServiceInfo information about a Service Fabric service.
43287type BasicServiceInfo interface {
43288	AsStatefulServiceInfo() (*StatefulServiceInfo, bool)
43289	AsStatelessServiceInfo() (*StatelessServiceInfo, bool)
43290	AsServiceInfo() (*ServiceInfo, bool)
43291}
43292
43293// ServiceInfo information about a Service Fabric service.
43294type ServiceInfo struct {
43295	autorest.Response `json:"-"`
43296	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
43297	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
43298	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
43299	ID *string `json:"Id,omitempty"`
43300	// Name - The full name of the service with 'fabric:' URI scheme.
43301	Name *string `json:"Name,omitempty"`
43302	// TypeName - Name of the service type as specified in the service manifest.
43303	TypeName *string `json:"TypeName,omitempty"`
43304	// ManifestVersion - The version of the service manifest.
43305	ManifestVersion *string `json:"ManifestVersion,omitempty"`
43306	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
43307	HealthState HealthState `json:"HealthState,omitempty"`
43308	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
43309	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
43310	// IsServiceGroup - Whether the service is in a service group.
43311	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
43312	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
43313	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
43314}
43315
43316func unmarshalBasicServiceInfo(body []byte) (BasicServiceInfo, error) {
43317	var m map[string]interface{}
43318	err := json.Unmarshal(body, &m)
43319	if err != nil {
43320		return nil, err
43321	}
43322
43323	switch m["ServiceKind"] {
43324	case string(ServiceKindBasicServiceInfoServiceKindStateful):
43325		var ssi StatefulServiceInfo
43326		err := json.Unmarshal(body, &ssi)
43327		return ssi, err
43328	case string(ServiceKindBasicServiceInfoServiceKindStateless):
43329		var ssi StatelessServiceInfo
43330		err := json.Unmarshal(body, &ssi)
43331		return ssi, err
43332	default:
43333		var si ServiceInfo
43334		err := json.Unmarshal(body, &si)
43335		return si, err
43336	}
43337}
43338func unmarshalBasicServiceInfoArray(body []byte) ([]BasicServiceInfo, error) {
43339	var rawMessages []*json.RawMessage
43340	err := json.Unmarshal(body, &rawMessages)
43341	if err != nil {
43342		return nil, err
43343	}
43344
43345	siArray := make([]BasicServiceInfo, len(rawMessages))
43346
43347	for index, rawMessage := range rawMessages {
43348		si, err := unmarshalBasicServiceInfo(*rawMessage)
43349		if err != nil {
43350			return nil, err
43351		}
43352		siArray[index] = si
43353	}
43354	return siArray, nil
43355}
43356
43357// MarshalJSON is the custom marshaler for ServiceInfo.
43358func (si ServiceInfo) MarshalJSON() ([]byte, error) {
43359	si.ServiceKind = ServiceKindBasicServiceInfoServiceKindServiceInfo
43360	objectMap := make(map[string]interface{})
43361	if si.ID != nil {
43362		objectMap["Id"] = si.ID
43363	}
43364	if si.Name != nil {
43365		objectMap["Name"] = si.Name
43366	}
43367	if si.TypeName != nil {
43368		objectMap["TypeName"] = si.TypeName
43369	}
43370	if si.ManifestVersion != nil {
43371		objectMap["ManifestVersion"] = si.ManifestVersion
43372	}
43373	if si.HealthState != "" {
43374		objectMap["HealthState"] = si.HealthState
43375	}
43376	if si.ServiceStatus != "" {
43377		objectMap["ServiceStatus"] = si.ServiceStatus
43378	}
43379	if si.IsServiceGroup != nil {
43380		objectMap["IsServiceGroup"] = si.IsServiceGroup
43381	}
43382	if si.ServiceKind != "" {
43383		objectMap["ServiceKind"] = si.ServiceKind
43384	}
43385	return json.Marshal(objectMap)
43386}
43387
43388// AsStatefulServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
43389func (si ServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
43390	return nil, false
43391}
43392
43393// AsStatelessServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
43394func (si ServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
43395	return nil, false
43396}
43397
43398// AsServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
43399func (si ServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
43400	return &si, true
43401}
43402
43403// AsBasicServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
43404func (si ServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
43405	return &si, true
43406}
43407
43408// ServiceInfoModel ...
43409type ServiceInfoModel struct {
43410	autorest.Response `json:"-"`
43411	Value             BasicServiceInfo `json:"value,omitempty"`
43412}
43413
43414// UnmarshalJSON is the custom unmarshaler for ServiceInfoModel struct.
43415func (sim *ServiceInfoModel) UnmarshalJSON(body []byte) error {
43416	si, err := unmarshalBasicServiceInfo(body)
43417	if err != nil {
43418		return err
43419	}
43420	sim.Value = si
43421
43422	return nil
43423}
43424
43425// ServiceLoadMetricDescription specifies a metric to load balance a service during runtime.
43426type ServiceLoadMetricDescription struct {
43427	// Name - The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case-sensitive.
43428	Name *string `json:"Name,omitempty"`
43429	// Weight - The service load metric relative weight, compared to other metrics configured for this service, as a number. Possible values include: 'ServiceLoadMetricWeightZero', 'ServiceLoadMetricWeightLow', 'ServiceLoadMetricWeightMedium', 'ServiceLoadMetricWeightHigh'
43430	Weight ServiceLoadMetricWeight `json:"Weight,omitempty"`
43431	// PrimaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica.
43432	PrimaryDefaultLoad *int32 `json:"PrimaryDefaultLoad,omitempty"`
43433	// SecondaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica.
43434	SecondaryDefaultLoad *int32 `json:"SecondaryDefaultLoad,omitempty"`
43435	// DefaultLoad - Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
43436	DefaultLoad *int32 `json:"DefaultLoad,omitempty"`
43437}
43438
43439// ServiceNameInfo information about the service name.
43440type ServiceNameInfo struct {
43441	autorest.Response `json:"-"`
43442	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
43443	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
43444	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
43445	ID *string `json:"Id,omitempty"`
43446	// Name - The full name of the service with 'fabric:' URI scheme.
43447	Name *string `json:"Name,omitempty"`
43448}
43449
43450// BasicServicePartitionInfo information about a partition of a Service Fabric service.
43451type BasicServicePartitionInfo interface {
43452	AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool)
43453	AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool)
43454	AsServicePartitionInfo() (*ServicePartitionInfo, bool)
43455}
43456
43457// ServicePartitionInfo information about a partition of a Service Fabric service.
43458type ServicePartitionInfo struct {
43459	autorest.Response `json:"-"`
43460	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
43461	HealthState HealthState `json:"HealthState,omitempty"`
43462	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
43463	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
43464	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
43465	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
43466	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
43467	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
43468}
43469
43470func unmarshalBasicServicePartitionInfo(body []byte) (BasicServicePartitionInfo, error) {
43471	var m map[string]interface{}
43472	err := json.Unmarshal(body, &m)
43473	if err != nil {
43474		return nil, err
43475	}
43476
43477	switch m["ServiceKind"] {
43478	case string(ServiceKindBasicServicePartitionInfoServiceKindStateful):
43479		var sspi StatefulServicePartitionInfo
43480		err := json.Unmarshal(body, &sspi)
43481		return sspi, err
43482	case string(ServiceKindBasicServicePartitionInfoServiceKindStateless):
43483		var sspi StatelessServicePartitionInfo
43484		err := json.Unmarshal(body, &sspi)
43485		return sspi, err
43486	default:
43487		var spi ServicePartitionInfo
43488		err := json.Unmarshal(body, &spi)
43489		return spi, err
43490	}
43491}
43492func unmarshalBasicServicePartitionInfoArray(body []byte) ([]BasicServicePartitionInfo, error) {
43493	var rawMessages []*json.RawMessage
43494	err := json.Unmarshal(body, &rawMessages)
43495	if err != nil {
43496		return nil, err
43497	}
43498
43499	spiArray := make([]BasicServicePartitionInfo, len(rawMessages))
43500
43501	for index, rawMessage := range rawMessages {
43502		spi, err := unmarshalBasicServicePartitionInfo(*rawMessage)
43503		if err != nil {
43504			return nil, err
43505		}
43506		spiArray[index] = spi
43507	}
43508	return spiArray, nil
43509}
43510
43511// MarshalJSON is the custom marshaler for ServicePartitionInfo.
43512func (spi ServicePartitionInfo) MarshalJSON() ([]byte, error) {
43513	spi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo
43514	objectMap := make(map[string]interface{})
43515	if spi.HealthState != "" {
43516		objectMap["HealthState"] = spi.HealthState
43517	}
43518	if spi.PartitionStatus != "" {
43519		objectMap["PartitionStatus"] = spi.PartitionStatus
43520	}
43521	objectMap["PartitionInformation"] = spi.PartitionInformation
43522	if spi.ServiceKind != "" {
43523		objectMap["ServiceKind"] = spi.ServiceKind
43524	}
43525	return json.Marshal(objectMap)
43526}
43527
43528// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43529func (spi ServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
43530	return nil, false
43531}
43532
43533// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43534func (spi ServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
43535	return nil, false
43536}
43537
43538// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43539func (spi ServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
43540	return &spi, true
43541}
43542
43543// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43544func (spi ServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
43545	return &spi, true
43546}
43547
43548// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfo struct.
43549func (spi *ServicePartitionInfo) UnmarshalJSON(body []byte) error {
43550	var m map[string]*json.RawMessage
43551	err := json.Unmarshal(body, &m)
43552	if err != nil {
43553		return err
43554	}
43555	for k, v := range m {
43556		switch k {
43557		case "HealthState":
43558			if v != nil {
43559				var healthState HealthState
43560				err = json.Unmarshal(*v, &healthState)
43561				if err != nil {
43562					return err
43563				}
43564				spi.HealthState = healthState
43565			}
43566		case "PartitionStatus":
43567			if v != nil {
43568				var partitionStatus ServicePartitionStatus
43569				err = json.Unmarshal(*v, &partitionStatus)
43570				if err != nil {
43571					return err
43572				}
43573				spi.PartitionStatus = partitionStatus
43574			}
43575		case "PartitionInformation":
43576			if v != nil {
43577				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
43578				if err != nil {
43579					return err
43580				}
43581				spi.PartitionInformation = partitionInformation
43582			}
43583		case "ServiceKind":
43584			if v != nil {
43585				var serviceKind ServiceKindBasicServicePartitionInfo
43586				err = json.Unmarshal(*v, &serviceKind)
43587				if err != nil {
43588					return err
43589				}
43590				spi.ServiceKind = serviceKind
43591			}
43592		}
43593	}
43594
43595	return nil
43596}
43597
43598// ServicePartitionInfoModel ...
43599type ServicePartitionInfoModel struct {
43600	autorest.Response `json:"-"`
43601	Value             BasicServicePartitionInfo `json:"value,omitempty"`
43602}
43603
43604// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfoModel struct.
43605func (spim *ServicePartitionInfoModel) UnmarshalJSON(body []byte) error {
43606	spi, err := unmarshalBasicServicePartitionInfo(body)
43607	if err != nil {
43608		return err
43609	}
43610	spim.Value = spi
43611
43612	return nil
43613}
43614
43615// ServicePlacementInvalidDomainPolicyDescription describes the policy to be used for placement of a
43616// Service Fabric service where a particular fault or upgrade domain should not be used for placement of
43617// the instances or replicas of that service.
43618type ServicePlacementInvalidDomainPolicyDescription struct {
43619	// DomainName - The name of the domain that should not be used for placement.
43620	DomainName *string `json:"DomainName,omitempty"`
43621	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43622	Type Type `json:"Type,omitempty"`
43623}
43624
43625// MarshalJSON is the custom marshaler for ServicePlacementInvalidDomainPolicyDescription.
43626func (spidpd ServicePlacementInvalidDomainPolicyDescription) MarshalJSON() ([]byte, error) {
43627	spidpd.Type = TypeInvalidDomain
43628	objectMap := make(map[string]interface{})
43629	if spidpd.DomainName != nil {
43630		objectMap["DomainName"] = spidpd.DomainName
43631	}
43632	if spidpd.Type != "" {
43633		objectMap["Type"] = spidpd.Type
43634	}
43635	return json.Marshal(objectMap)
43636}
43637
43638// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43639func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43640	return &spidpd, true
43641}
43642
43643// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43644func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43645	return nil, false
43646}
43647
43648// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43649func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43650	return nil, false
43651}
43652
43653// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43654func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43655	return nil, false
43656}
43657
43658// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43659func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43660	return nil, false
43661}
43662
43663// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43664func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43665	return nil, false
43666}
43667
43668// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43669func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43670	return &spidpd, true
43671}
43672
43673// ServicePlacementNonPartiallyPlaceServicePolicyDescription describes the policy to be used for placement
43674// of a Service Fabric service where all replicas must be able to be placed in order for any replicas to be
43675// created.
43676type ServicePlacementNonPartiallyPlaceServicePolicyDescription struct {
43677	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43678	Type Type `json:"Type,omitempty"`
43679}
43680
43681// MarshalJSON is the custom marshaler for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43682func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) MarshalJSON() ([]byte, error) {
43683	spnppspd.Type = TypeNonPartiallyPlaceService
43684	objectMap := make(map[string]interface{})
43685	if spnppspd.Type != "" {
43686		objectMap["Type"] = spnppspd.Type
43687	}
43688	return json.Marshal(objectMap)
43689}
43690
43691// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43692func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43693	return nil, false
43694}
43695
43696// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43697func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43698	return &spnppspd, true
43699}
43700
43701// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43702func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43703	return nil, false
43704}
43705
43706// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43707func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43708	return nil, false
43709}
43710
43711// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43712func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43713	return nil, false
43714}
43715
43716// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43717func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43718	return nil, false
43719}
43720
43721// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43722func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43723	return &spnppspd, true
43724}
43725
43726// BasicServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
43727type BasicServicePlacementPolicyDescription interface {
43728	AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool)
43729	AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool)
43730	AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool)
43731	AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool)
43732	AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool)
43733	AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool)
43734}
43735
43736// ServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
43737type ServicePlacementPolicyDescription struct {
43738	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43739	Type Type `json:"Type,omitempty"`
43740}
43741
43742func unmarshalBasicServicePlacementPolicyDescription(body []byte) (BasicServicePlacementPolicyDescription, error) {
43743	var m map[string]interface{}
43744	err := json.Unmarshal(body, &m)
43745	if err != nil {
43746		return nil, err
43747	}
43748
43749	switch m["Type"] {
43750	case string(TypeInvalidDomain):
43751		var spidpd ServicePlacementInvalidDomainPolicyDescription
43752		err := json.Unmarshal(body, &spidpd)
43753		return spidpd, err
43754	case string(TypeNonPartiallyPlaceService):
43755		var spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription
43756		err := json.Unmarshal(body, &spnppspd)
43757		return spnppspd, err
43758	case string(TypePreferredPrimaryDomain):
43759		var spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription
43760		err := json.Unmarshal(body, &spppdpd)
43761		return spppdpd, err
43762	case string(TypeRequiredDomain):
43763		var sprdpd ServicePlacementRequiredDomainPolicyDescription
43764		err := json.Unmarshal(body, &sprdpd)
43765		return sprdpd, err
43766	case string(TypeRequiredDomainDistribution):
43767		var sprddpd ServicePlacementRequireDomainDistributionPolicyDescription
43768		err := json.Unmarshal(body, &sprddpd)
43769		return sprddpd, err
43770	default:
43771		var sppd ServicePlacementPolicyDescription
43772		err := json.Unmarshal(body, &sppd)
43773		return sppd, err
43774	}
43775}
43776func unmarshalBasicServicePlacementPolicyDescriptionArray(body []byte) ([]BasicServicePlacementPolicyDescription, error) {
43777	var rawMessages []*json.RawMessage
43778	err := json.Unmarshal(body, &rawMessages)
43779	if err != nil {
43780		return nil, err
43781	}
43782
43783	sppdArray := make([]BasicServicePlacementPolicyDescription, len(rawMessages))
43784
43785	for index, rawMessage := range rawMessages {
43786		sppd, err := unmarshalBasicServicePlacementPolicyDescription(*rawMessage)
43787		if err != nil {
43788			return nil, err
43789		}
43790		sppdArray[index] = sppd
43791	}
43792	return sppdArray, nil
43793}
43794
43795// MarshalJSON is the custom marshaler for ServicePlacementPolicyDescription.
43796func (sppd ServicePlacementPolicyDescription) MarshalJSON() ([]byte, error) {
43797	sppd.Type = TypeServicePlacementPolicyDescription
43798	objectMap := make(map[string]interface{})
43799	if sppd.Type != "" {
43800		objectMap["Type"] = sppd.Type
43801	}
43802	return json.Marshal(objectMap)
43803}
43804
43805// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43806func (sppd ServicePlacementPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43807	return nil, false
43808}
43809
43810// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43811func (sppd ServicePlacementPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43812	return nil, false
43813}
43814
43815// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43816func (sppd ServicePlacementPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43817	return nil, false
43818}
43819
43820// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43821func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43822	return nil, false
43823}
43824
43825// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43826func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43827	return nil, false
43828}
43829
43830// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43831func (sppd ServicePlacementPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43832	return &sppd, true
43833}
43834
43835// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43836func (sppd ServicePlacementPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43837	return &sppd, true
43838}
43839
43840// ServicePlacementPreferPrimaryDomainPolicyDescription describes the policy to be used for placement of a
43841// Service Fabric service where the service's Primary replicas should optimally be placed in a particular
43842// domain.
43843//
43844// This placement policy is usually used with fault domains in scenarios where the Service Fabric cluster
43845// is geographically distributed in order to indicate that a service's primary replica should be located in
43846// a particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter
43847// boundaries. Note that since this is an optimization it is possible that the Primary replica may not end
43848// up located in this domain due to failures, capacity limits, or other constraints.
43849type ServicePlacementPreferPrimaryDomainPolicyDescription struct {
43850	// DomainName - The name of the domain that should used for placement as per this policy.
43851	DomainName *string `json:"DomainName,omitempty"`
43852	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43853	Type Type `json:"Type,omitempty"`
43854}
43855
43856// MarshalJSON is the custom marshaler for ServicePlacementPreferPrimaryDomainPolicyDescription.
43857func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) MarshalJSON() ([]byte, error) {
43858	spppdpd.Type = TypePreferredPrimaryDomain
43859	objectMap := make(map[string]interface{})
43860	if spppdpd.DomainName != nil {
43861		objectMap["DomainName"] = spppdpd.DomainName
43862	}
43863	if spppdpd.Type != "" {
43864		objectMap["Type"] = spppdpd.Type
43865	}
43866	return json.Marshal(objectMap)
43867}
43868
43869// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43870func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43871	return nil, false
43872}
43873
43874// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43875func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43876	return nil, false
43877}
43878
43879// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43880func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43881	return &spppdpd, true
43882}
43883
43884// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43885func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43886	return nil, false
43887}
43888
43889// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43890func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43891	return nil, false
43892}
43893
43894// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43895func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43896	return nil, false
43897}
43898
43899// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43900func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43901	return &spppdpd, true
43902}
43903
43904// ServicePlacementRequiredDomainPolicyDescription describes the policy to be used for placement of a
43905// Service Fabric service where the instances or replicas of that service must be placed in a particular
43906// domain
43907type ServicePlacementRequiredDomainPolicyDescription struct {
43908	// DomainName - The name of the domain that should used for placement as per this policy.
43909	DomainName *string `json:"DomainName,omitempty"`
43910	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43911	Type Type `json:"Type,omitempty"`
43912}
43913
43914// MarshalJSON is the custom marshaler for ServicePlacementRequiredDomainPolicyDescription.
43915func (sprdpd ServicePlacementRequiredDomainPolicyDescription) MarshalJSON() ([]byte, error) {
43916	sprdpd.Type = TypeRequiredDomain
43917	objectMap := make(map[string]interface{})
43918	if sprdpd.DomainName != nil {
43919		objectMap["DomainName"] = sprdpd.DomainName
43920	}
43921	if sprdpd.Type != "" {
43922		objectMap["Type"] = sprdpd.Type
43923	}
43924	return json.Marshal(objectMap)
43925}
43926
43927// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43928func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43929	return nil, false
43930}
43931
43932// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43933func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43934	return nil, false
43935}
43936
43937// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43938func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43939	return nil, false
43940}
43941
43942// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43943func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43944	return &sprdpd, true
43945}
43946
43947// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43948func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43949	return nil, false
43950}
43951
43952// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43953func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43954	return nil, false
43955}
43956
43957// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43958func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43959	return &sprdpd, true
43960}
43961
43962// ServicePlacementRequireDomainDistributionPolicyDescription describes the policy to be used for placement
43963// of a Service Fabric service where two replicas from the same partition should never be placed in the
43964// same fault or upgrade domain.
43965//
43966// While this is not common it can expose the service to an increased risk of concurrent failures due to
43967// unplanned outages or other cases of subsequent/concurrent failures. As an example, consider a case where
43968// replicas are deployed across different data center, with one replica per location. In the event that one
43969// of the datacenters goes offline, normally the replica that was placed in that datacenter will be packed
43970// into one of the remaining datacenters. If this is not desirable then this policy should be set.
43971type ServicePlacementRequireDomainDistributionPolicyDescription struct {
43972	// DomainName - The name of the domain that should used for placement as per this policy.
43973	DomainName *string `json:"DomainName,omitempty"`
43974	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43975	Type Type `json:"Type,omitempty"`
43976}
43977
43978// MarshalJSON is the custom marshaler for ServicePlacementRequireDomainDistributionPolicyDescription.
43979func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) MarshalJSON() ([]byte, error) {
43980	sprddpd.Type = TypeRequiredDomainDistribution
43981	objectMap := make(map[string]interface{})
43982	if sprddpd.DomainName != nil {
43983		objectMap["DomainName"] = sprddpd.DomainName
43984	}
43985	if sprddpd.Type != "" {
43986		objectMap["Type"] = sprddpd.Type
43987	}
43988	return json.Marshal(objectMap)
43989}
43990
43991// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43992func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43993	return nil, false
43994}
43995
43996// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43997func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43998	return nil, false
43999}
44000
44001// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
44002func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
44003	return nil, false
44004}
44005
44006// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
44007func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
44008	return nil, false
44009}
44010
44011// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
44012func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
44013	return &sprddpd, true
44014}
44015
44016// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
44017func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
44018	return nil, false
44019}
44020
44021// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
44022func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
44023	return &sprddpd, true
44024}
44025
44026// ServiceReplicaProperties describes the properties of a service replica.
44027type ServiceReplicaProperties struct {
44028	// OsType - The Operating system type required by the code in service. Possible values include: 'Linux', 'Windows'
44029	OsType OperatingSystemTypes `json:"osType,omitempty"`
44030	// CodePackages - Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).
44031	CodePackages *[]ContainerCodePackageProperties `json:"codePackages,omitempty"`
44032	// NetworkRefs - The names of the private networks that this service needs to be part of.
44033	NetworkRefs *[]NetworkRef `json:"networkRefs,omitempty"`
44034	// Diagnostics - Reference to sinks in DiagnosticsDescription.
44035	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
44036}
44037
44038// ServiceResourceDescription describes a service fabric service resource.
44039type ServiceResourceDescription struct {
44040	autorest.Response `json:"-"`
44041	// ServiceResourceProperties - This type describes properties of a service resource.
44042	*ServiceResourceProperties `json:"properties,omitempty"`
44043	// Name - Service resource name.
44044	Name *string `json:"name,omitempty"`
44045}
44046
44047// MarshalJSON is the custom marshaler for ServiceResourceDescription.
44048func (srd ServiceResourceDescription) MarshalJSON() ([]byte, error) {
44049	objectMap := make(map[string]interface{})
44050	if srd.ServiceResourceProperties != nil {
44051		objectMap["properties"] = srd.ServiceResourceProperties
44052	}
44053	if srd.Name != nil {
44054		objectMap["name"] = srd.Name
44055	}
44056	return json.Marshal(objectMap)
44057}
44058
44059// UnmarshalJSON is the custom unmarshaler for ServiceResourceDescription struct.
44060func (srd *ServiceResourceDescription) UnmarshalJSON(body []byte) error {
44061	var m map[string]*json.RawMessage
44062	err := json.Unmarshal(body, &m)
44063	if err != nil {
44064		return err
44065	}
44066	for k, v := range m {
44067		switch k {
44068		case "properties":
44069			if v != nil {
44070				var serviceResourceProperties ServiceResourceProperties
44071				err = json.Unmarshal(*v, &serviceResourceProperties)
44072				if err != nil {
44073					return err
44074				}
44075				srd.ServiceResourceProperties = &serviceResourceProperties
44076			}
44077		case "name":
44078			if v != nil {
44079				var name string
44080				err = json.Unmarshal(*v, &name)
44081				if err != nil {
44082					return err
44083				}
44084				srd.Name = &name
44085			}
44086		}
44087	}
44088
44089	return nil
44090}
44091
44092// ServiceResourceProperties this type describes properties of a service resource.
44093type ServiceResourceProperties struct {
44094	// Description - User readable description of the service.
44095	Description *string `json:"description,omitempty"`
44096	// ReplicaCount - The number of replicas of the service to create. Defaults to 1 if not specified.
44097	ReplicaCount *int32 `json:"replicaCount,omitempty"`
44098	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
44099	HealthState HealthState `json:"healthState,omitempty"`
44100	// Status - READ-ONLY; Represents the status of the service. Possible values include: 'ServiceResourceStatusUnknown', 'ServiceResourceStatusActive', 'ServiceResourceStatusUpgrading', 'ServiceResourceStatusDeleting', 'ServiceResourceStatusCreating', 'ServiceResourceStatusFailed'
44101	Status ServiceResourceStatus `json:"status,omitempty"`
44102	// OsType - The Operating system type required by the code in service. Possible values include: 'Linux', 'Windows'
44103	OsType OperatingSystemTypes `json:"osType,omitempty"`
44104	// CodePackages - Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).
44105	CodePackages *[]ContainerCodePackageProperties `json:"codePackages,omitempty"`
44106	// NetworkRefs - The names of the private networks that this service needs to be part of.
44107	NetworkRefs *[]NetworkRef `json:"networkRefs,omitempty"`
44108	// Diagnostics - Reference to sinks in DiagnosticsDescription.
44109	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
44110}
44111
44112// MarshalJSON is the custom marshaler for ServiceResourceProperties.
44113func (srp ServiceResourceProperties) MarshalJSON() ([]byte, error) {
44114	objectMap := make(map[string]interface{})
44115	if srp.Description != nil {
44116		objectMap["description"] = srp.Description
44117	}
44118	if srp.ReplicaCount != nil {
44119		objectMap["replicaCount"] = srp.ReplicaCount
44120	}
44121	if srp.HealthState != "" {
44122		objectMap["healthState"] = srp.HealthState
44123	}
44124	if srp.OsType != "" {
44125		objectMap["osType"] = srp.OsType
44126	}
44127	if srp.CodePackages != nil {
44128		objectMap["codePackages"] = srp.CodePackages
44129	}
44130	if srp.NetworkRefs != nil {
44131		objectMap["networkRefs"] = srp.NetworkRefs
44132	}
44133	if srp.Diagnostics != nil {
44134		objectMap["diagnostics"] = srp.Diagnostics
44135	}
44136	return json.Marshal(objectMap)
44137}
44138
44139// ServiceResourceReplicaDescription describes a replica of a service resource.
44140type ServiceResourceReplicaDescription struct {
44141	autorest.Response `json:"-"`
44142	// ReplicaName - Name of the replica.
44143	ReplicaName *string `json:"replicaName,omitempty"`
44144	// OsType - The Operating system type required by the code in service. Possible values include: 'Linux', 'Windows'
44145	OsType OperatingSystemTypes `json:"osType,omitempty"`
44146	// CodePackages - Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).
44147	CodePackages *[]ContainerCodePackageProperties `json:"codePackages,omitempty"`
44148	// NetworkRefs - The names of the private networks that this service needs to be part of.
44149	NetworkRefs *[]NetworkRef `json:"networkRefs,omitempty"`
44150	// Diagnostics - Reference to sinks in DiagnosticsDescription.
44151	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
44152}
44153
44154// ServicesHealthEvaluation represents health evaluation for services of a certain service type belonging
44155// to an application, containing health evaluations for each unhealthy service that impacted current
44156// aggregated health state. Can be returned when evaluating application health and the aggregated health
44157// state is either Error or Warning.
44158type ServicesHealthEvaluation struct {
44159	// ServiceTypeName - Name of the service type of the services.
44160	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
44161	// MaxPercentUnhealthyServices - Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy.
44162	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
44163	// TotalCount - Total number of services of the current service type in the application from the health store.
44164	TotalCount *int64 `json:"TotalCount,omitempty"`
44165	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health.
44166	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
44167	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
44168	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
44169	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
44170	Description *string `json:"Description,omitempty"`
44171	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
44172	Kind Kind `json:"Kind,omitempty"`
44173}
44174
44175// MarshalJSON is the custom marshaler for ServicesHealthEvaluation.
44176func (she ServicesHealthEvaluation) MarshalJSON() ([]byte, error) {
44177	she.Kind = KindServices
44178	objectMap := make(map[string]interface{})
44179	if she.ServiceTypeName != nil {
44180		objectMap["ServiceTypeName"] = she.ServiceTypeName
44181	}
44182	if she.MaxPercentUnhealthyServices != nil {
44183		objectMap["MaxPercentUnhealthyServices"] = she.MaxPercentUnhealthyServices
44184	}
44185	if she.TotalCount != nil {
44186		objectMap["TotalCount"] = she.TotalCount
44187	}
44188	if she.UnhealthyEvaluations != nil {
44189		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
44190	}
44191	if she.AggregatedHealthState != "" {
44192		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
44193	}
44194	if she.Description != nil {
44195		objectMap["Description"] = she.Description
44196	}
44197	if she.Kind != "" {
44198		objectMap["Kind"] = she.Kind
44199	}
44200	return json.Marshal(objectMap)
44201}
44202
44203// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44204func (she ServicesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
44205	return nil, false
44206}
44207
44208// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44209func (she ServicesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
44210	return nil, false
44211}
44212
44213// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44214func (she ServicesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
44215	return nil, false
44216}
44217
44218// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44219func (she ServicesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
44220	return nil, false
44221}
44222
44223// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44224func (she ServicesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
44225	return nil, false
44226}
44227
44228// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44229func (she ServicesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
44230	return nil, false
44231}
44232
44233// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44234func (she ServicesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
44235	return nil, false
44236}
44237
44238// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44239func (she ServicesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
44240	return nil, false
44241}
44242
44243// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44244func (she ServicesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
44245	return nil, false
44246}
44247
44248// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44249func (she ServicesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
44250	return nil, false
44251}
44252
44253// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44254func (she ServicesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
44255	return nil, false
44256}
44257
44258// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44259func (she ServicesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
44260	return nil, false
44261}
44262
44263// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44264func (she ServicesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
44265	return nil, false
44266}
44267
44268// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44269func (she ServicesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
44270	return nil, false
44271}
44272
44273// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44274func (she ServicesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
44275	return nil, false
44276}
44277
44278// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44279func (she ServicesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
44280	return nil, false
44281}
44282
44283// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44284func (she ServicesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
44285	return &she, true
44286}
44287
44288// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44289func (she ServicesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
44290	return nil, false
44291}
44292
44293// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44294func (she ServicesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
44295	return nil, false
44296}
44297
44298// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44299func (she ServicesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
44300	return nil, false
44301}
44302
44303// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44304func (she ServicesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
44305	return nil, false
44306}
44307
44308// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
44309func (she ServicesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
44310	return &she, true
44311}
44312
44313// BasicServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
44314// type. The properties the ones defined in the service manifest.
44315type BasicServiceTypeDescription interface {
44316	AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool)
44317	AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool)
44318	AsServiceTypeDescription() (*ServiceTypeDescription, bool)
44319}
44320
44321// ServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
44322// type. The properties the ones defined in the service manifest.
44323type ServiceTypeDescription struct {
44324	// IsStateful - Indicates whether the service type is a stateful service type or a stateless service type. This property is true if the service type is a stateful service type, false otherwise.
44325	IsStateful *bool `json:"IsStateful,omitempty"`
44326	// ServiceTypeName - Name of the service type as specified in the service manifest.
44327	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
44328	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
44329	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
44330	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
44331	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
44332	// ServicePlacementPolicies - List of service placement policy descriptions.
44333	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
44334	// Extensions - List of service type extensions.
44335	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
44336	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
44337	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
44338}
44339
44340func unmarshalBasicServiceTypeDescription(body []byte) (BasicServiceTypeDescription, error) {
44341	var m map[string]interface{}
44342	err := json.Unmarshal(body, &m)
44343	if err != nil {
44344		return nil, err
44345	}
44346
44347	switch m["Kind"] {
44348	case string(KindStateful):
44349		var sstd StatefulServiceTypeDescription
44350		err := json.Unmarshal(body, &sstd)
44351		return sstd, err
44352	case string(KindStateless):
44353		var sstd StatelessServiceTypeDescription
44354		err := json.Unmarshal(body, &sstd)
44355		return sstd, err
44356	default:
44357		var std ServiceTypeDescription
44358		err := json.Unmarshal(body, &std)
44359		return std, err
44360	}
44361}
44362func unmarshalBasicServiceTypeDescriptionArray(body []byte) ([]BasicServiceTypeDescription, error) {
44363	var rawMessages []*json.RawMessage
44364	err := json.Unmarshal(body, &rawMessages)
44365	if err != nil {
44366		return nil, err
44367	}
44368
44369	stdArray := make([]BasicServiceTypeDescription, len(rawMessages))
44370
44371	for index, rawMessage := range rawMessages {
44372		std, err := unmarshalBasicServiceTypeDescription(*rawMessage)
44373		if err != nil {
44374			return nil, err
44375		}
44376		stdArray[index] = std
44377	}
44378	return stdArray, nil
44379}
44380
44381// MarshalJSON is the custom marshaler for ServiceTypeDescription.
44382func (std ServiceTypeDescription) MarshalJSON() ([]byte, error) {
44383	std.Kind = KindServiceTypeDescription
44384	objectMap := make(map[string]interface{})
44385	if std.IsStateful != nil {
44386		objectMap["IsStateful"] = std.IsStateful
44387	}
44388	if std.ServiceTypeName != nil {
44389		objectMap["ServiceTypeName"] = std.ServiceTypeName
44390	}
44391	if std.PlacementConstraints != nil {
44392		objectMap["PlacementConstraints"] = std.PlacementConstraints
44393	}
44394	if std.LoadMetrics != nil {
44395		objectMap["LoadMetrics"] = std.LoadMetrics
44396	}
44397	if std.ServicePlacementPolicies != nil {
44398		objectMap["ServicePlacementPolicies"] = std.ServicePlacementPolicies
44399	}
44400	if std.Extensions != nil {
44401		objectMap["Extensions"] = std.Extensions
44402	}
44403	if std.Kind != "" {
44404		objectMap["Kind"] = std.Kind
44405	}
44406	return json.Marshal(objectMap)
44407}
44408
44409// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
44410func (std ServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
44411	return nil, false
44412}
44413
44414// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
44415func (std ServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
44416	return nil, false
44417}
44418
44419// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
44420func (std ServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
44421	return &std, true
44422}
44423
44424// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
44425func (std ServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
44426	return &std, true
44427}
44428
44429// UnmarshalJSON is the custom unmarshaler for ServiceTypeDescription struct.
44430func (std *ServiceTypeDescription) UnmarshalJSON(body []byte) error {
44431	var m map[string]*json.RawMessage
44432	err := json.Unmarshal(body, &m)
44433	if err != nil {
44434		return err
44435	}
44436	for k, v := range m {
44437		switch k {
44438		case "IsStateful":
44439			if v != nil {
44440				var isStateful bool
44441				err = json.Unmarshal(*v, &isStateful)
44442				if err != nil {
44443					return err
44444				}
44445				std.IsStateful = &isStateful
44446			}
44447		case "ServiceTypeName":
44448			if v != nil {
44449				var serviceTypeName string
44450				err = json.Unmarshal(*v, &serviceTypeName)
44451				if err != nil {
44452					return err
44453				}
44454				std.ServiceTypeName = &serviceTypeName
44455			}
44456		case "PlacementConstraints":
44457			if v != nil {
44458				var placementConstraints string
44459				err = json.Unmarshal(*v, &placementConstraints)
44460				if err != nil {
44461					return err
44462				}
44463				std.PlacementConstraints = &placementConstraints
44464			}
44465		case "LoadMetrics":
44466			if v != nil {
44467				var loadMetrics []ServiceLoadMetricDescription
44468				err = json.Unmarshal(*v, &loadMetrics)
44469				if err != nil {
44470					return err
44471				}
44472				std.LoadMetrics = &loadMetrics
44473			}
44474		case "ServicePlacementPolicies":
44475			if v != nil {
44476				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
44477				if err != nil {
44478					return err
44479				}
44480				std.ServicePlacementPolicies = &servicePlacementPolicies
44481			}
44482		case "Extensions":
44483			if v != nil {
44484				var extensions []ServiceTypeExtensionDescription
44485				err = json.Unmarshal(*v, &extensions)
44486				if err != nil {
44487					return err
44488				}
44489				std.Extensions = &extensions
44490			}
44491		case "Kind":
44492			if v != nil {
44493				var kind KindBasicServiceTypeDescription
44494				err = json.Unmarshal(*v, &kind)
44495				if err != nil {
44496					return err
44497				}
44498				std.Kind = kind
44499			}
44500		}
44501	}
44502
44503	return nil
44504}
44505
44506// ServiceTypeExtensionDescription describes extension of a service type defined in the service manifest.
44507type ServiceTypeExtensionDescription struct {
44508	// Key - The name of the extension.
44509	Key *string `json:"Key,omitempty"`
44510	// Value - The extension value.
44511	Value *string `json:"Value,omitempty"`
44512}
44513
44514// ServiceTypeHealthPolicy represents the health policy used to evaluate the health of services belonging
44515// to a service type.
44516type ServiceTypeHealthPolicy struct {
44517	// MaxPercentUnhealthyPartitionsPerService - The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100
44518	// The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
44519	// If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
44520	// The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
44521	// The computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.
44522	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
44523	// MaxPercentUnhealthyReplicasPerPartition - The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.
44524	// The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
44525	// If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
44526	// The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
44527	// The computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.
44528	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
44529	// MaxPercentUnhealthyServices - The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.
44530	// The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
44531	// If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
44532	// This is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.
44533	// The computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.
44534	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
44535}
44536
44537// ServiceTypeHealthPolicyMapItem defines an item in ServiceTypeHealthPolicyMap.
44538type ServiceTypeHealthPolicyMapItem struct {
44539	// Key - The key of the service type health policy map item. This is the name of the service type.
44540	Key *string `json:"Key,omitempty"`
44541	// Value - The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type.
44542	Value *ServiceTypeHealthPolicy `json:"Value,omitempty"`
44543}
44544
44545// ServiceTypeInfo information about a service type that is defined in a service manifest of a provisioned
44546// application type.
44547type ServiceTypeInfo struct {
44548	autorest.Response `json:"-"`
44549	// ServiceTypeDescription - Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.
44550	ServiceTypeDescription BasicServiceTypeDescription `json:"ServiceTypeDescription,omitempty"`
44551	// ServiceManifestName - The name of the service manifest in which this service type is defined.
44552	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
44553	// ServiceManifestVersion - The version of the service manifest in which this service type is defined.
44554	ServiceManifestVersion *string `json:"ServiceManifestVersion,omitempty"`
44555	// IsServiceGroup - Indicates whether the service is a service group. If it is, the property value is true otherwise false.
44556	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
44557}
44558
44559// UnmarshalJSON is the custom unmarshaler for ServiceTypeInfo struct.
44560func (sti *ServiceTypeInfo) UnmarshalJSON(body []byte) error {
44561	var m map[string]*json.RawMessage
44562	err := json.Unmarshal(body, &m)
44563	if err != nil {
44564		return err
44565	}
44566	for k, v := range m {
44567		switch k {
44568		case "ServiceTypeDescription":
44569			if v != nil {
44570				serviceTypeDescription, err := unmarshalBasicServiceTypeDescription(*v)
44571				if err != nil {
44572					return err
44573				}
44574				sti.ServiceTypeDescription = serviceTypeDescription
44575			}
44576		case "ServiceManifestName":
44577			if v != nil {
44578				var serviceManifestName string
44579				err = json.Unmarshal(*v, &serviceManifestName)
44580				if err != nil {
44581					return err
44582				}
44583				sti.ServiceManifestName = &serviceManifestName
44584			}
44585		case "ServiceManifestVersion":
44586			if v != nil {
44587				var serviceManifestVersion string
44588				err = json.Unmarshal(*v, &serviceManifestVersion)
44589				if err != nil {
44590					return err
44591				}
44592				sti.ServiceManifestVersion = &serviceManifestVersion
44593			}
44594		case "IsServiceGroup":
44595			if v != nil {
44596				var isServiceGroup bool
44597				err = json.Unmarshal(*v, &isServiceGroup)
44598				if err != nil {
44599					return err
44600				}
44601				sti.IsServiceGroup = &isServiceGroup
44602			}
44603		}
44604	}
44605
44606	return nil
44607}
44608
44609// ServiceTypeManifest contains the manifest describing a service type registered as part of an application
44610// in a Service Fabric cluster.
44611type ServiceTypeManifest struct {
44612	autorest.Response `json:"-"`
44613	// Manifest - The XML manifest as a string.
44614	Manifest *string `json:"Manifest,omitempty"`
44615}
44616
44617// BasicServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
44618// service.
44619type BasicServiceUpdateDescription interface {
44620	AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool)
44621	AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool)
44622	AsServiceUpdateDescription() (*ServiceUpdateDescription, bool)
44623}
44624
44625// ServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
44626// service.
44627type ServiceUpdateDescription struct {
44628	// Flags - Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.
44629	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
44630	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
44631	// - None - Does not indicate any other properties are set. The value is zero.
44632	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
44633	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
44634	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
44635	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
44636	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
44637	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
44638	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
44639	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
44640	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
44641	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
44642	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
44643	Flags *string `json:"Flags,omitempty"`
44644	// PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
44645	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
44646	// CorrelationScheme - The correlation scheme.
44647	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
44648	// LoadMetrics - The service load metrics.
44649	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
44650	// ServicePlacementPolicies - The service placement policies.
44651	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
44652	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
44653	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
44654	// ScalingPolicies - Scaling policies for this service.
44655	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
44656	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
44657	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
44658}
44659
44660func unmarshalBasicServiceUpdateDescription(body []byte) (BasicServiceUpdateDescription, error) {
44661	var m map[string]interface{}
44662	err := json.Unmarshal(body, &m)
44663	if err != nil {
44664		return nil, err
44665	}
44666
44667	switch m["ServiceKind"] {
44668	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateful):
44669		var ssud StatefulServiceUpdateDescription
44670		err := json.Unmarshal(body, &ssud)
44671		return ssud, err
44672	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateless):
44673		var ssud StatelessServiceUpdateDescription
44674		err := json.Unmarshal(body, &ssud)
44675		return ssud, err
44676	default:
44677		var sud ServiceUpdateDescription
44678		err := json.Unmarshal(body, &sud)
44679		return sud, err
44680	}
44681}
44682func unmarshalBasicServiceUpdateDescriptionArray(body []byte) ([]BasicServiceUpdateDescription, error) {
44683	var rawMessages []*json.RawMessage
44684	err := json.Unmarshal(body, &rawMessages)
44685	if err != nil {
44686		return nil, err
44687	}
44688
44689	sudArray := make([]BasicServiceUpdateDescription, len(rawMessages))
44690
44691	for index, rawMessage := range rawMessages {
44692		sud, err := unmarshalBasicServiceUpdateDescription(*rawMessage)
44693		if err != nil {
44694			return nil, err
44695		}
44696		sudArray[index] = sud
44697	}
44698	return sudArray, nil
44699}
44700
44701// MarshalJSON is the custom marshaler for ServiceUpdateDescription.
44702func (sud ServiceUpdateDescription) MarshalJSON() ([]byte, error) {
44703	sud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription
44704	objectMap := make(map[string]interface{})
44705	if sud.Flags != nil {
44706		objectMap["Flags"] = sud.Flags
44707	}
44708	if sud.PlacementConstraints != nil {
44709		objectMap["PlacementConstraints"] = sud.PlacementConstraints
44710	}
44711	if sud.CorrelationScheme != nil {
44712		objectMap["CorrelationScheme"] = sud.CorrelationScheme
44713	}
44714	if sud.LoadMetrics != nil {
44715		objectMap["LoadMetrics"] = sud.LoadMetrics
44716	}
44717	if sud.ServicePlacementPolicies != nil {
44718		objectMap["ServicePlacementPolicies"] = sud.ServicePlacementPolicies
44719	}
44720	if sud.DefaultMoveCost != "" {
44721		objectMap["DefaultMoveCost"] = sud.DefaultMoveCost
44722	}
44723	if sud.ScalingPolicies != nil {
44724		objectMap["ScalingPolicies"] = sud.ScalingPolicies
44725	}
44726	if sud.ServiceKind != "" {
44727		objectMap["ServiceKind"] = sud.ServiceKind
44728	}
44729	return json.Marshal(objectMap)
44730}
44731
44732// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44733func (sud ServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
44734	return nil, false
44735}
44736
44737// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44738func (sud ServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
44739	return nil, false
44740}
44741
44742// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44743func (sud ServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
44744	return &sud, true
44745}
44746
44747// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44748func (sud ServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
44749	return &sud, true
44750}
44751
44752// UnmarshalJSON is the custom unmarshaler for ServiceUpdateDescription struct.
44753func (sud *ServiceUpdateDescription) UnmarshalJSON(body []byte) error {
44754	var m map[string]*json.RawMessage
44755	err := json.Unmarshal(body, &m)
44756	if err != nil {
44757		return err
44758	}
44759	for k, v := range m {
44760		switch k {
44761		case "Flags":
44762			if v != nil {
44763				var flags string
44764				err = json.Unmarshal(*v, &flags)
44765				if err != nil {
44766					return err
44767				}
44768				sud.Flags = &flags
44769			}
44770		case "PlacementConstraints":
44771			if v != nil {
44772				var placementConstraints string
44773				err = json.Unmarshal(*v, &placementConstraints)
44774				if err != nil {
44775					return err
44776				}
44777				sud.PlacementConstraints = &placementConstraints
44778			}
44779		case "CorrelationScheme":
44780			if v != nil {
44781				var correlationScheme []ServiceCorrelationDescription
44782				err = json.Unmarshal(*v, &correlationScheme)
44783				if err != nil {
44784					return err
44785				}
44786				sud.CorrelationScheme = &correlationScheme
44787			}
44788		case "LoadMetrics":
44789			if v != nil {
44790				var loadMetrics []ServiceLoadMetricDescription
44791				err = json.Unmarshal(*v, &loadMetrics)
44792				if err != nil {
44793					return err
44794				}
44795				sud.LoadMetrics = &loadMetrics
44796			}
44797		case "ServicePlacementPolicies":
44798			if v != nil {
44799				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
44800				if err != nil {
44801					return err
44802				}
44803				sud.ServicePlacementPolicies = &servicePlacementPolicies
44804			}
44805		case "DefaultMoveCost":
44806			if v != nil {
44807				var defaultMoveCost MoveCost
44808				err = json.Unmarshal(*v, &defaultMoveCost)
44809				if err != nil {
44810					return err
44811				}
44812				sud.DefaultMoveCost = defaultMoveCost
44813			}
44814		case "ScalingPolicies":
44815			if v != nil {
44816				var scalingPolicies []ScalingPolicyDescription
44817				err = json.Unmarshal(*v, &scalingPolicies)
44818				if err != nil {
44819					return err
44820				}
44821				sud.ScalingPolicies = &scalingPolicies
44822			}
44823		case "ServiceKind":
44824			if v != nil {
44825				var serviceKind ServiceKindBasicServiceUpdateDescription
44826				err = json.Unmarshal(*v, &serviceKind)
44827				if err != nil {
44828					return err
44829				}
44830				sud.ServiceKind = serviceKind
44831			}
44832		}
44833	}
44834
44835	return nil
44836}
44837
44838// Setting describes a setting for the container.
44839type Setting struct {
44840	// Name - The name of the setting.
44841	Name *string `json:"name,omitempty"`
44842	// Value - The value of the setting.
44843	Value *string `json:"value,omitempty"`
44844}
44845
44846// SingletonPartitionInformation information about a partition that is singleton. The services with
44847// singleton partitioning scheme are effectively non-partitioned. They only have one partition.
44848type SingletonPartitionInformation struct {
44849	// ID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
44850	ID *uuid.UUID `json:"Id,omitempty"`
44851	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
44852	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
44853}
44854
44855// MarshalJSON is the custom marshaler for SingletonPartitionInformation.
44856func (spi SingletonPartitionInformation) MarshalJSON() ([]byte, error) {
44857	spi.ServicePartitionKind = ServicePartitionKindSingleton1
44858	objectMap := make(map[string]interface{})
44859	if spi.ID != nil {
44860		objectMap["Id"] = spi.ID
44861	}
44862	if spi.ServicePartitionKind != "" {
44863		objectMap["ServicePartitionKind"] = spi.ServicePartitionKind
44864	}
44865	return json.Marshal(objectMap)
44866}
44867
44868// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44869func (spi SingletonPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
44870	return nil, false
44871}
44872
44873// AsNamedPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44874func (spi SingletonPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
44875	return nil, false
44876}
44877
44878// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44879func (spi SingletonPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
44880	return &spi, true
44881}
44882
44883// AsPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44884func (spi SingletonPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
44885	return nil, false
44886}
44887
44888// AsBasicPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44889func (spi SingletonPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
44890	return &spi, true
44891}
44892
44893// SingletonPartitionSchemeDescription describes the partition scheme of a singleton-partitioned, or
44894// non-partitioned service.
44895type SingletonPartitionSchemeDescription struct {
44896	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
44897	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
44898}
44899
44900// MarshalJSON is the custom marshaler for SingletonPartitionSchemeDescription.
44901func (spsd SingletonPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
44902	spsd.PartitionScheme = PartitionSchemeSingleton1
44903	objectMap := make(map[string]interface{})
44904	if spsd.PartitionScheme != "" {
44905		objectMap["PartitionScheme"] = spsd.PartitionScheme
44906	}
44907	return json.Marshal(objectMap)
44908}
44909
44910// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44911func (spsd SingletonPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
44912	return nil, false
44913}
44914
44915// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44916func (spsd SingletonPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
44917	return &spsd, true
44918}
44919
44920// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44921func (spsd SingletonPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
44922	return nil, false
44923}
44924
44925// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44926func (spsd SingletonPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
44927	return nil, false
44928}
44929
44930// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44931func (spsd SingletonPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
44932	return &spsd, true
44933}
44934
44935// StartClusterUpgradeDescription describes the parameters for starting a cluster upgrade.
44936type StartClusterUpgradeDescription struct {
44937	// CodeVersion - The cluster code version.
44938	CodeVersion *string `json:"CodeVersion,omitempty"`
44939	// ConfigVersion - The cluster configuration version.
44940	ConfigVersion *string `json:"ConfigVersion,omitempty"`
44941	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
44942	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
44943	// RollingUpgradeMode - The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'UpgradeModeInvalid', 'UpgradeModeUnmonitoredAuto', 'UpgradeModeUnmonitoredManual', 'UpgradeModeMonitored'
44944	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
44945	// UpgradeReplicaSetCheckTimeoutInSeconds - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).
44946	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
44947	// ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).
44948	ForceRestart *bool `json:"ForceRestart,omitempty"`
44949	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
44950	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
44951	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
44952	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
44953	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
44954	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
44955	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
44956	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
44957	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
44958	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
44959}
44960
44961// StartedChaosEvent describes a Chaos event that gets generated when Chaos is started.
44962type StartedChaosEvent struct {
44963	// ChaosParameters - Defines all the parameters to configure a Chaos run.
44964	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
44965	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
44966	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
44967	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
44968	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
44969}
44970
44971// MarshalJSON is the custom marshaler for StartedChaosEvent.
44972func (sce StartedChaosEvent) MarshalJSON() ([]byte, error) {
44973	sce.Kind = KindStarted
44974	objectMap := make(map[string]interface{})
44975	if sce.ChaosParameters != nil {
44976		objectMap["ChaosParameters"] = sce.ChaosParameters
44977	}
44978	if sce.TimeStampUtc != nil {
44979		objectMap["TimeStampUtc"] = sce.TimeStampUtc
44980	}
44981	if sce.Kind != "" {
44982		objectMap["Kind"] = sce.Kind
44983	}
44984	return json.Marshal(objectMap)
44985}
44986
44987// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44988func (sce StartedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
44989	return nil, false
44990}
44991
44992// AsStartedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44993func (sce StartedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
44994	return &sce, true
44995}
44996
44997// AsStoppedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44998func (sce StartedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
44999	return nil, false
45000}
45001
45002// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
45003func (sce StartedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
45004	return nil, false
45005}
45006
45007// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
45008func (sce StartedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
45009	return nil, false
45010}
45011
45012// AsWaitingChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
45013func (sce StartedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
45014	return nil, false
45015}
45016
45017// AsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
45018func (sce StartedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
45019	return nil, false
45020}
45021
45022// AsBasicChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
45023func (sce StartedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
45024	return &sce, true
45025}
45026
45027// StatefulReplicaHealthReportCreatedEvent stateful Replica Health Report Created event.
45028type StatefulReplicaHealthReportCreatedEvent struct {
45029	// ReplicaInstanceID - Id of Replica instance.
45030	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
45031	// SourceID - Id of report source.
45032	SourceID *string `json:"SourceId,omitempty"`
45033	// Property - Describes the property.
45034	Property *string `json:"Property,omitempty"`
45035	// HealthState - Describes the property health state.
45036	HealthState *string `json:"HealthState,omitempty"`
45037	// TimeToLiveMs - Time to live in milli-seconds.
45038	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
45039	// SequenceNumber - Sequence number of report.
45040	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
45041	// Description - Description of report.
45042	Description *string `json:"Description,omitempty"`
45043	// RemoveWhenExpired - Indicates the removal when it expires.
45044	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
45045	// SourceUtcTimestamp - Source time.
45046	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
45047	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
45048	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
45049	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
45050	ReplicaID *int64 `json:"ReplicaId,omitempty"`
45051	// EventInstanceID - The identifier for the FabricEvent instance.
45052	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
45053	// TimeStamp - The time event was logged.
45054	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
45055	// HasCorrelatedEvents - Shows there is existing related events available.
45056	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
45057	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
45058	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
45059}
45060
45061// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportCreatedEvent.
45062func (srhrce StatefulReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
45063	srhrce.Kind = KindStatefulReplicaHealthReportCreated
45064	objectMap := make(map[string]interface{})
45065	if srhrce.ReplicaInstanceID != nil {
45066		objectMap["ReplicaInstanceId"] = srhrce.ReplicaInstanceID
45067	}
45068	if srhrce.SourceID != nil {
45069		objectMap["SourceId"] = srhrce.SourceID
45070	}
45071	if srhrce.Property != nil {
45072		objectMap["Property"] = srhrce.Property
45073	}
45074	if srhrce.HealthState != nil {
45075		objectMap["HealthState"] = srhrce.HealthState
45076	}
45077	if srhrce.TimeToLiveMs != nil {
45078		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
45079	}
45080	if srhrce.SequenceNumber != nil {
45081		objectMap["SequenceNumber"] = srhrce.SequenceNumber
45082	}
45083	if srhrce.Description != nil {
45084		objectMap["Description"] = srhrce.Description
45085	}
45086	if srhrce.RemoveWhenExpired != nil {
45087		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
45088	}
45089	if srhrce.SourceUtcTimestamp != nil {
45090		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
45091	}
45092	if srhrce.PartitionID != nil {
45093		objectMap["PartitionId"] = srhrce.PartitionID
45094	}
45095	if srhrce.ReplicaID != nil {
45096		objectMap["ReplicaId"] = srhrce.ReplicaID
45097	}
45098	if srhrce.EventInstanceID != nil {
45099		objectMap["EventInstanceId"] = srhrce.EventInstanceID
45100	}
45101	if srhrce.TimeStamp != nil {
45102		objectMap["TimeStamp"] = srhrce.TimeStamp
45103	}
45104	if srhrce.HasCorrelatedEvents != nil {
45105		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
45106	}
45107	if srhrce.Kind != "" {
45108		objectMap["Kind"] = srhrce.Kind
45109	}
45110	return json.Marshal(objectMap)
45111}
45112
45113// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45114func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
45115	return nil, false
45116}
45117
45118// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45119func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
45120	return nil, false
45121}
45122
45123// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45124func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
45125	return nil, false
45126}
45127
45128// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45129func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
45130	return nil, false
45131}
45132
45133// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45134func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
45135	return nil, false
45136}
45137
45138// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45139func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
45140	return nil, false
45141}
45142
45143// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45144func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
45145	return nil, false
45146}
45147
45148// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45149func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
45150	return nil, false
45151}
45152
45153// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45154func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
45155	return nil, false
45156}
45157
45158// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45159func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
45160	return nil, false
45161}
45162
45163// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45164func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
45165	return nil, false
45166}
45167
45168// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45169func (srhrce StatefulReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
45170	return nil, false
45171}
45172
45173// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45174func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
45175	return &srhrce, true
45176}
45177
45178// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45179func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
45180	return nil, false
45181}
45182
45183// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45184func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
45185	return nil, false
45186}
45187
45188// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45189func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
45190	return nil, false
45191}
45192
45193// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45194func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
45195	return nil, false
45196}
45197
45198// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45199func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
45200	return nil, false
45201}
45202
45203// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45204func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
45205	return nil, false
45206}
45207
45208// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45209func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
45210	return nil, false
45211}
45212
45213// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45214func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
45215	return nil, false
45216}
45217
45218// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45219func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
45220	return nil, false
45221}
45222
45223// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45224func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
45225	return nil, false
45226}
45227
45228// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45229func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
45230	return nil, false
45231}
45232
45233// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45234func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
45235	return nil, false
45236}
45237
45238// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45239func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
45240	return nil, false
45241}
45242
45243// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45244func (srhrce StatefulReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
45245	return nil, false
45246}
45247
45248// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45249func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
45250	return nil, false
45251}
45252
45253// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45254func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
45255	return nil, false
45256}
45257
45258// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45259func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
45260	return nil, false
45261}
45262
45263// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45264func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
45265	return nil, false
45266}
45267
45268// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45269func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
45270	return nil, false
45271}
45272
45273// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45274func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
45275	return nil, false
45276}
45277
45278// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45279func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
45280	return nil, false
45281}
45282
45283// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45284func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
45285	return nil, false
45286}
45287
45288// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45289func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
45290	return nil, false
45291}
45292
45293// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45294func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
45295	return nil, false
45296}
45297
45298// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45299func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
45300	return nil, false
45301}
45302
45303// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45304func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
45305	return nil, false
45306}
45307
45308// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45309func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
45310	return nil, false
45311}
45312
45313// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45314func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
45315	return nil, false
45316}
45317
45318// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45319func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
45320	return nil, false
45321}
45322
45323// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45324func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
45325	return nil, false
45326}
45327
45328// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45329func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
45330	return nil, false
45331}
45332
45333// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45334func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
45335	return nil, false
45336}
45337
45338// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45339func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
45340	return nil, false
45341}
45342
45343// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45344func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
45345	return nil, false
45346}
45347
45348// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45349func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
45350	return nil, false
45351}
45352
45353// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45354func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
45355	return nil, false
45356}
45357
45358// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45359func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
45360	return nil, false
45361}
45362
45363// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45364func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
45365	return nil, false
45366}
45367
45368// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45369func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
45370	return nil, false
45371}
45372
45373// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45374func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
45375	return nil, false
45376}
45377
45378// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45379func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
45380	return &srhrce, true
45381}
45382
45383// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45384func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
45385	return nil, false
45386}
45387
45388// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45389func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
45390	return nil, false
45391}
45392
45393// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45394func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
45395	return nil, false
45396}
45397
45398// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45399func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
45400	return nil, false
45401}
45402
45403// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45404func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
45405	return nil, false
45406}
45407
45408// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45409func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
45410	return nil, false
45411}
45412
45413// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45414func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
45415	return nil, false
45416}
45417
45418// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45419func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
45420	return nil, false
45421}
45422
45423// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45424func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
45425	return nil, false
45426}
45427
45428// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45429func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
45430	return nil, false
45431}
45432
45433// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45434func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
45435	return nil, false
45436}
45437
45438// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45439func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
45440	return nil, false
45441}
45442
45443// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45444func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
45445	return nil, false
45446}
45447
45448// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45449func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
45450	return nil, false
45451}
45452
45453// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45454func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
45455	return nil, false
45456}
45457
45458// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45459func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
45460	return nil, false
45461}
45462
45463// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45464func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
45465	return nil, false
45466}
45467
45468// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45469func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
45470	return nil, false
45471}
45472
45473// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45474func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
45475	return nil, false
45476}
45477
45478// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45479func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
45480	return nil, false
45481}
45482
45483// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45484func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
45485	return nil, false
45486}
45487
45488// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45489func (srhrce StatefulReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
45490	return nil, false
45491}
45492
45493// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
45494func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
45495	return &srhrce, true
45496}
45497
45498// StatefulReplicaHealthReportExpiredEvent stateful Replica Health Report Expired event.
45499type StatefulReplicaHealthReportExpiredEvent struct {
45500	// ReplicaInstanceID - Id of Replica instance.
45501	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
45502	// SourceID - Id of report source.
45503	SourceID *string `json:"SourceId,omitempty"`
45504	// Property - Describes the property.
45505	Property *string `json:"Property,omitempty"`
45506	// HealthState - Describes the property health state.
45507	HealthState *string `json:"HealthState,omitempty"`
45508	// TimeToLiveMs - Time to live in milli-seconds.
45509	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
45510	// SequenceNumber - Sequence number of report.
45511	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
45512	// Description - Description of report.
45513	Description *string `json:"Description,omitempty"`
45514	// RemoveWhenExpired - Indicates the removal when it expires.
45515	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
45516	// SourceUtcTimestamp - Source time.
45517	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
45518	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
45519	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
45520	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
45521	ReplicaID *int64 `json:"ReplicaId,omitempty"`
45522	// EventInstanceID - The identifier for the FabricEvent instance.
45523	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
45524	// TimeStamp - The time event was logged.
45525	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
45526	// HasCorrelatedEvents - Shows there is existing related events available.
45527	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
45528	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
45529	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
45530}
45531
45532// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportExpiredEvent.
45533func (srhree StatefulReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
45534	srhree.Kind = KindStatefulReplicaHealthReportExpired
45535	objectMap := make(map[string]interface{})
45536	if srhree.ReplicaInstanceID != nil {
45537		objectMap["ReplicaInstanceId"] = srhree.ReplicaInstanceID
45538	}
45539	if srhree.SourceID != nil {
45540		objectMap["SourceId"] = srhree.SourceID
45541	}
45542	if srhree.Property != nil {
45543		objectMap["Property"] = srhree.Property
45544	}
45545	if srhree.HealthState != nil {
45546		objectMap["HealthState"] = srhree.HealthState
45547	}
45548	if srhree.TimeToLiveMs != nil {
45549		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
45550	}
45551	if srhree.SequenceNumber != nil {
45552		objectMap["SequenceNumber"] = srhree.SequenceNumber
45553	}
45554	if srhree.Description != nil {
45555		objectMap["Description"] = srhree.Description
45556	}
45557	if srhree.RemoveWhenExpired != nil {
45558		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
45559	}
45560	if srhree.SourceUtcTimestamp != nil {
45561		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
45562	}
45563	if srhree.PartitionID != nil {
45564		objectMap["PartitionId"] = srhree.PartitionID
45565	}
45566	if srhree.ReplicaID != nil {
45567		objectMap["ReplicaId"] = srhree.ReplicaID
45568	}
45569	if srhree.EventInstanceID != nil {
45570		objectMap["EventInstanceId"] = srhree.EventInstanceID
45571	}
45572	if srhree.TimeStamp != nil {
45573		objectMap["TimeStamp"] = srhree.TimeStamp
45574	}
45575	if srhree.HasCorrelatedEvents != nil {
45576		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
45577	}
45578	if srhree.Kind != "" {
45579		objectMap["Kind"] = srhree.Kind
45580	}
45581	return json.Marshal(objectMap)
45582}
45583
45584// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45585func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
45586	return nil, false
45587}
45588
45589// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45590func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
45591	return nil, false
45592}
45593
45594// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45595func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
45596	return nil, false
45597}
45598
45599// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45600func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
45601	return nil, false
45602}
45603
45604// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45605func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
45606	return nil, false
45607}
45608
45609// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45610func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
45611	return nil, false
45612}
45613
45614// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45615func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
45616	return nil, false
45617}
45618
45619// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45620func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
45621	return nil, false
45622}
45623
45624// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45625func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
45626	return nil, false
45627}
45628
45629// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45630func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
45631	return nil, false
45632}
45633
45634// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45635func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
45636	return nil, false
45637}
45638
45639// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45640func (srhree StatefulReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
45641	return nil, false
45642}
45643
45644// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45645func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
45646	return &srhree, true
45647}
45648
45649// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45650func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
45651	return nil, false
45652}
45653
45654// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45655func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
45656	return nil, false
45657}
45658
45659// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45660func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
45661	return nil, false
45662}
45663
45664// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45665func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
45666	return nil, false
45667}
45668
45669// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45670func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
45671	return nil, false
45672}
45673
45674// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45675func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
45676	return nil, false
45677}
45678
45679// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45680func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
45681	return nil, false
45682}
45683
45684// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45685func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
45686	return nil, false
45687}
45688
45689// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45690func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
45691	return nil, false
45692}
45693
45694// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45695func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
45696	return nil, false
45697}
45698
45699// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45700func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
45701	return nil, false
45702}
45703
45704// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45705func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
45706	return nil, false
45707}
45708
45709// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45710func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
45711	return nil, false
45712}
45713
45714// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45715func (srhree StatefulReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
45716	return nil, false
45717}
45718
45719// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45720func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
45721	return nil, false
45722}
45723
45724// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45725func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
45726	return nil, false
45727}
45728
45729// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45730func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
45731	return nil, false
45732}
45733
45734// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45735func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
45736	return nil, false
45737}
45738
45739// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45740func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
45741	return nil, false
45742}
45743
45744// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45745func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
45746	return nil, false
45747}
45748
45749// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45750func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
45751	return nil, false
45752}
45753
45754// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45755func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
45756	return nil, false
45757}
45758
45759// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45760func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
45761	return nil, false
45762}
45763
45764// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45765func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
45766	return nil, false
45767}
45768
45769// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45770func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
45771	return nil, false
45772}
45773
45774// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45775func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
45776	return nil, false
45777}
45778
45779// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45780func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
45781	return nil, false
45782}
45783
45784// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45785func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
45786	return nil, false
45787}
45788
45789// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45790func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
45791	return nil, false
45792}
45793
45794// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45795func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
45796	return nil, false
45797}
45798
45799// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45800func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
45801	return nil, false
45802}
45803
45804// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45805func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
45806	return nil, false
45807}
45808
45809// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45810func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
45811	return nil, false
45812}
45813
45814// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45815func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
45816	return nil, false
45817}
45818
45819// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45820func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
45821	return nil, false
45822}
45823
45824// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45825func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
45826	return nil, false
45827}
45828
45829// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45830func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
45831	return nil, false
45832}
45833
45834// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45835func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
45836	return nil, false
45837}
45838
45839// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45840func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
45841	return nil, false
45842}
45843
45844// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45845func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
45846	return nil, false
45847}
45848
45849// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45850func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
45851	return nil, false
45852}
45853
45854// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45855func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
45856	return &srhree, true
45857}
45858
45859// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45860func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
45861	return nil, false
45862}
45863
45864// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45865func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
45866	return nil, false
45867}
45868
45869// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45870func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
45871	return nil, false
45872}
45873
45874// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45875func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
45876	return nil, false
45877}
45878
45879// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45880func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
45881	return nil, false
45882}
45883
45884// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45885func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
45886	return nil, false
45887}
45888
45889// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45890func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
45891	return nil, false
45892}
45893
45894// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45895func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
45896	return nil, false
45897}
45898
45899// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45900func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
45901	return nil, false
45902}
45903
45904// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45905func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
45906	return nil, false
45907}
45908
45909// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45910func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
45911	return nil, false
45912}
45913
45914// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45915func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
45916	return nil, false
45917}
45918
45919// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45920func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
45921	return nil, false
45922}
45923
45924// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45925func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
45926	return nil, false
45927}
45928
45929// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45930func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
45931	return nil, false
45932}
45933
45934// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45935func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
45936	return nil, false
45937}
45938
45939// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45940func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
45941	return nil, false
45942}
45943
45944// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45945func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
45946	return nil, false
45947}
45948
45949// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45950func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
45951	return nil, false
45952}
45953
45954// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45955func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
45956	return nil, false
45957}
45958
45959// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45960func (srhree StatefulReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
45961	return nil, false
45962}
45963
45964// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45965func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
45966	return &srhree, true
45967}
45968
45969// StatefulServiceDescription describes a stateful service.
45970type StatefulServiceDescription struct {
45971	// TargetReplicaSetSize - The target replica set size as a number.
45972	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
45973	// MinReplicaSetSize - The minimum replica set size as a number.
45974	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
45975	// HasPersistedState - A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false.
45976	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
45977	// Flags - Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.
45978	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
45979	// For example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.
45980	// - None - Does not indicate any other properties are set. The value is zero.
45981	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.
45982	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.
45983	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.
45984	Flags *int32 `json:"Flags,omitempty"`
45985	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
45986	ReplicaRestartWaitDurationSeconds *int64 `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
45987	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
45988	QuorumLossWaitDurationSeconds *int64 `json:"QuorumLossWaitDurationSeconds,omitempty"`
45989	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
45990	StandByReplicaKeepDurationSeconds *int64 `json:"StandByReplicaKeepDurationSeconds,omitempty"`
45991	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
45992	ApplicationName *string `json:"ApplicationName,omitempty"`
45993	// ServiceName - The full name of the service with 'fabric:' URI scheme.
45994	ServiceName *string `json:"ServiceName,omitempty"`
45995	// ServiceTypeName - Name of the service type as specified in the service manifest.
45996	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
45997	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
45998	InitializationData *[]int32 `json:"InitializationData,omitempty"`
45999	// PartitionDescription - The partition description as an object.
46000	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
46001	// PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
46002	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
46003	// CorrelationScheme - The correlation scheme.
46004	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
46005	// ServiceLoadMetrics - The service load metrics.
46006	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
46007	// ServicePlacementPolicies - The service placement policies.
46008	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
46009	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
46010	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
46011	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
46012	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
46013	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
46014	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
46015	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
46016	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
46017	// ScalingPolicies - Scaling policies for this service.
46018	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
46019	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
46020	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
46021}
46022
46023// MarshalJSON is the custom marshaler for StatefulServiceDescription.
46024func (ssd StatefulServiceDescription) MarshalJSON() ([]byte, error) {
46025	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateful
46026	objectMap := make(map[string]interface{})
46027	if ssd.TargetReplicaSetSize != nil {
46028		objectMap["TargetReplicaSetSize"] = ssd.TargetReplicaSetSize
46029	}
46030	if ssd.MinReplicaSetSize != nil {
46031		objectMap["MinReplicaSetSize"] = ssd.MinReplicaSetSize
46032	}
46033	if ssd.HasPersistedState != nil {
46034		objectMap["HasPersistedState"] = ssd.HasPersistedState
46035	}
46036	if ssd.Flags != nil {
46037		objectMap["Flags"] = ssd.Flags
46038	}
46039	if ssd.ReplicaRestartWaitDurationSeconds != nil {
46040		objectMap["ReplicaRestartWaitDurationSeconds"] = ssd.ReplicaRestartWaitDurationSeconds
46041	}
46042	if ssd.QuorumLossWaitDurationSeconds != nil {
46043		objectMap["QuorumLossWaitDurationSeconds"] = ssd.QuorumLossWaitDurationSeconds
46044	}
46045	if ssd.StandByReplicaKeepDurationSeconds != nil {
46046		objectMap["StandByReplicaKeepDurationSeconds"] = ssd.StandByReplicaKeepDurationSeconds
46047	}
46048	if ssd.ApplicationName != nil {
46049		objectMap["ApplicationName"] = ssd.ApplicationName
46050	}
46051	if ssd.ServiceName != nil {
46052		objectMap["ServiceName"] = ssd.ServiceName
46053	}
46054	if ssd.ServiceTypeName != nil {
46055		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
46056	}
46057	if ssd.InitializationData != nil {
46058		objectMap["InitializationData"] = ssd.InitializationData
46059	}
46060	objectMap["PartitionDescription"] = ssd.PartitionDescription
46061	if ssd.PlacementConstraints != nil {
46062		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
46063	}
46064	if ssd.CorrelationScheme != nil {
46065		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
46066	}
46067	if ssd.ServiceLoadMetrics != nil {
46068		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
46069	}
46070	if ssd.ServicePlacementPolicies != nil {
46071		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
46072	}
46073	if ssd.DefaultMoveCost != "" {
46074		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
46075	}
46076	if ssd.IsDefaultMoveCostSpecified != nil {
46077		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
46078	}
46079	if ssd.ServicePackageActivationMode != "" {
46080		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
46081	}
46082	if ssd.ServiceDNSName != nil {
46083		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
46084	}
46085	if ssd.ScalingPolicies != nil {
46086		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
46087	}
46088	if ssd.ServiceKind != "" {
46089		objectMap["ServiceKind"] = ssd.ServiceKind
46090	}
46091	return json.Marshal(objectMap)
46092}
46093
46094// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
46095func (ssd StatefulServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
46096	return &ssd, true
46097}
46098
46099// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
46100func (ssd StatefulServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
46101	return nil, false
46102}
46103
46104// AsServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
46105func (ssd StatefulServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
46106	return nil, false
46107}
46108
46109// AsBasicServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
46110func (ssd StatefulServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
46111	return &ssd, true
46112}
46113
46114// UnmarshalJSON is the custom unmarshaler for StatefulServiceDescription struct.
46115func (ssd *StatefulServiceDescription) UnmarshalJSON(body []byte) error {
46116	var m map[string]*json.RawMessage
46117	err := json.Unmarshal(body, &m)
46118	if err != nil {
46119		return err
46120	}
46121	for k, v := range m {
46122		switch k {
46123		case "TargetReplicaSetSize":
46124			if v != nil {
46125				var targetReplicaSetSize int32
46126				err = json.Unmarshal(*v, &targetReplicaSetSize)
46127				if err != nil {
46128					return err
46129				}
46130				ssd.TargetReplicaSetSize = &targetReplicaSetSize
46131			}
46132		case "MinReplicaSetSize":
46133			if v != nil {
46134				var minReplicaSetSize int32
46135				err = json.Unmarshal(*v, &minReplicaSetSize)
46136				if err != nil {
46137					return err
46138				}
46139				ssd.MinReplicaSetSize = &minReplicaSetSize
46140			}
46141		case "HasPersistedState":
46142			if v != nil {
46143				var hasPersistedState bool
46144				err = json.Unmarshal(*v, &hasPersistedState)
46145				if err != nil {
46146					return err
46147				}
46148				ssd.HasPersistedState = &hasPersistedState
46149			}
46150		case "Flags":
46151			if v != nil {
46152				var flags int32
46153				err = json.Unmarshal(*v, &flags)
46154				if err != nil {
46155					return err
46156				}
46157				ssd.Flags = &flags
46158			}
46159		case "ReplicaRestartWaitDurationSeconds":
46160			if v != nil {
46161				var replicaRestartWaitDurationSeconds int64
46162				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
46163				if err != nil {
46164					return err
46165				}
46166				ssd.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
46167			}
46168		case "QuorumLossWaitDurationSeconds":
46169			if v != nil {
46170				var quorumLossWaitDurationSeconds int64
46171				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
46172				if err != nil {
46173					return err
46174				}
46175				ssd.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
46176			}
46177		case "StandByReplicaKeepDurationSeconds":
46178			if v != nil {
46179				var standByReplicaKeepDurationSeconds int64
46180				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
46181				if err != nil {
46182					return err
46183				}
46184				ssd.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
46185			}
46186		case "ApplicationName":
46187			if v != nil {
46188				var applicationName string
46189				err = json.Unmarshal(*v, &applicationName)
46190				if err != nil {
46191					return err
46192				}
46193				ssd.ApplicationName = &applicationName
46194			}
46195		case "ServiceName":
46196			if v != nil {
46197				var serviceName string
46198				err = json.Unmarshal(*v, &serviceName)
46199				if err != nil {
46200					return err
46201				}
46202				ssd.ServiceName = &serviceName
46203			}
46204		case "ServiceTypeName":
46205			if v != nil {
46206				var serviceTypeName string
46207				err = json.Unmarshal(*v, &serviceTypeName)
46208				if err != nil {
46209					return err
46210				}
46211				ssd.ServiceTypeName = &serviceTypeName
46212			}
46213		case "InitializationData":
46214			if v != nil {
46215				var initializationData []int32
46216				err = json.Unmarshal(*v, &initializationData)
46217				if err != nil {
46218					return err
46219				}
46220				ssd.InitializationData = &initializationData
46221			}
46222		case "PartitionDescription":
46223			if v != nil {
46224				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
46225				if err != nil {
46226					return err
46227				}
46228				ssd.PartitionDescription = partitionDescription
46229			}
46230		case "PlacementConstraints":
46231			if v != nil {
46232				var placementConstraints string
46233				err = json.Unmarshal(*v, &placementConstraints)
46234				if err != nil {
46235					return err
46236				}
46237				ssd.PlacementConstraints = &placementConstraints
46238			}
46239		case "CorrelationScheme":
46240			if v != nil {
46241				var correlationScheme []ServiceCorrelationDescription
46242				err = json.Unmarshal(*v, &correlationScheme)
46243				if err != nil {
46244					return err
46245				}
46246				ssd.CorrelationScheme = &correlationScheme
46247			}
46248		case "ServiceLoadMetrics":
46249			if v != nil {
46250				var serviceLoadMetrics []ServiceLoadMetricDescription
46251				err = json.Unmarshal(*v, &serviceLoadMetrics)
46252				if err != nil {
46253					return err
46254				}
46255				ssd.ServiceLoadMetrics = &serviceLoadMetrics
46256			}
46257		case "ServicePlacementPolicies":
46258			if v != nil {
46259				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
46260				if err != nil {
46261					return err
46262				}
46263				ssd.ServicePlacementPolicies = &servicePlacementPolicies
46264			}
46265		case "DefaultMoveCost":
46266			if v != nil {
46267				var defaultMoveCost MoveCost
46268				err = json.Unmarshal(*v, &defaultMoveCost)
46269				if err != nil {
46270					return err
46271				}
46272				ssd.DefaultMoveCost = defaultMoveCost
46273			}
46274		case "IsDefaultMoveCostSpecified":
46275			if v != nil {
46276				var isDefaultMoveCostSpecified bool
46277				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
46278				if err != nil {
46279					return err
46280				}
46281				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
46282			}
46283		case "ServicePackageActivationMode":
46284			if v != nil {
46285				var servicePackageActivationMode ServicePackageActivationMode
46286				err = json.Unmarshal(*v, &servicePackageActivationMode)
46287				if err != nil {
46288					return err
46289				}
46290				ssd.ServicePackageActivationMode = servicePackageActivationMode
46291			}
46292		case "ServiceDnsName":
46293			if v != nil {
46294				var serviceDNSName string
46295				err = json.Unmarshal(*v, &serviceDNSName)
46296				if err != nil {
46297					return err
46298				}
46299				ssd.ServiceDNSName = &serviceDNSName
46300			}
46301		case "ScalingPolicies":
46302			if v != nil {
46303				var scalingPolicies []ScalingPolicyDescription
46304				err = json.Unmarshal(*v, &scalingPolicies)
46305				if err != nil {
46306					return err
46307				}
46308				ssd.ScalingPolicies = &scalingPolicies
46309			}
46310		case "ServiceKind":
46311			if v != nil {
46312				var serviceKind ServiceKindBasicServiceDescription
46313				err = json.Unmarshal(*v, &serviceKind)
46314				if err != nil {
46315					return err
46316				}
46317				ssd.ServiceKind = serviceKind
46318			}
46319		}
46320	}
46321
46322	return nil
46323}
46324
46325// StatefulServiceInfo information about a stateful Service Fabric service.
46326type StatefulServiceInfo struct {
46327	// HasPersistedState - Whether the service has persisted state.
46328	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
46329	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
46330	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
46331	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
46332	ID *string `json:"Id,omitempty"`
46333	// Name - The full name of the service with 'fabric:' URI scheme.
46334	Name *string `json:"Name,omitempty"`
46335	// TypeName - Name of the service type as specified in the service manifest.
46336	TypeName *string `json:"TypeName,omitempty"`
46337	// ManifestVersion - The version of the service manifest.
46338	ManifestVersion *string `json:"ManifestVersion,omitempty"`
46339	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
46340	HealthState HealthState `json:"HealthState,omitempty"`
46341	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
46342	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
46343	// IsServiceGroup - Whether the service is in a service group.
46344	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
46345	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
46346	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
46347}
46348
46349// MarshalJSON is the custom marshaler for StatefulServiceInfo.
46350func (ssi StatefulServiceInfo) MarshalJSON() ([]byte, error) {
46351	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateful
46352	objectMap := make(map[string]interface{})
46353	if ssi.HasPersistedState != nil {
46354		objectMap["HasPersistedState"] = ssi.HasPersistedState
46355	}
46356	if ssi.ID != nil {
46357		objectMap["Id"] = ssi.ID
46358	}
46359	if ssi.Name != nil {
46360		objectMap["Name"] = ssi.Name
46361	}
46362	if ssi.TypeName != nil {
46363		objectMap["TypeName"] = ssi.TypeName
46364	}
46365	if ssi.ManifestVersion != nil {
46366		objectMap["ManifestVersion"] = ssi.ManifestVersion
46367	}
46368	if ssi.HealthState != "" {
46369		objectMap["HealthState"] = ssi.HealthState
46370	}
46371	if ssi.ServiceStatus != "" {
46372		objectMap["ServiceStatus"] = ssi.ServiceStatus
46373	}
46374	if ssi.IsServiceGroup != nil {
46375		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
46376	}
46377	if ssi.ServiceKind != "" {
46378		objectMap["ServiceKind"] = ssi.ServiceKind
46379	}
46380	return json.Marshal(objectMap)
46381}
46382
46383// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
46384func (ssi StatefulServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
46385	return &ssi, true
46386}
46387
46388// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
46389func (ssi StatefulServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
46390	return nil, false
46391}
46392
46393// AsServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
46394func (ssi StatefulServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
46395	return nil, false
46396}
46397
46398// AsBasicServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
46399func (ssi StatefulServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
46400	return &ssi, true
46401}
46402
46403// StatefulServicePartitionInfo information about a partition of a stateful Service Fabric service..
46404type StatefulServicePartitionInfo struct {
46405	// TargetReplicaSetSize - The target replica set size as a number.
46406	TargetReplicaSetSize *int64 `json:"TargetReplicaSetSize,omitempty"`
46407	// MinReplicaSetSize - The minimum replica set size as a number.
46408	MinReplicaSetSize *int64 `json:"MinReplicaSetSize,omitempty"`
46409	// LastQuorumLossDuration - The duration for which this partition was in quorum loss. If the partition is currently in quorum loss, it returns the duration since it has been in that state. This field is using ISO8601 format for specifying the duration.
46410	LastQuorumLossDuration *string `json:"LastQuorumLossDuration,omitempty"`
46411	// CurrentConfigurationEpoch - An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica.
46412	CurrentConfigurationEpoch *Epoch `json:"CurrentConfigurationEpoch,omitempty"`
46413	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
46414	HealthState HealthState `json:"HealthState,omitempty"`
46415	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
46416	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
46417	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
46418	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
46419	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
46420	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
46421}
46422
46423// MarshalJSON is the custom marshaler for StatefulServicePartitionInfo.
46424func (sspi StatefulServicePartitionInfo) MarshalJSON() ([]byte, error) {
46425	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateful
46426	objectMap := make(map[string]interface{})
46427	if sspi.TargetReplicaSetSize != nil {
46428		objectMap["TargetReplicaSetSize"] = sspi.TargetReplicaSetSize
46429	}
46430	if sspi.MinReplicaSetSize != nil {
46431		objectMap["MinReplicaSetSize"] = sspi.MinReplicaSetSize
46432	}
46433	if sspi.LastQuorumLossDuration != nil {
46434		objectMap["LastQuorumLossDuration"] = sspi.LastQuorumLossDuration
46435	}
46436	if sspi.CurrentConfigurationEpoch != nil {
46437		objectMap["CurrentConfigurationEpoch"] = sspi.CurrentConfigurationEpoch
46438	}
46439	if sspi.HealthState != "" {
46440		objectMap["HealthState"] = sspi.HealthState
46441	}
46442	if sspi.PartitionStatus != "" {
46443		objectMap["PartitionStatus"] = sspi.PartitionStatus
46444	}
46445	objectMap["PartitionInformation"] = sspi.PartitionInformation
46446	if sspi.ServiceKind != "" {
46447		objectMap["ServiceKind"] = sspi.ServiceKind
46448	}
46449	return json.Marshal(objectMap)
46450}
46451
46452// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
46453func (sspi StatefulServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
46454	return &sspi, true
46455}
46456
46457// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
46458func (sspi StatefulServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
46459	return nil, false
46460}
46461
46462// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
46463func (sspi StatefulServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
46464	return nil, false
46465}
46466
46467// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
46468func (sspi StatefulServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
46469	return &sspi, true
46470}
46471
46472// UnmarshalJSON is the custom unmarshaler for StatefulServicePartitionInfo struct.
46473func (sspi *StatefulServicePartitionInfo) UnmarshalJSON(body []byte) error {
46474	var m map[string]*json.RawMessage
46475	err := json.Unmarshal(body, &m)
46476	if err != nil {
46477		return err
46478	}
46479	for k, v := range m {
46480		switch k {
46481		case "TargetReplicaSetSize":
46482			if v != nil {
46483				var targetReplicaSetSize int64
46484				err = json.Unmarshal(*v, &targetReplicaSetSize)
46485				if err != nil {
46486					return err
46487				}
46488				sspi.TargetReplicaSetSize = &targetReplicaSetSize
46489			}
46490		case "MinReplicaSetSize":
46491			if v != nil {
46492				var minReplicaSetSize int64
46493				err = json.Unmarshal(*v, &minReplicaSetSize)
46494				if err != nil {
46495					return err
46496				}
46497				sspi.MinReplicaSetSize = &minReplicaSetSize
46498			}
46499		case "LastQuorumLossDuration":
46500			if v != nil {
46501				var lastQuorumLossDuration string
46502				err = json.Unmarshal(*v, &lastQuorumLossDuration)
46503				if err != nil {
46504					return err
46505				}
46506				sspi.LastQuorumLossDuration = &lastQuorumLossDuration
46507			}
46508		case "CurrentConfigurationEpoch":
46509			if v != nil {
46510				var currentConfigurationEpoch Epoch
46511				err = json.Unmarshal(*v, &currentConfigurationEpoch)
46512				if err != nil {
46513					return err
46514				}
46515				sspi.CurrentConfigurationEpoch = &currentConfigurationEpoch
46516			}
46517		case "HealthState":
46518			if v != nil {
46519				var healthState HealthState
46520				err = json.Unmarshal(*v, &healthState)
46521				if err != nil {
46522					return err
46523				}
46524				sspi.HealthState = healthState
46525			}
46526		case "PartitionStatus":
46527			if v != nil {
46528				var partitionStatus ServicePartitionStatus
46529				err = json.Unmarshal(*v, &partitionStatus)
46530				if err != nil {
46531					return err
46532				}
46533				sspi.PartitionStatus = partitionStatus
46534			}
46535		case "PartitionInformation":
46536			if v != nil {
46537				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
46538				if err != nil {
46539					return err
46540				}
46541				sspi.PartitionInformation = partitionInformation
46542			}
46543		case "ServiceKind":
46544			if v != nil {
46545				var serviceKind ServiceKindBasicServicePartitionInfo
46546				err = json.Unmarshal(*v, &serviceKind)
46547				if err != nil {
46548					return err
46549				}
46550				sspi.ServiceKind = serviceKind
46551			}
46552		}
46553	}
46554
46555	return nil
46556}
46557
46558// StatefulServiceReplicaHealth represents the health of the stateful service replica.
46559// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
46560type StatefulServiceReplicaHealth struct {
46561	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
46562	ReplicaID *string `json:"ReplicaId,omitempty"`
46563	// PartitionID - Id of the partition to which this replica belongs.
46564	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
46565	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
46566	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
46567	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
46568	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
46569	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
46570	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
46571	// HealthEvents - The list of health events reported on the entity.
46572	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
46573	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
46574	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
46575	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
46576	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
46577}
46578
46579// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealth.
46580func (ssrh StatefulServiceReplicaHealth) MarshalJSON() ([]byte, error) {
46581	ssrh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateful
46582	objectMap := make(map[string]interface{})
46583	if ssrh.ReplicaID != nil {
46584		objectMap["ReplicaId"] = ssrh.ReplicaID
46585	}
46586	if ssrh.PartitionID != nil {
46587		objectMap["PartitionId"] = ssrh.PartitionID
46588	}
46589	if ssrh.ServiceKind != "" {
46590		objectMap["ServiceKind"] = ssrh.ServiceKind
46591	}
46592	if ssrh.AggregatedHealthState != "" {
46593		objectMap["AggregatedHealthState"] = ssrh.AggregatedHealthState
46594	}
46595	if ssrh.HealthEvents != nil {
46596		objectMap["HealthEvents"] = ssrh.HealthEvents
46597	}
46598	if ssrh.UnhealthyEvaluations != nil {
46599		objectMap["UnhealthyEvaluations"] = ssrh.UnhealthyEvaluations
46600	}
46601	if ssrh.HealthStatistics != nil {
46602		objectMap["HealthStatistics"] = ssrh.HealthStatistics
46603	}
46604	return json.Marshal(objectMap)
46605}
46606
46607// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46608func (ssrh StatefulServiceReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
46609	return &ssrh, true
46610}
46611
46612// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46613func (ssrh StatefulServiceReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
46614	return nil, false
46615}
46616
46617// AsReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46618func (ssrh StatefulServiceReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
46619	return nil, false
46620}
46621
46622// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46623func (ssrh StatefulServiceReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
46624	return &ssrh, true
46625}
46626
46627// StatefulServiceReplicaHealthState represents the health state of the stateful service replica, which
46628// contains the replica ID and the aggregated health state.
46629type StatefulServiceReplicaHealthState struct {
46630	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
46631	ReplicaID *string `json:"ReplicaId,omitempty"`
46632	// PartitionID - The ID of the partition to which this replica belongs.
46633	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
46634	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
46635	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
46636	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
46637	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
46638}
46639
46640// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealthState.
46641func (ssrhs StatefulServiceReplicaHealthState) MarshalJSON() ([]byte, error) {
46642	ssrhs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateful
46643	objectMap := make(map[string]interface{})
46644	if ssrhs.ReplicaID != nil {
46645		objectMap["ReplicaId"] = ssrhs.ReplicaID
46646	}
46647	if ssrhs.PartitionID != nil {
46648		objectMap["PartitionId"] = ssrhs.PartitionID
46649	}
46650	if ssrhs.ServiceKind != "" {
46651		objectMap["ServiceKind"] = ssrhs.ServiceKind
46652	}
46653	if ssrhs.AggregatedHealthState != "" {
46654		objectMap["AggregatedHealthState"] = ssrhs.AggregatedHealthState
46655	}
46656	return json.Marshal(objectMap)
46657}
46658
46659// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46660func (ssrhs StatefulServiceReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
46661	return &ssrhs, true
46662}
46663
46664// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46665func (ssrhs StatefulServiceReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
46666	return nil, false
46667}
46668
46669// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46670func (ssrhs StatefulServiceReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
46671	return nil, false
46672}
46673
46674// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46675func (ssrhs StatefulServiceReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
46676	return &ssrhs, true
46677}
46678
46679// StatefulServiceReplicaInfo represents a stateful service replica. This includes information about the
46680// identity, role, status, health, node name, uptime, and other details about the replica.
46681type StatefulServiceReplicaInfo struct {
46682	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
46683	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
46684	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
46685	ReplicaID *string `json:"ReplicaId,omitempty"`
46686	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
46687	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
46688	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
46689	HealthState HealthState `json:"HealthState,omitempty"`
46690	// NodeName - The name of a Service Fabric node.
46691	NodeName *string `json:"NodeName,omitempty"`
46692	// Address - The address the replica is listening on.
46693	Address *string `json:"Address,omitempty"`
46694	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
46695	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
46696	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
46697	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
46698}
46699
46700// MarshalJSON is the custom marshaler for StatefulServiceReplicaInfo.
46701func (ssri StatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
46702	ssri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateful
46703	objectMap := make(map[string]interface{})
46704	if ssri.ReplicaRole != "" {
46705		objectMap["ReplicaRole"] = ssri.ReplicaRole
46706	}
46707	if ssri.ReplicaID != nil {
46708		objectMap["ReplicaId"] = ssri.ReplicaID
46709	}
46710	if ssri.ReplicaStatus != "" {
46711		objectMap["ReplicaStatus"] = ssri.ReplicaStatus
46712	}
46713	if ssri.HealthState != "" {
46714		objectMap["HealthState"] = ssri.HealthState
46715	}
46716	if ssri.NodeName != nil {
46717		objectMap["NodeName"] = ssri.NodeName
46718	}
46719	if ssri.Address != nil {
46720		objectMap["Address"] = ssri.Address
46721	}
46722	if ssri.LastInBuildDurationInSeconds != nil {
46723		objectMap["LastInBuildDurationInSeconds"] = ssri.LastInBuildDurationInSeconds
46724	}
46725	if ssri.ServiceKind != "" {
46726		objectMap["ServiceKind"] = ssri.ServiceKind
46727	}
46728	return json.Marshal(objectMap)
46729}
46730
46731// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46732func (ssri StatefulServiceReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
46733	return &ssri, true
46734}
46735
46736// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46737func (ssri StatefulServiceReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
46738	return nil, false
46739}
46740
46741// AsReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46742func (ssri StatefulServiceReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
46743	return nil, false
46744}
46745
46746// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46747func (ssri StatefulServiceReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
46748	return &ssri, true
46749}
46750
46751// StatefulServiceTypeDescription describes a stateful service type defined in the service manifest of a
46752// provisioned application type.
46753type StatefulServiceTypeDescription struct {
46754	// HasPersistedState - A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false.
46755	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
46756	// IsStateful - Indicates whether the service type is a stateful service type or a stateless service type. This property is true if the service type is a stateful service type, false otherwise.
46757	IsStateful *bool `json:"IsStateful,omitempty"`
46758	// ServiceTypeName - Name of the service type as specified in the service manifest.
46759	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
46760	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
46761	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
46762	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
46763	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
46764	// ServicePlacementPolicies - List of service placement policy descriptions.
46765	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
46766	// Extensions - List of service type extensions.
46767	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
46768	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
46769	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
46770}
46771
46772// MarshalJSON is the custom marshaler for StatefulServiceTypeDescription.
46773func (sstd StatefulServiceTypeDescription) MarshalJSON() ([]byte, error) {
46774	sstd.Kind = KindStateful
46775	objectMap := make(map[string]interface{})
46776	if sstd.HasPersistedState != nil {
46777		objectMap["HasPersistedState"] = sstd.HasPersistedState
46778	}
46779	if sstd.IsStateful != nil {
46780		objectMap["IsStateful"] = sstd.IsStateful
46781	}
46782	if sstd.ServiceTypeName != nil {
46783		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
46784	}
46785	if sstd.PlacementConstraints != nil {
46786		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
46787	}
46788	if sstd.LoadMetrics != nil {
46789		objectMap["LoadMetrics"] = sstd.LoadMetrics
46790	}
46791	if sstd.ServicePlacementPolicies != nil {
46792		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
46793	}
46794	if sstd.Extensions != nil {
46795		objectMap["Extensions"] = sstd.Extensions
46796	}
46797	if sstd.Kind != "" {
46798		objectMap["Kind"] = sstd.Kind
46799	}
46800	return json.Marshal(objectMap)
46801}
46802
46803// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46804func (sstd StatefulServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
46805	return &sstd, true
46806}
46807
46808// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46809func (sstd StatefulServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
46810	return nil, false
46811}
46812
46813// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46814func (sstd StatefulServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
46815	return nil, false
46816}
46817
46818// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46819func (sstd StatefulServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
46820	return &sstd, true
46821}
46822
46823// UnmarshalJSON is the custom unmarshaler for StatefulServiceTypeDescription struct.
46824func (sstd *StatefulServiceTypeDescription) UnmarshalJSON(body []byte) error {
46825	var m map[string]*json.RawMessage
46826	err := json.Unmarshal(body, &m)
46827	if err != nil {
46828		return err
46829	}
46830	for k, v := range m {
46831		switch k {
46832		case "HasPersistedState":
46833			if v != nil {
46834				var hasPersistedState bool
46835				err = json.Unmarshal(*v, &hasPersistedState)
46836				if err != nil {
46837					return err
46838				}
46839				sstd.HasPersistedState = &hasPersistedState
46840			}
46841		case "IsStateful":
46842			if v != nil {
46843				var isStateful bool
46844				err = json.Unmarshal(*v, &isStateful)
46845				if err != nil {
46846					return err
46847				}
46848				sstd.IsStateful = &isStateful
46849			}
46850		case "ServiceTypeName":
46851			if v != nil {
46852				var serviceTypeName string
46853				err = json.Unmarshal(*v, &serviceTypeName)
46854				if err != nil {
46855					return err
46856				}
46857				sstd.ServiceTypeName = &serviceTypeName
46858			}
46859		case "PlacementConstraints":
46860			if v != nil {
46861				var placementConstraints string
46862				err = json.Unmarshal(*v, &placementConstraints)
46863				if err != nil {
46864					return err
46865				}
46866				sstd.PlacementConstraints = &placementConstraints
46867			}
46868		case "LoadMetrics":
46869			if v != nil {
46870				var loadMetrics []ServiceLoadMetricDescription
46871				err = json.Unmarshal(*v, &loadMetrics)
46872				if err != nil {
46873					return err
46874				}
46875				sstd.LoadMetrics = &loadMetrics
46876			}
46877		case "ServicePlacementPolicies":
46878			if v != nil {
46879				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
46880				if err != nil {
46881					return err
46882				}
46883				sstd.ServicePlacementPolicies = &servicePlacementPolicies
46884			}
46885		case "Extensions":
46886			if v != nil {
46887				var extensions []ServiceTypeExtensionDescription
46888				err = json.Unmarshal(*v, &extensions)
46889				if err != nil {
46890					return err
46891				}
46892				sstd.Extensions = &extensions
46893			}
46894		case "Kind":
46895			if v != nil {
46896				var kind KindBasicServiceTypeDescription
46897				err = json.Unmarshal(*v, &kind)
46898				if err != nil {
46899					return err
46900				}
46901				sstd.Kind = kind
46902			}
46903		}
46904	}
46905
46906	return nil
46907}
46908
46909// StatefulServiceUpdateDescription describes an update for a stateful service.
46910type StatefulServiceUpdateDescription struct {
46911	// TargetReplicaSetSize - The target replica set size as a number.
46912	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
46913	// MinReplicaSetSize - The minimum replica set size as a number.
46914	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
46915	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
46916	ReplicaRestartWaitDurationSeconds *string `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
46917	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
46918	QuorumLossWaitDurationSeconds *string `json:"QuorumLossWaitDurationSeconds,omitempty"`
46919	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
46920	StandByReplicaKeepDurationSeconds *string `json:"StandByReplicaKeepDurationSeconds,omitempty"`
46921	// Flags - Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.
46922	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
46923	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
46924	// - None - Does not indicate any other properties are set. The value is zero.
46925	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
46926	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
46927	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
46928	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
46929	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
46930	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
46931	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
46932	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
46933	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
46934	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
46935	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
46936	Flags *string `json:"Flags,omitempty"`
46937	// PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
46938	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
46939	// CorrelationScheme - The correlation scheme.
46940	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
46941	// LoadMetrics - The service load metrics.
46942	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
46943	// ServicePlacementPolicies - The service placement policies.
46944	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
46945	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
46946	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
46947	// ScalingPolicies - Scaling policies for this service.
46948	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
46949	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
46950	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
46951}
46952
46953// MarshalJSON is the custom marshaler for StatefulServiceUpdateDescription.
46954func (ssud StatefulServiceUpdateDescription) MarshalJSON() ([]byte, error) {
46955	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateful
46956	objectMap := make(map[string]interface{})
46957	if ssud.TargetReplicaSetSize != nil {
46958		objectMap["TargetReplicaSetSize"] = ssud.TargetReplicaSetSize
46959	}
46960	if ssud.MinReplicaSetSize != nil {
46961		objectMap["MinReplicaSetSize"] = ssud.MinReplicaSetSize
46962	}
46963	if ssud.ReplicaRestartWaitDurationSeconds != nil {
46964		objectMap["ReplicaRestartWaitDurationSeconds"] = ssud.ReplicaRestartWaitDurationSeconds
46965	}
46966	if ssud.QuorumLossWaitDurationSeconds != nil {
46967		objectMap["QuorumLossWaitDurationSeconds"] = ssud.QuorumLossWaitDurationSeconds
46968	}
46969	if ssud.StandByReplicaKeepDurationSeconds != nil {
46970		objectMap["StandByReplicaKeepDurationSeconds"] = ssud.StandByReplicaKeepDurationSeconds
46971	}
46972	if ssud.Flags != nil {
46973		objectMap["Flags"] = ssud.Flags
46974	}
46975	if ssud.PlacementConstraints != nil {
46976		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
46977	}
46978	if ssud.CorrelationScheme != nil {
46979		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
46980	}
46981	if ssud.LoadMetrics != nil {
46982		objectMap["LoadMetrics"] = ssud.LoadMetrics
46983	}
46984	if ssud.ServicePlacementPolicies != nil {
46985		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
46986	}
46987	if ssud.DefaultMoveCost != "" {
46988		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
46989	}
46990	if ssud.ScalingPolicies != nil {
46991		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
46992	}
46993	if ssud.ServiceKind != "" {
46994		objectMap["ServiceKind"] = ssud.ServiceKind
46995	}
46996	return json.Marshal(objectMap)
46997}
46998
46999// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
47000func (ssud StatefulServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
47001	return &ssud, true
47002}
47003
47004// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
47005func (ssud StatefulServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
47006	return nil, false
47007}
47008
47009// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
47010func (ssud StatefulServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
47011	return nil, false
47012}
47013
47014// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
47015func (ssud StatefulServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
47016	return &ssud, true
47017}
47018
47019// UnmarshalJSON is the custom unmarshaler for StatefulServiceUpdateDescription struct.
47020func (ssud *StatefulServiceUpdateDescription) UnmarshalJSON(body []byte) error {
47021	var m map[string]*json.RawMessage
47022	err := json.Unmarshal(body, &m)
47023	if err != nil {
47024		return err
47025	}
47026	for k, v := range m {
47027		switch k {
47028		case "TargetReplicaSetSize":
47029			if v != nil {
47030				var targetReplicaSetSize int32
47031				err = json.Unmarshal(*v, &targetReplicaSetSize)
47032				if err != nil {
47033					return err
47034				}
47035				ssud.TargetReplicaSetSize = &targetReplicaSetSize
47036			}
47037		case "MinReplicaSetSize":
47038			if v != nil {
47039				var minReplicaSetSize int32
47040				err = json.Unmarshal(*v, &minReplicaSetSize)
47041				if err != nil {
47042					return err
47043				}
47044				ssud.MinReplicaSetSize = &minReplicaSetSize
47045			}
47046		case "ReplicaRestartWaitDurationSeconds":
47047			if v != nil {
47048				var replicaRestartWaitDurationSeconds string
47049				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
47050				if err != nil {
47051					return err
47052				}
47053				ssud.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
47054			}
47055		case "QuorumLossWaitDurationSeconds":
47056			if v != nil {
47057				var quorumLossWaitDurationSeconds string
47058				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
47059				if err != nil {
47060					return err
47061				}
47062				ssud.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
47063			}
47064		case "StandByReplicaKeepDurationSeconds":
47065			if v != nil {
47066				var standByReplicaKeepDurationSeconds string
47067				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
47068				if err != nil {
47069					return err
47070				}
47071				ssud.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
47072			}
47073		case "Flags":
47074			if v != nil {
47075				var flags string
47076				err = json.Unmarshal(*v, &flags)
47077				if err != nil {
47078					return err
47079				}
47080				ssud.Flags = &flags
47081			}
47082		case "PlacementConstraints":
47083			if v != nil {
47084				var placementConstraints string
47085				err = json.Unmarshal(*v, &placementConstraints)
47086				if err != nil {
47087					return err
47088				}
47089				ssud.PlacementConstraints = &placementConstraints
47090			}
47091		case "CorrelationScheme":
47092			if v != nil {
47093				var correlationScheme []ServiceCorrelationDescription
47094				err = json.Unmarshal(*v, &correlationScheme)
47095				if err != nil {
47096					return err
47097				}
47098				ssud.CorrelationScheme = &correlationScheme
47099			}
47100		case "LoadMetrics":
47101			if v != nil {
47102				var loadMetrics []ServiceLoadMetricDescription
47103				err = json.Unmarshal(*v, &loadMetrics)
47104				if err != nil {
47105					return err
47106				}
47107				ssud.LoadMetrics = &loadMetrics
47108			}
47109		case "ServicePlacementPolicies":
47110			if v != nil {
47111				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
47112				if err != nil {
47113					return err
47114				}
47115				ssud.ServicePlacementPolicies = &servicePlacementPolicies
47116			}
47117		case "DefaultMoveCost":
47118			if v != nil {
47119				var defaultMoveCost MoveCost
47120				err = json.Unmarshal(*v, &defaultMoveCost)
47121				if err != nil {
47122					return err
47123				}
47124				ssud.DefaultMoveCost = defaultMoveCost
47125			}
47126		case "ScalingPolicies":
47127			if v != nil {
47128				var scalingPolicies []ScalingPolicyDescription
47129				err = json.Unmarshal(*v, &scalingPolicies)
47130				if err != nil {
47131					return err
47132				}
47133				ssud.ScalingPolicies = &scalingPolicies
47134			}
47135		case "ServiceKind":
47136			if v != nil {
47137				var serviceKind ServiceKindBasicServiceUpdateDescription
47138				err = json.Unmarshal(*v, &serviceKind)
47139				if err != nil {
47140					return err
47141				}
47142				ssud.ServiceKind = serviceKind
47143			}
47144		}
47145	}
47146
47147	return nil
47148}
47149
47150// StatelessReplicaHealthReportCreatedEvent stateless Replica Health Report Created event.
47151type StatelessReplicaHealthReportCreatedEvent struct {
47152	// SourceID - Id of report source.
47153	SourceID *string `json:"SourceId,omitempty"`
47154	// Property - Describes the property.
47155	Property *string `json:"Property,omitempty"`
47156	// HealthState - Describes the property health state.
47157	HealthState *string `json:"HealthState,omitempty"`
47158	// TimeToLiveMs - Time to live in milli-seconds.
47159	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
47160	// SequenceNumber - Sequence number of report.
47161	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
47162	// Description - Description of report.
47163	Description *string `json:"Description,omitempty"`
47164	// RemoveWhenExpired - Indicates the removal when it expires.
47165	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
47166	// SourceUtcTimestamp - Source time.
47167	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
47168	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
47169	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
47170	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
47171	ReplicaID *int64 `json:"ReplicaId,omitempty"`
47172	// EventInstanceID - The identifier for the FabricEvent instance.
47173	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
47174	// TimeStamp - The time event was logged.
47175	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
47176	// HasCorrelatedEvents - Shows there is existing related events available.
47177	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
47178	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
47179	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
47180}
47181
47182// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportCreatedEvent.
47183func (srhrce StatelessReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
47184	srhrce.Kind = KindStatelessReplicaHealthReportCreated
47185	objectMap := make(map[string]interface{})
47186	if srhrce.SourceID != nil {
47187		objectMap["SourceId"] = srhrce.SourceID
47188	}
47189	if srhrce.Property != nil {
47190		objectMap["Property"] = srhrce.Property
47191	}
47192	if srhrce.HealthState != nil {
47193		objectMap["HealthState"] = srhrce.HealthState
47194	}
47195	if srhrce.TimeToLiveMs != nil {
47196		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
47197	}
47198	if srhrce.SequenceNumber != nil {
47199		objectMap["SequenceNumber"] = srhrce.SequenceNumber
47200	}
47201	if srhrce.Description != nil {
47202		objectMap["Description"] = srhrce.Description
47203	}
47204	if srhrce.RemoveWhenExpired != nil {
47205		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
47206	}
47207	if srhrce.SourceUtcTimestamp != nil {
47208		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
47209	}
47210	if srhrce.PartitionID != nil {
47211		objectMap["PartitionId"] = srhrce.PartitionID
47212	}
47213	if srhrce.ReplicaID != nil {
47214		objectMap["ReplicaId"] = srhrce.ReplicaID
47215	}
47216	if srhrce.EventInstanceID != nil {
47217		objectMap["EventInstanceId"] = srhrce.EventInstanceID
47218	}
47219	if srhrce.TimeStamp != nil {
47220		objectMap["TimeStamp"] = srhrce.TimeStamp
47221	}
47222	if srhrce.HasCorrelatedEvents != nil {
47223		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
47224	}
47225	if srhrce.Kind != "" {
47226		objectMap["Kind"] = srhrce.Kind
47227	}
47228	return json.Marshal(objectMap)
47229}
47230
47231// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47232func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
47233	return nil, false
47234}
47235
47236// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47237func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
47238	return nil, false
47239}
47240
47241// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47242func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
47243	return nil, false
47244}
47245
47246// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47247func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
47248	return nil, false
47249}
47250
47251// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47252func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
47253	return nil, false
47254}
47255
47256// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47257func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
47258	return nil, false
47259}
47260
47261// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47262func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
47263	return nil, false
47264}
47265
47266// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47267func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
47268	return nil, false
47269}
47270
47271// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47272func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
47273	return nil, false
47274}
47275
47276// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47277func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
47278	return nil, false
47279}
47280
47281// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47282func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
47283	return nil, false
47284}
47285
47286// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47287func (srhrce StatelessReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
47288	return nil, false
47289}
47290
47291// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47292func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
47293	return &srhrce, true
47294}
47295
47296// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47297func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
47298	return nil, false
47299}
47300
47301// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47302func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
47303	return nil, false
47304}
47305
47306// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47307func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
47308	return nil, false
47309}
47310
47311// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47312func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
47313	return nil, false
47314}
47315
47316// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47317func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
47318	return nil, false
47319}
47320
47321// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47322func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
47323	return nil, false
47324}
47325
47326// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47327func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
47328	return nil, false
47329}
47330
47331// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47332func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
47333	return nil, false
47334}
47335
47336// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47337func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
47338	return nil, false
47339}
47340
47341// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47342func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
47343	return nil, false
47344}
47345
47346// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47347func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
47348	return nil, false
47349}
47350
47351// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47352func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
47353	return nil, false
47354}
47355
47356// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47357func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
47358	return nil, false
47359}
47360
47361// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47362func (srhrce StatelessReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
47363	return nil, false
47364}
47365
47366// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47367func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
47368	return nil, false
47369}
47370
47371// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47372func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
47373	return nil, false
47374}
47375
47376// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47377func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
47378	return nil, false
47379}
47380
47381// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47382func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
47383	return nil, false
47384}
47385
47386// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47387func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
47388	return nil, false
47389}
47390
47391// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47392func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
47393	return nil, false
47394}
47395
47396// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47397func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
47398	return nil, false
47399}
47400
47401// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47402func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
47403	return nil, false
47404}
47405
47406// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47407func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
47408	return nil, false
47409}
47410
47411// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47412func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
47413	return nil, false
47414}
47415
47416// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47417func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
47418	return nil, false
47419}
47420
47421// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47422func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
47423	return nil, false
47424}
47425
47426// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47427func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
47428	return nil, false
47429}
47430
47431// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47432func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
47433	return nil, false
47434}
47435
47436// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47437func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
47438	return nil, false
47439}
47440
47441// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47442func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
47443	return nil, false
47444}
47445
47446// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47447func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
47448	return nil, false
47449}
47450
47451// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47452func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
47453	return nil, false
47454}
47455
47456// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47457func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
47458	return nil, false
47459}
47460
47461// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47462func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
47463	return nil, false
47464}
47465
47466// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47467func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
47468	return nil, false
47469}
47470
47471// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47472func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
47473	return nil, false
47474}
47475
47476// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47477func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
47478	return nil, false
47479}
47480
47481// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47482func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
47483	return nil, false
47484}
47485
47486// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47487func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
47488	return nil, false
47489}
47490
47491// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47492func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
47493	return nil, false
47494}
47495
47496// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47497func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
47498	return nil, false
47499}
47500
47501// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47502func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
47503	return nil, false
47504}
47505
47506// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47507func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
47508	return &srhrce, true
47509}
47510
47511// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47512func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
47513	return nil, false
47514}
47515
47516// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47517func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
47518	return nil, false
47519}
47520
47521// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47522func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
47523	return nil, false
47524}
47525
47526// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47527func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
47528	return nil, false
47529}
47530
47531// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47532func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
47533	return nil, false
47534}
47535
47536// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47537func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
47538	return nil, false
47539}
47540
47541// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47542func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
47543	return nil, false
47544}
47545
47546// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47547func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
47548	return nil, false
47549}
47550
47551// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47552func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
47553	return nil, false
47554}
47555
47556// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47557func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
47558	return nil, false
47559}
47560
47561// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47562func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
47563	return nil, false
47564}
47565
47566// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47567func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
47568	return nil, false
47569}
47570
47571// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47572func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
47573	return nil, false
47574}
47575
47576// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47577func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
47578	return nil, false
47579}
47580
47581// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47582func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
47583	return nil, false
47584}
47585
47586// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47587func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
47588	return nil, false
47589}
47590
47591// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47592func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
47593	return nil, false
47594}
47595
47596// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47597func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
47598	return nil, false
47599}
47600
47601// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47602func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
47603	return nil, false
47604}
47605
47606// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47607func (srhrce StatelessReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
47608	return nil, false
47609}
47610
47611// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47612func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
47613	return &srhrce, true
47614}
47615
47616// StatelessReplicaHealthReportExpiredEvent stateless Replica Health Report Expired event.
47617type StatelessReplicaHealthReportExpiredEvent struct {
47618	// SourceID - Id of report source.
47619	SourceID *string `json:"SourceId,omitempty"`
47620	// Property - Describes the property.
47621	Property *string `json:"Property,omitempty"`
47622	// HealthState - Describes the property health state.
47623	HealthState *string `json:"HealthState,omitempty"`
47624	// TimeToLiveMs - Time to live in milli-seconds.
47625	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
47626	// SequenceNumber - Sequence number of report.
47627	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
47628	// Description - Description of report.
47629	Description *string `json:"Description,omitempty"`
47630	// RemoveWhenExpired - Indicates the removal when it expires.
47631	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
47632	// SourceUtcTimestamp - Source time.
47633	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
47634	// PartitionID - An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different.
47635	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
47636	// ReplicaID - Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id.
47637	ReplicaID *int64 `json:"ReplicaId,omitempty"`
47638	// EventInstanceID - The identifier for the FabricEvent instance.
47639	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
47640	// TimeStamp - The time event was logged.
47641	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
47642	// HasCorrelatedEvents - Shows there is existing related events available.
47643	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
47644	// Kind - Possible values include: 'KindFabricEvent', 'KindApplicationEvent', 'KindClusterEvent', 'KindContainerInstanceEvent', 'KindNodeEvent', 'KindPartitionAnalysisEvent', 'KindPartitionEvent', 'KindReplicaEvent', 'KindServiceEvent', 'KindApplicationCreated', 'KindApplicationDeleted', 'KindApplicationHealthReportCreated', 'KindApplicationHealthReportExpired', 'KindApplicationUpgradeComplete', 'KindApplicationUpgradeDomainComplete', 'KindApplicationUpgradeRollbackComplete', 'KindApplicationUpgradeRollbackStart', 'KindApplicationUpgradeStart', 'KindDeployedApplicationHealthReportCreated', 'KindDeployedApplicationHealthReportExpired', 'KindProcessDeactivated', 'KindContainerDeactivated', 'KindNodeAborted', 'KindNodeAborting', 'KindNodeAdded', 'KindNodeClose', 'KindNodeClosing', 'KindNodeDeactivateComplete', 'KindNodeDeactivateStart', 'KindNodeDown', 'KindNodeHealthReportCreated', 'KindNodeHealthReportExpired', 'KindNodeOpenedSuccess', 'KindNodeOpenFailed', 'KindNodeOpening', 'KindNodeRemoved', 'KindNodeUp', 'KindPartitionHealthReportCreated', 'KindPartitionHealthReportExpired', 'KindPartitionReconfigurationCompleted', 'KindPartitionPrimaryMoveAnalysis', 'KindServiceCreated', 'KindServiceDeleted', 'KindServiceHealthReportCreated', 'KindServiceHealthReportExpired', 'KindDeployedServiceHealthReportCreated', 'KindDeployedServiceHealthReportExpired', 'KindStatefulReplicaHealthReportCreated', 'KindStatefulReplicaHealthReportExpired', 'KindStatelessReplicaHealthReportCreated', 'KindStatelessReplicaHealthReportExpired', 'KindClusterHealthReportCreated', 'KindClusterHealthReportExpired', 'KindClusterUpgradeComplete', 'KindClusterUpgradeDomainComplete', 'KindClusterUpgradeRollbackComplete', 'KindClusterUpgradeRollbackStart', 'KindClusterUpgradeStart', 'KindChaosStopped', 'KindChaosStarted', 'KindChaosRestartNodeFaultCompleted', 'KindChaosRestartCodePackageFaultScheduled', 'KindChaosRestartCodePackageFaultCompleted', 'KindChaosRemoveReplicaFaultScheduled', 'KindChaosRemoveReplicaFaultCompleted', 'KindChaosMoveSecondaryFaultScheduled', 'KindChaosMovePrimaryFaultScheduled', 'KindChaosRestartReplicaFaultScheduled', 'KindChaosRestartNodeFaultScheduled'
47645	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
47646}
47647
47648// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportExpiredEvent.
47649func (srhree StatelessReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
47650	srhree.Kind = KindStatelessReplicaHealthReportExpired
47651	objectMap := make(map[string]interface{})
47652	if srhree.SourceID != nil {
47653		objectMap["SourceId"] = srhree.SourceID
47654	}
47655	if srhree.Property != nil {
47656		objectMap["Property"] = srhree.Property
47657	}
47658	if srhree.HealthState != nil {
47659		objectMap["HealthState"] = srhree.HealthState
47660	}
47661	if srhree.TimeToLiveMs != nil {
47662		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
47663	}
47664	if srhree.SequenceNumber != nil {
47665		objectMap["SequenceNumber"] = srhree.SequenceNumber
47666	}
47667	if srhree.Description != nil {
47668		objectMap["Description"] = srhree.Description
47669	}
47670	if srhree.RemoveWhenExpired != nil {
47671		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
47672	}
47673	if srhree.SourceUtcTimestamp != nil {
47674		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
47675	}
47676	if srhree.PartitionID != nil {
47677		objectMap["PartitionId"] = srhree.PartitionID
47678	}
47679	if srhree.ReplicaID != nil {
47680		objectMap["ReplicaId"] = srhree.ReplicaID
47681	}
47682	if srhree.EventInstanceID != nil {
47683		objectMap["EventInstanceId"] = srhree.EventInstanceID
47684	}
47685	if srhree.TimeStamp != nil {
47686		objectMap["TimeStamp"] = srhree.TimeStamp
47687	}
47688	if srhree.HasCorrelatedEvents != nil {
47689		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
47690	}
47691	if srhree.Kind != "" {
47692		objectMap["Kind"] = srhree.Kind
47693	}
47694	return json.Marshal(objectMap)
47695}
47696
47697// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47698func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
47699	return nil, false
47700}
47701
47702// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47703func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
47704	return nil, false
47705}
47706
47707// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47708func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
47709	return nil, false
47710}
47711
47712// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47713func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
47714	return nil, false
47715}
47716
47717// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47718func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
47719	return nil, false
47720}
47721
47722// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47723func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
47724	return nil, false
47725}
47726
47727// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47728func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
47729	return nil, false
47730}
47731
47732// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47733func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
47734	return nil, false
47735}
47736
47737// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47738func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
47739	return nil, false
47740}
47741
47742// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47743func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
47744	return nil, false
47745}
47746
47747// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47748func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
47749	return nil, false
47750}
47751
47752// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47753func (srhree StatelessReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
47754	return nil, false
47755}
47756
47757// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47758func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
47759	return &srhree, true
47760}
47761
47762// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47763func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
47764	return nil, false
47765}
47766
47767// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47768func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
47769	return nil, false
47770}
47771
47772// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47773func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
47774	return nil, false
47775}
47776
47777// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47778func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
47779	return nil, false
47780}
47781
47782// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47783func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
47784	return nil, false
47785}
47786
47787// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47788func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
47789	return nil, false
47790}
47791
47792// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47793func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
47794	return nil, false
47795}
47796
47797// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47798func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
47799	return nil, false
47800}
47801
47802// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47803func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
47804	return nil, false
47805}
47806
47807// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47808func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
47809	return nil, false
47810}
47811
47812// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47813func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
47814	return nil, false
47815}
47816
47817// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47818func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
47819	return nil, false
47820}
47821
47822// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47823func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
47824	return nil, false
47825}
47826
47827// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47828func (srhree StatelessReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
47829	return nil, false
47830}
47831
47832// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47833func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
47834	return nil, false
47835}
47836
47837// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47838func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
47839	return nil, false
47840}
47841
47842// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47843func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
47844	return nil, false
47845}
47846
47847// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47848func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
47849	return nil, false
47850}
47851
47852// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47853func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
47854	return nil, false
47855}
47856
47857// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47858func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
47859	return nil, false
47860}
47861
47862// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47863func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
47864	return nil, false
47865}
47866
47867// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47868func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
47869	return nil, false
47870}
47871
47872// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47873func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
47874	return nil, false
47875}
47876
47877// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47878func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
47879	return nil, false
47880}
47881
47882// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47883func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
47884	return nil, false
47885}
47886
47887// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47888func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
47889	return nil, false
47890}
47891
47892// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47893func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
47894	return nil, false
47895}
47896
47897// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47898func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
47899	return nil, false
47900}
47901
47902// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47903func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
47904	return nil, false
47905}
47906
47907// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47908func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
47909	return nil, false
47910}
47911
47912// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47913func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
47914	return nil, false
47915}
47916
47917// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47918func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
47919	return nil, false
47920}
47921
47922// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47923func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
47924	return nil, false
47925}
47926
47927// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47928func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
47929	return nil, false
47930}
47931
47932// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47933func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
47934	return nil, false
47935}
47936
47937// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47938func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
47939	return nil, false
47940}
47941
47942// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47943func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
47944	return nil, false
47945}
47946
47947// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47948func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
47949	return nil, false
47950}
47951
47952// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47953func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
47954	return nil, false
47955}
47956
47957// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47958func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
47959	return nil, false
47960}
47961
47962// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47963func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
47964	return nil, false
47965}
47966
47967// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47968func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
47969	return nil, false
47970}
47971
47972// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47973func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
47974	return nil, false
47975}
47976
47977// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47978func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
47979	return &srhree, true
47980}
47981
47982// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47983func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
47984	return nil, false
47985}
47986
47987// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47988func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
47989	return nil, false
47990}
47991
47992// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47993func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
47994	return nil, false
47995}
47996
47997// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47998func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
47999	return nil, false
48000}
48001
48002// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48003func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
48004	return nil, false
48005}
48006
48007// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48008func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
48009	return nil, false
48010}
48011
48012// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48013func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
48014	return nil, false
48015}
48016
48017// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48018func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
48019	return nil, false
48020}
48021
48022// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48023func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
48024	return nil, false
48025}
48026
48027// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48028func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
48029	return nil, false
48030}
48031
48032// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48033func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
48034	return nil, false
48035}
48036
48037// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48038func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
48039	return nil, false
48040}
48041
48042// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48043func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
48044	return nil, false
48045}
48046
48047// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48048func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
48049	return nil, false
48050}
48051
48052// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48053func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
48054	return nil, false
48055}
48056
48057// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48058func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
48059	return nil, false
48060}
48061
48062// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48063func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
48064	return nil, false
48065}
48066
48067// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48068func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
48069	return nil, false
48070}
48071
48072// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48073func (srhree StatelessReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
48074	return nil, false
48075}
48076
48077// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
48078func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
48079	return &srhree, true
48080}
48081
48082// StatelessServiceDescription describes a stateless service.
48083type StatelessServiceDescription struct {
48084	// InstanceCount - The instance count.
48085	InstanceCount *int32 `json:"InstanceCount,omitempty"`
48086	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
48087	ApplicationName *string `json:"ApplicationName,omitempty"`
48088	// ServiceName - The full name of the service with 'fabric:' URI scheme.
48089	ServiceName *string `json:"ServiceName,omitempty"`
48090	// ServiceTypeName - Name of the service type as specified in the service manifest.
48091	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
48092	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
48093	InitializationData *[]int32 `json:"InitializationData,omitempty"`
48094	// PartitionDescription - The partition description as an object.
48095	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
48096	// PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
48097	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
48098	// CorrelationScheme - The correlation scheme.
48099	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
48100	// ServiceLoadMetrics - The service load metrics.
48101	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
48102	// ServicePlacementPolicies - The service placement policies.
48103	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
48104	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
48105	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
48106	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
48107	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
48108	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
48109	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
48110	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
48111	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
48112	// ScalingPolicies - Scaling policies for this service.
48113	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
48114	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
48115	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
48116}
48117
48118// MarshalJSON is the custom marshaler for StatelessServiceDescription.
48119func (ssd StatelessServiceDescription) MarshalJSON() ([]byte, error) {
48120	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateless
48121	objectMap := make(map[string]interface{})
48122	if ssd.InstanceCount != nil {
48123		objectMap["InstanceCount"] = ssd.InstanceCount
48124	}
48125	if ssd.ApplicationName != nil {
48126		objectMap["ApplicationName"] = ssd.ApplicationName
48127	}
48128	if ssd.ServiceName != nil {
48129		objectMap["ServiceName"] = ssd.ServiceName
48130	}
48131	if ssd.ServiceTypeName != nil {
48132		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
48133	}
48134	if ssd.InitializationData != nil {
48135		objectMap["InitializationData"] = ssd.InitializationData
48136	}
48137	objectMap["PartitionDescription"] = ssd.PartitionDescription
48138	if ssd.PlacementConstraints != nil {
48139		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
48140	}
48141	if ssd.CorrelationScheme != nil {
48142		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
48143	}
48144	if ssd.ServiceLoadMetrics != nil {
48145		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
48146	}
48147	if ssd.ServicePlacementPolicies != nil {
48148		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
48149	}
48150	if ssd.DefaultMoveCost != "" {
48151		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
48152	}
48153	if ssd.IsDefaultMoveCostSpecified != nil {
48154		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
48155	}
48156	if ssd.ServicePackageActivationMode != "" {
48157		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
48158	}
48159	if ssd.ServiceDNSName != nil {
48160		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
48161	}
48162	if ssd.ScalingPolicies != nil {
48163		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
48164	}
48165	if ssd.ServiceKind != "" {
48166		objectMap["ServiceKind"] = ssd.ServiceKind
48167	}
48168	return json.Marshal(objectMap)
48169}
48170
48171// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
48172func (ssd StatelessServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
48173	return nil, false
48174}
48175
48176// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
48177func (ssd StatelessServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
48178	return &ssd, true
48179}
48180
48181// AsServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
48182func (ssd StatelessServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
48183	return nil, false
48184}
48185
48186// AsBasicServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
48187func (ssd StatelessServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
48188	return &ssd, true
48189}
48190
48191// UnmarshalJSON is the custom unmarshaler for StatelessServiceDescription struct.
48192func (ssd *StatelessServiceDescription) UnmarshalJSON(body []byte) error {
48193	var m map[string]*json.RawMessage
48194	err := json.Unmarshal(body, &m)
48195	if err != nil {
48196		return err
48197	}
48198	for k, v := range m {
48199		switch k {
48200		case "InstanceCount":
48201			if v != nil {
48202				var instanceCount int32
48203				err = json.Unmarshal(*v, &instanceCount)
48204				if err != nil {
48205					return err
48206				}
48207				ssd.InstanceCount = &instanceCount
48208			}
48209		case "ApplicationName":
48210			if v != nil {
48211				var applicationName string
48212				err = json.Unmarshal(*v, &applicationName)
48213				if err != nil {
48214					return err
48215				}
48216				ssd.ApplicationName = &applicationName
48217			}
48218		case "ServiceName":
48219			if v != nil {
48220				var serviceName string
48221				err = json.Unmarshal(*v, &serviceName)
48222				if err != nil {
48223					return err
48224				}
48225				ssd.ServiceName = &serviceName
48226			}
48227		case "ServiceTypeName":
48228			if v != nil {
48229				var serviceTypeName string
48230				err = json.Unmarshal(*v, &serviceTypeName)
48231				if err != nil {
48232					return err
48233				}
48234				ssd.ServiceTypeName = &serviceTypeName
48235			}
48236		case "InitializationData":
48237			if v != nil {
48238				var initializationData []int32
48239				err = json.Unmarshal(*v, &initializationData)
48240				if err != nil {
48241					return err
48242				}
48243				ssd.InitializationData = &initializationData
48244			}
48245		case "PartitionDescription":
48246			if v != nil {
48247				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
48248				if err != nil {
48249					return err
48250				}
48251				ssd.PartitionDescription = partitionDescription
48252			}
48253		case "PlacementConstraints":
48254			if v != nil {
48255				var placementConstraints string
48256				err = json.Unmarshal(*v, &placementConstraints)
48257				if err != nil {
48258					return err
48259				}
48260				ssd.PlacementConstraints = &placementConstraints
48261			}
48262		case "CorrelationScheme":
48263			if v != nil {
48264				var correlationScheme []ServiceCorrelationDescription
48265				err = json.Unmarshal(*v, &correlationScheme)
48266				if err != nil {
48267					return err
48268				}
48269				ssd.CorrelationScheme = &correlationScheme
48270			}
48271		case "ServiceLoadMetrics":
48272			if v != nil {
48273				var serviceLoadMetrics []ServiceLoadMetricDescription
48274				err = json.Unmarshal(*v, &serviceLoadMetrics)
48275				if err != nil {
48276					return err
48277				}
48278				ssd.ServiceLoadMetrics = &serviceLoadMetrics
48279			}
48280		case "ServicePlacementPolicies":
48281			if v != nil {
48282				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
48283				if err != nil {
48284					return err
48285				}
48286				ssd.ServicePlacementPolicies = &servicePlacementPolicies
48287			}
48288		case "DefaultMoveCost":
48289			if v != nil {
48290				var defaultMoveCost MoveCost
48291				err = json.Unmarshal(*v, &defaultMoveCost)
48292				if err != nil {
48293					return err
48294				}
48295				ssd.DefaultMoveCost = defaultMoveCost
48296			}
48297		case "IsDefaultMoveCostSpecified":
48298			if v != nil {
48299				var isDefaultMoveCostSpecified bool
48300				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
48301				if err != nil {
48302					return err
48303				}
48304				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
48305			}
48306		case "ServicePackageActivationMode":
48307			if v != nil {
48308				var servicePackageActivationMode ServicePackageActivationMode
48309				err = json.Unmarshal(*v, &servicePackageActivationMode)
48310				if err != nil {
48311					return err
48312				}
48313				ssd.ServicePackageActivationMode = servicePackageActivationMode
48314			}
48315		case "ServiceDnsName":
48316			if v != nil {
48317				var serviceDNSName string
48318				err = json.Unmarshal(*v, &serviceDNSName)
48319				if err != nil {
48320					return err
48321				}
48322				ssd.ServiceDNSName = &serviceDNSName
48323			}
48324		case "ScalingPolicies":
48325			if v != nil {
48326				var scalingPolicies []ScalingPolicyDescription
48327				err = json.Unmarshal(*v, &scalingPolicies)
48328				if err != nil {
48329					return err
48330				}
48331				ssd.ScalingPolicies = &scalingPolicies
48332			}
48333		case "ServiceKind":
48334			if v != nil {
48335				var serviceKind ServiceKindBasicServiceDescription
48336				err = json.Unmarshal(*v, &serviceKind)
48337				if err != nil {
48338					return err
48339				}
48340				ssd.ServiceKind = serviceKind
48341			}
48342		}
48343	}
48344
48345	return nil
48346}
48347
48348// StatelessServiceInfo information about a stateless Service Fabric service.
48349type StatelessServiceInfo struct {
48350	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
48351	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
48352	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
48353	ID *string `json:"Id,omitempty"`
48354	// Name - The full name of the service with 'fabric:' URI scheme.
48355	Name *string `json:"Name,omitempty"`
48356	// TypeName - Name of the service type as specified in the service manifest.
48357	TypeName *string `json:"TypeName,omitempty"`
48358	// ManifestVersion - The version of the service manifest.
48359	ManifestVersion *string `json:"ManifestVersion,omitempty"`
48360	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
48361	HealthState HealthState `json:"HealthState,omitempty"`
48362	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
48363	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
48364	// IsServiceGroup - Whether the service is in a service group.
48365	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
48366	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
48367	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
48368}
48369
48370// MarshalJSON is the custom marshaler for StatelessServiceInfo.
48371func (ssi StatelessServiceInfo) MarshalJSON() ([]byte, error) {
48372	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateless
48373	objectMap := make(map[string]interface{})
48374	if ssi.ID != nil {
48375		objectMap["Id"] = ssi.ID
48376	}
48377	if ssi.Name != nil {
48378		objectMap["Name"] = ssi.Name
48379	}
48380	if ssi.TypeName != nil {
48381		objectMap["TypeName"] = ssi.TypeName
48382	}
48383	if ssi.ManifestVersion != nil {
48384		objectMap["ManifestVersion"] = ssi.ManifestVersion
48385	}
48386	if ssi.HealthState != "" {
48387		objectMap["HealthState"] = ssi.HealthState
48388	}
48389	if ssi.ServiceStatus != "" {
48390		objectMap["ServiceStatus"] = ssi.ServiceStatus
48391	}
48392	if ssi.IsServiceGroup != nil {
48393		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
48394	}
48395	if ssi.ServiceKind != "" {
48396		objectMap["ServiceKind"] = ssi.ServiceKind
48397	}
48398	return json.Marshal(objectMap)
48399}
48400
48401// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
48402func (ssi StatelessServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
48403	return nil, false
48404}
48405
48406// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
48407func (ssi StatelessServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
48408	return &ssi, true
48409}
48410
48411// AsServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
48412func (ssi StatelessServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
48413	return nil, false
48414}
48415
48416// AsBasicServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
48417func (ssi StatelessServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
48418	return &ssi, true
48419}
48420
48421// StatelessServiceInstanceHealth represents the health of the stateless service instance.
48422// Contains the instance aggregated health state, the health events and the unhealthy evaluations.
48423type StatelessServiceInstanceHealth struct {
48424	// InstanceID - Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId.
48425	InstanceID *string `json:"InstanceId,omitempty"`
48426	// PartitionID - Id of the partition to which this replica belongs.
48427	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
48428	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
48429	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
48430	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
48431	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
48432	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
48433	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
48434	// HealthEvents - The list of health events reported on the entity.
48435	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
48436	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
48437	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
48438	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
48439	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
48440}
48441
48442// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealth.
48443func (ssih StatelessServiceInstanceHealth) MarshalJSON() ([]byte, error) {
48444	ssih.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateless
48445	objectMap := make(map[string]interface{})
48446	if ssih.InstanceID != nil {
48447		objectMap["InstanceId"] = ssih.InstanceID
48448	}
48449	if ssih.PartitionID != nil {
48450		objectMap["PartitionId"] = ssih.PartitionID
48451	}
48452	if ssih.ServiceKind != "" {
48453		objectMap["ServiceKind"] = ssih.ServiceKind
48454	}
48455	if ssih.AggregatedHealthState != "" {
48456		objectMap["AggregatedHealthState"] = ssih.AggregatedHealthState
48457	}
48458	if ssih.HealthEvents != nil {
48459		objectMap["HealthEvents"] = ssih.HealthEvents
48460	}
48461	if ssih.UnhealthyEvaluations != nil {
48462		objectMap["UnhealthyEvaluations"] = ssih.UnhealthyEvaluations
48463	}
48464	if ssih.HealthStatistics != nil {
48465		objectMap["HealthStatistics"] = ssih.HealthStatistics
48466	}
48467	return json.Marshal(objectMap)
48468}
48469
48470// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
48471func (ssih StatelessServiceInstanceHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
48472	return nil, false
48473}
48474
48475// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
48476func (ssih StatelessServiceInstanceHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
48477	return &ssih, true
48478}
48479
48480// AsReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
48481func (ssih StatelessServiceInstanceHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
48482	return nil, false
48483}
48484
48485// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
48486func (ssih StatelessServiceInstanceHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
48487	return &ssih, true
48488}
48489
48490// StatelessServiceInstanceHealthState represents the health state of the stateless service instance, which
48491// contains the instance ID and the aggregated health state.
48492type StatelessServiceInstanceHealthState struct {
48493	// ReplicaID - Id of the stateless service instance on the wire this field is called ReplicaId.
48494	ReplicaID *string `json:"ReplicaId,omitempty"`
48495	// PartitionID - The ID of the partition to which this replica belongs.
48496	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
48497	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
48498	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
48499	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
48500	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
48501}
48502
48503// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealthState.
48504func (ssihs StatelessServiceInstanceHealthState) MarshalJSON() ([]byte, error) {
48505	ssihs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateless
48506	objectMap := make(map[string]interface{})
48507	if ssihs.ReplicaID != nil {
48508		objectMap["ReplicaId"] = ssihs.ReplicaID
48509	}
48510	if ssihs.PartitionID != nil {
48511		objectMap["PartitionId"] = ssihs.PartitionID
48512	}
48513	if ssihs.ServiceKind != "" {
48514		objectMap["ServiceKind"] = ssihs.ServiceKind
48515	}
48516	if ssihs.AggregatedHealthState != "" {
48517		objectMap["AggregatedHealthState"] = ssihs.AggregatedHealthState
48518	}
48519	return json.Marshal(objectMap)
48520}
48521
48522// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
48523func (ssihs StatelessServiceInstanceHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
48524	return nil, false
48525}
48526
48527// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
48528func (ssihs StatelessServiceInstanceHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
48529	return &ssihs, true
48530}
48531
48532// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
48533func (ssihs StatelessServiceInstanceHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
48534	return nil, false
48535}
48536
48537// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
48538func (ssihs StatelessServiceInstanceHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
48539	return &ssihs, true
48540}
48541
48542// StatelessServiceInstanceInfo represents a stateless service instance. This includes information about
48543// the identity, status, health, node name, uptime, and other details about the instance.
48544type StatelessServiceInstanceInfo struct {
48545	// InstanceID - Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId.
48546	InstanceID *string `json:"InstanceId,omitempty"`
48547	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
48548	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
48549	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
48550	HealthState HealthState `json:"HealthState,omitempty"`
48551	// NodeName - The name of a Service Fabric node.
48552	NodeName *string `json:"NodeName,omitempty"`
48553	// Address - The address the replica is listening on.
48554	Address *string `json:"Address,omitempty"`
48555	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
48556	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
48557	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
48558	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
48559}
48560
48561// MarshalJSON is the custom marshaler for StatelessServiceInstanceInfo.
48562func (ssii StatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
48563	ssii.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateless
48564	objectMap := make(map[string]interface{})
48565	if ssii.InstanceID != nil {
48566		objectMap["InstanceId"] = ssii.InstanceID
48567	}
48568	if ssii.ReplicaStatus != "" {
48569		objectMap["ReplicaStatus"] = ssii.ReplicaStatus
48570	}
48571	if ssii.HealthState != "" {
48572		objectMap["HealthState"] = ssii.HealthState
48573	}
48574	if ssii.NodeName != nil {
48575		objectMap["NodeName"] = ssii.NodeName
48576	}
48577	if ssii.Address != nil {
48578		objectMap["Address"] = ssii.Address
48579	}
48580	if ssii.LastInBuildDurationInSeconds != nil {
48581		objectMap["LastInBuildDurationInSeconds"] = ssii.LastInBuildDurationInSeconds
48582	}
48583	if ssii.ServiceKind != "" {
48584		objectMap["ServiceKind"] = ssii.ServiceKind
48585	}
48586	return json.Marshal(objectMap)
48587}
48588
48589// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48590func (ssii StatelessServiceInstanceInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
48591	return nil, false
48592}
48593
48594// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48595func (ssii StatelessServiceInstanceInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
48596	return &ssii, true
48597}
48598
48599// AsReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48600func (ssii StatelessServiceInstanceInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
48601	return nil, false
48602}
48603
48604// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48605func (ssii StatelessServiceInstanceInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
48606	return &ssii, true
48607}
48608
48609// StatelessServicePartitionInfo information about a partition of a stateless Service Fabric service.
48610type StatelessServicePartitionInfo struct {
48611	// InstanceCount - Number of instances of this partition.
48612	InstanceCount *int64 `json:"InstanceCount,omitempty"`
48613	// HealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
48614	HealthState HealthState `json:"HealthState,omitempty"`
48615	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
48616	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
48617	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
48618	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
48619	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
48620	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
48621}
48622
48623// MarshalJSON is the custom marshaler for StatelessServicePartitionInfo.
48624func (sspi StatelessServicePartitionInfo) MarshalJSON() ([]byte, error) {
48625	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateless
48626	objectMap := make(map[string]interface{})
48627	if sspi.InstanceCount != nil {
48628		objectMap["InstanceCount"] = sspi.InstanceCount
48629	}
48630	if sspi.HealthState != "" {
48631		objectMap["HealthState"] = sspi.HealthState
48632	}
48633	if sspi.PartitionStatus != "" {
48634		objectMap["PartitionStatus"] = sspi.PartitionStatus
48635	}
48636	objectMap["PartitionInformation"] = sspi.PartitionInformation
48637	if sspi.ServiceKind != "" {
48638		objectMap["ServiceKind"] = sspi.ServiceKind
48639	}
48640	return json.Marshal(objectMap)
48641}
48642
48643// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48644func (sspi StatelessServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
48645	return nil, false
48646}
48647
48648// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48649func (sspi StatelessServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
48650	return &sspi, true
48651}
48652
48653// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48654func (sspi StatelessServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
48655	return nil, false
48656}
48657
48658// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48659func (sspi StatelessServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
48660	return &sspi, true
48661}
48662
48663// UnmarshalJSON is the custom unmarshaler for StatelessServicePartitionInfo struct.
48664func (sspi *StatelessServicePartitionInfo) UnmarshalJSON(body []byte) error {
48665	var m map[string]*json.RawMessage
48666	err := json.Unmarshal(body, &m)
48667	if err != nil {
48668		return err
48669	}
48670	for k, v := range m {
48671		switch k {
48672		case "InstanceCount":
48673			if v != nil {
48674				var instanceCount int64
48675				err = json.Unmarshal(*v, &instanceCount)
48676				if err != nil {
48677					return err
48678				}
48679				sspi.InstanceCount = &instanceCount
48680			}
48681		case "HealthState":
48682			if v != nil {
48683				var healthState HealthState
48684				err = json.Unmarshal(*v, &healthState)
48685				if err != nil {
48686					return err
48687				}
48688				sspi.HealthState = healthState
48689			}
48690		case "PartitionStatus":
48691			if v != nil {
48692				var partitionStatus ServicePartitionStatus
48693				err = json.Unmarshal(*v, &partitionStatus)
48694				if err != nil {
48695					return err
48696				}
48697				sspi.PartitionStatus = partitionStatus
48698			}
48699		case "PartitionInformation":
48700			if v != nil {
48701				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
48702				if err != nil {
48703					return err
48704				}
48705				sspi.PartitionInformation = partitionInformation
48706			}
48707		case "ServiceKind":
48708			if v != nil {
48709				var serviceKind ServiceKindBasicServicePartitionInfo
48710				err = json.Unmarshal(*v, &serviceKind)
48711				if err != nil {
48712					return err
48713				}
48714				sspi.ServiceKind = serviceKind
48715			}
48716		}
48717	}
48718
48719	return nil
48720}
48721
48722// StatelessServiceTypeDescription describes a stateless service type defined in the service manifest of a
48723// provisioned application type.
48724type StatelessServiceTypeDescription struct {
48725	// UseImplicitHost - A flag indicating if this type is not implemented and hosted by a user service process, but is implicitly hosted by a system created process. This value is true for services using the guest executable services, false otherwise.
48726	UseImplicitHost *bool `json:"UseImplicitHost,omitempty"`
48727	// IsStateful - Indicates whether the service type is a stateful service type or a stateless service type. This property is true if the service type is a stateful service type, false otherwise.
48728	IsStateful *bool `json:"IsStateful,omitempty"`
48729	// ServiceTypeName - Name of the service type as specified in the service manifest.
48730	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
48731	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
48732	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
48733	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
48734	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
48735	// ServicePlacementPolicies - List of service placement policy descriptions.
48736	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
48737	// Extensions - List of service type extensions.
48738	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
48739	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
48740	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
48741}
48742
48743// MarshalJSON is the custom marshaler for StatelessServiceTypeDescription.
48744func (sstd StatelessServiceTypeDescription) MarshalJSON() ([]byte, error) {
48745	sstd.Kind = KindStateless
48746	objectMap := make(map[string]interface{})
48747	if sstd.UseImplicitHost != nil {
48748		objectMap["UseImplicitHost"] = sstd.UseImplicitHost
48749	}
48750	if sstd.IsStateful != nil {
48751		objectMap["IsStateful"] = sstd.IsStateful
48752	}
48753	if sstd.ServiceTypeName != nil {
48754		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
48755	}
48756	if sstd.PlacementConstraints != nil {
48757		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
48758	}
48759	if sstd.LoadMetrics != nil {
48760		objectMap["LoadMetrics"] = sstd.LoadMetrics
48761	}
48762	if sstd.ServicePlacementPolicies != nil {
48763		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
48764	}
48765	if sstd.Extensions != nil {
48766		objectMap["Extensions"] = sstd.Extensions
48767	}
48768	if sstd.Kind != "" {
48769		objectMap["Kind"] = sstd.Kind
48770	}
48771	return json.Marshal(objectMap)
48772}
48773
48774// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48775func (sstd StatelessServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
48776	return nil, false
48777}
48778
48779// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48780func (sstd StatelessServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
48781	return &sstd, true
48782}
48783
48784// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48785func (sstd StatelessServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
48786	return nil, false
48787}
48788
48789// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48790func (sstd StatelessServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
48791	return &sstd, true
48792}
48793
48794// UnmarshalJSON is the custom unmarshaler for StatelessServiceTypeDescription struct.
48795func (sstd *StatelessServiceTypeDescription) UnmarshalJSON(body []byte) error {
48796	var m map[string]*json.RawMessage
48797	err := json.Unmarshal(body, &m)
48798	if err != nil {
48799		return err
48800	}
48801	for k, v := range m {
48802		switch k {
48803		case "UseImplicitHost":
48804			if v != nil {
48805				var useImplicitHost bool
48806				err = json.Unmarshal(*v, &useImplicitHost)
48807				if err != nil {
48808					return err
48809				}
48810				sstd.UseImplicitHost = &useImplicitHost
48811			}
48812		case "IsStateful":
48813			if v != nil {
48814				var isStateful bool
48815				err = json.Unmarshal(*v, &isStateful)
48816				if err != nil {
48817					return err
48818				}
48819				sstd.IsStateful = &isStateful
48820			}
48821		case "ServiceTypeName":
48822			if v != nil {
48823				var serviceTypeName string
48824				err = json.Unmarshal(*v, &serviceTypeName)
48825				if err != nil {
48826					return err
48827				}
48828				sstd.ServiceTypeName = &serviceTypeName
48829			}
48830		case "PlacementConstraints":
48831			if v != nil {
48832				var placementConstraints string
48833				err = json.Unmarshal(*v, &placementConstraints)
48834				if err != nil {
48835					return err
48836				}
48837				sstd.PlacementConstraints = &placementConstraints
48838			}
48839		case "LoadMetrics":
48840			if v != nil {
48841				var loadMetrics []ServiceLoadMetricDescription
48842				err = json.Unmarshal(*v, &loadMetrics)
48843				if err != nil {
48844					return err
48845				}
48846				sstd.LoadMetrics = &loadMetrics
48847			}
48848		case "ServicePlacementPolicies":
48849			if v != nil {
48850				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
48851				if err != nil {
48852					return err
48853				}
48854				sstd.ServicePlacementPolicies = &servicePlacementPolicies
48855			}
48856		case "Extensions":
48857			if v != nil {
48858				var extensions []ServiceTypeExtensionDescription
48859				err = json.Unmarshal(*v, &extensions)
48860				if err != nil {
48861					return err
48862				}
48863				sstd.Extensions = &extensions
48864			}
48865		case "Kind":
48866			if v != nil {
48867				var kind KindBasicServiceTypeDescription
48868				err = json.Unmarshal(*v, &kind)
48869				if err != nil {
48870					return err
48871				}
48872				sstd.Kind = kind
48873			}
48874		}
48875	}
48876
48877	return nil
48878}
48879
48880// StatelessServiceUpdateDescription describes an update for a stateless service.
48881type StatelessServiceUpdateDescription struct {
48882	// InstanceCount - The instance count.
48883	InstanceCount *int32 `json:"InstanceCount,omitempty"`
48884	// Flags - Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.
48885	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
48886	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
48887	// - None - Does not indicate any other properties are set. The value is zero.
48888	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
48889	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
48890	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
48891	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
48892	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
48893	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
48894	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
48895	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
48896	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
48897	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
48898	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
48899	Flags *string `json:"Flags,omitempty"`
48900	// PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
48901	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
48902	// CorrelationScheme - The correlation scheme.
48903	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
48904	// LoadMetrics - The service load metrics.
48905	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
48906	// ServicePlacementPolicies - The service placement policies.
48907	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
48908	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
48909	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
48910	// ScalingPolicies - Scaling policies for this service.
48911	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
48912	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
48913	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
48914}
48915
48916// MarshalJSON is the custom marshaler for StatelessServiceUpdateDescription.
48917func (ssud StatelessServiceUpdateDescription) MarshalJSON() ([]byte, error) {
48918	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateless
48919	objectMap := make(map[string]interface{})
48920	if ssud.InstanceCount != nil {
48921		objectMap["InstanceCount"] = ssud.InstanceCount
48922	}
48923	if ssud.Flags != nil {
48924		objectMap["Flags"] = ssud.Flags
48925	}
48926	if ssud.PlacementConstraints != nil {
48927		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
48928	}
48929	if ssud.CorrelationScheme != nil {
48930		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
48931	}
48932	if ssud.LoadMetrics != nil {
48933		objectMap["LoadMetrics"] = ssud.LoadMetrics
48934	}
48935	if ssud.ServicePlacementPolicies != nil {
48936		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
48937	}
48938	if ssud.DefaultMoveCost != "" {
48939		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
48940	}
48941	if ssud.ScalingPolicies != nil {
48942		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
48943	}
48944	if ssud.ServiceKind != "" {
48945		objectMap["ServiceKind"] = ssud.ServiceKind
48946	}
48947	return json.Marshal(objectMap)
48948}
48949
48950// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48951func (ssud StatelessServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
48952	return nil, false
48953}
48954
48955// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48956func (ssud StatelessServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
48957	return &ssud, true
48958}
48959
48960// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48961func (ssud StatelessServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
48962	return nil, false
48963}
48964
48965// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48966func (ssud StatelessServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
48967	return &ssud, true
48968}
48969
48970// UnmarshalJSON is the custom unmarshaler for StatelessServiceUpdateDescription struct.
48971func (ssud *StatelessServiceUpdateDescription) UnmarshalJSON(body []byte) error {
48972	var m map[string]*json.RawMessage
48973	err := json.Unmarshal(body, &m)
48974	if err != nil {
48975		return err
48976	}
48977	for k, v := range m {
48978		switch k {
48979		case "InstanceCount":
48980			if v != nil {
48981				var instanceCount int32
48982				err = json.Unmarshal(*v, &instanceCount)
48983				if err != nil {
48984					return err
48985				}
48986				ssud.InstanceCount = &instanceCount
48987			}
48988		case "Flags":
48989			if v != nil {
48990				var flags string
48991				err = json.Unmarshal(*v, &flags)
48992				if err != nil {
48993					return err
48994				}
48995				ssud.Flags = &flags
48996			}
48997		case "PlacementConstraints":
48998			if v != nil {
48999				var placementConstraints string
49000				err = json.Unmarshal(*v, &placementConstraints)
49001				if err != nil {
49002					return err
49003				}
49004				ssud.PlacementConstraints = &placementConstraints
49005			}
49006		case "CorrelationScheme":
49007			if v != nil {
49008				var correlationScheme []ServiceCorrelationDescription
49009				err = json.Unmarshal(*v, &correlationScheme)
49010				if err != nil {
49011					return err
49012				}
49013				ssud.CorrelationScheme = &correlationScheme
49014			}
49015		case "LoadMetrics":
49016			if v != nil {
49017				var loadMetrics []ServiceLoadMetricDescription
49018				err = json.Unmarshal(*v, &loadMetrics)
49019				if err != nil {
49020					return err
49021				}
49022				ssud.LoadMetrics = &loadMetrics
49023			}
49024		case "ServicePlacementPolicies":
49025			if v != nil {
49026				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
49027				if err != nil {
49028					return err
49029				}
49030				ssud.ServicePlacementPolicies = &servicePlacementPolicies
49031			}
49032		case "DefaultMoveCost":
49033			if v != nil {
49034				var defaultMoveCost MoveCost
49035				err = json.Unmarshal(*v, &defaultMoveCost)
49036				if err != nil {
49037					return err
49038				}
49039				ssud.DefaultMoveCost = defaultMoveCost
49040			}
49041		case "ScalingPolicies":
49042			if v != nil {
49043				var scalingPolicies []ScalingPolicyDescription
49044				err = json.Unmarshal(*v, &scalingPolicies)
49045				if err != nil {
49046					return err
49047				}
49048				ssud.ScalingPolicies = &scalingPolicies
49049			}
49050		case "ServiceKind":
49051			if v != nil {
49052				var serviceKind ServiceKindBasicServiceUpdateDescription
49053				err = json.Unmarshal(*v, &serviceKind)
49054				if err != nil {
49055					return err
49056				}
49057				ssud.ServiceKind = serviceKind
49058			}
49059		}
49060	}
49061
49062	return nil
49063}
49064
49065// StoppedChaosEvent describes a Chaos event that gets generated when Chaos stops because either the user
49066// issued a stop or the time to run was up.
49067type StoppedChaosEvent struct {
49068	// Reason - Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over.
49069	Reason *string `json:"Reason,omitempty"`
49070	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
49071	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
49072	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
49073	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
49074}
49075
49076// MarshalJSON is the custom marshaler for StoppedChaosEvent.
49077func (sce StoppedChaosEvent) MarshalJSON() ([]byte, error) {
49078	sce.Kind = KindStopped
49079	objectMap := make(map[string]interface{})
49080	if sce.Reason != nil {
49081		objectMap["Reason"] = sce.Reason
49082	}
49083	if sce.TimeStampUtc != nil {
49084		objectMap["TimeStampUtc"] = sce.TimeStampUtc
49085	}
49086	if sce.Kind != "" {
49087		objectMap["Kind"] = sce.Kind
49088	}
49089	return json.Marshal(objectMap)
49090}
49091
49092// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49093func (sce StoppedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
49094	return nil, false
49095}
49096
49097// AsStartedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49098func (sce StoppedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
49099	return nil, false
49100}
49101
49102// AsStoppedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49103func (sce StoppedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
49104	return &sce, true
49105}
49106
49107// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49108func (sce StoppedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
49109	return nil, false
49110}
49111
49112// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49113func (sce StoppedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
49114	return nil, false
49115}
49116
49117// AsWaitingChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49118func (sce StoppedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
49119	return nil, false
49120}
49121
49122// AsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49123func (sce StoppedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
49124	return nil, false
49125}
49126
49127// AsBasicChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
49128func (sce StoppedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
49129	return &sce, true
49130}
49131
49132// String ...
49133type String struct {
49134	autorest.Response `json:"-"`
49135	Value             *string `json:"value,omitempty"`
49136}
49137
49138// StringPropertyValue describes a Service Fabric property value of type String.
49139type StringPropertyValue struct {
49140	// Data - The data of the property value.
49141	Data *string `json:"Data,omitempty"`
49142	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
49143	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
49144}
49145
49146// MarshalJSON is the custom marshaler for StringPropertyValue.
49147func (spv StringPropertyValue) MarshalJSON() ([]byte, error) {
49148	spv.Kind = KindString
49149	objectMap := make(map[string]interface{})
49150	if spv.Data != nil {
49151		objectMap["Data"] = spv.Data
49152	}
49153	if spv.Kind != "" {
49154		objectMap["Kind"] = spv.Kind
49155	}
49156	return json.Marshal(objectMap)
49157}
49158
49159// AsBinaryPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
49160func (spv StringPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
49161	return nil, false
49162}
49163
49164// AsInt64PropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
49165func (spv StringPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
49166	return nil, false
49167}
49168
49169// AsDoublePropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
49170func (spv StringPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
49171	return nil, false
49172}
49173
49174// AsStringPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
49175func (spv StringPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
49176	return &spv, true
49177}
49178
49179// AsGUIDPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
49180func (spv StringPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
49181	return nil, false
49182}
49183
49184// AsPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
49185func (spv StringPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
49186	return nil, false
49187}
49188
49189// AsBasicPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
49190func (spv StringPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
49191	return &spv, true
49192}
49193
49194// SuccessfulPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch succeeding.
49195// Contains the results of any "Get" operations in the batch.
49196type SuccessfulPropertyBatchInfo struct {
49197	// Properties - A map containing the properties that were requested through any "Get" property batch operations. The key represents the index of the "Get" operation in the original request, in string form. The value is the property. If a property is not found, it will not be in the map.
49198	Properties map[string]*PropertyInfo `json:"Properties"`
49199	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
49200	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
49201}
49202
49203// MarshalJSON is the custom marshaler for SuccessfulPropertyBatchInfo.
49204func (spbi SuccessfulPropertyBatchInfo) MarshalJSON() ([]byte, error) {
49205	spbi.Kind = KindSuccessful
49206	objectMap := make(map[string]interface{})
49207	if spbi.Properties != nil {
49208		objectMap["Properties"] = spbi.Properties
49209	}
49210	if spbi.Kind != "" {
49211		objectMap["Kind"] = spbi.Kind
49212	}
49213	return json.Marshal(objectMap)
49214}
49215
49216// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
49217func (spbi SuccessfulPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
49218	return &spbi, true
49219}
49220
49221// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
49222func (spbi SuccessfulPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
49223	return nil, false
49224}
49225
49226// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
49227func (spbi SuccessfulPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
49228	return nil, false
49229}
49230
49231// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
49232func (spbi SuccessfulPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
49233	return &spbi, true
49234}
49235
49236// SystemApplicationHealthEvaluation represents health evaluation for the fabric:/System application,
49237// containing information about the data and the algorithm used by health store to evaluate health. The
49238// evaluation is returned only when the aggregated health state of the cluster is either Error or Warning.
49239type SystemApplicationHealthEvaluation struct {
49240	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state of the system application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation.
49241	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
49242	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
49243	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49244	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
49245	Description *string `json:"Description,omitempty"`
49246	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
49247	Kind Kind `json:"Kind,omitempty"`
49248}
49249
49250// MarshalJSON is the custom marshaler for SystemApplicationHealthEvaluation.
49251func (sahe SystemApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
49252	sahe.Kind = KindSystemApplication
49253	objectMap := make(map[string]interface{})
49254	if sahe.UnhealthyEvaluations != nil {
49255		objectMap["UnhealthyEvaluations"] = sahe.UnhealthyEvaluations
49256	}
49257	if sahe.AggregatedHealthState != "" {
49258		objectMap["AggregatedHealthState"] = sahe.AggregatedHealthState
49259	}
49260	if sahe.Description != nil {
49261		objectMap["Description"] = sahe.Description
49262	}
49263	if sahe.Kind != "" {
49264		objectMap["Kind"] = sahe.Kind
49265	}
49266	return json.Marshal(objectMap)
49267}
49268
49269// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49270func (sahe SystemApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
49271	return nil, false
49272}
49273
49274// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49275func (sahe SystemApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
49276	return nil, false
49277}
49278
49279// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49280func (sahe SystemApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
49281	return nil, false
49282}
49283
49284// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49285func (sahe SystemApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
49286	return nil, false
49287}
49288
49289// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49290func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
49291	return nil, false
49292}
49293
49294// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49295func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
49296	return nil, false
49297}
49298
49299// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49300func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
49301	return nil, false
49302}
49303
49304// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49305func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
49306	return nil, false
49307}
49308
49309// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49310func (sahe SystemApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
49311	return nil, false
49312}
49313
49314// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49315func (sahe SystemApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
49316	return nil, false
49317}
49318
49319// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49320func (sahe SystemApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
49321	return nil, false
49322}
49323
49324// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49325func (sahe SystemApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
49326	return nil, false
49327}
49328
49329// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49330func (sahe SystemApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
49331	return nil, false
49332}
49333
49334// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49335func (sahe SystemApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
49336	return nil, false
49337}
49338
49339// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49340func (sahe SystemApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
49341	return nil, false
49342}
49343
49344// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49345func (sahe SystemApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
49346	return nil, false
49347}
49348
49349// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49350func (sahe SystemApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
49351	return nil, false
49352}
49353
49354// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49355func (sahe SystemApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
49356	return &sahe, true
49357}
49358
49359// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49360func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
49361	return nil, false
49362}
49363
49364// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49365func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
49366	return nil, false
49367}
49368
49369// AsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49370func (sahe SystemApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
49371	return nil, false
49372}
49373
49374// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
49375func (sahe SystemApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
49376	return &sahe, true
49377}
49378
49379// TestErrorChaosEvent describes a Chaos event that gets generated when an unexpected event occurs in the
49380// Chaos engine.
49381// For example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that
49382// the entity was already faulted -- which would be an unexpected event.
49383type TestErrorChaosEvent struct {
49384	// Reason - Describes why TestErrorChaosEvent was generated. For example, Chaos tries to fault a partition but finds that the partition is no longer fault tolerant, then a TestErrorEvent gets generated with the reason stating that the partition is not fault tolerant.
49385	Reason *string `json:"Reason,omitempty"`
49386	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
49387	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
49388	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
49389	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
49390}
49391
49392// MarshalJSON is the custom marshaler for TestErrorChaosEvent.
49393func (tece TestErrorChaosEvent) MarshalJSON() ([]byte, error) {
49394	tece.Kind = KindTestError
49395	objectMap := make(map[string]interface{})
49396	if tece.Reason != nil {
49397		objectMap["Reason"] = tece.Reason
49398	}
49399	if tece.TimeStampUtc != nil {
49400		objectMap["TimeStampUtc"] = tece.TimeStampUtc
49401	}
49402	if tece.Kind != "" {
49403		objectMap["Kind"] = tece.Kind
49404	}
49405	return json.Marshal(objectMap)
49406}
49407
49408// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49409func (tece TestErrorChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
49410	return nil, false
49411}
49412
49413// AsStartedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49414func (tece TestErrorChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
49415	return nil, false
49416}
49417
49418// AsStoppedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49419func (tece TestErrorChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
49420	return nil, false
49421}
49422
49423// AsTestErrorChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49424func (tece TestErrorChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
49425	return &tece, true
49426}
49427
49428// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49429func (tece TestErrorChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
49430	return nil, false
49431}
49432
49433// AsWaitingChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49434func (tece TestErrorChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
49435	return nil, false
49436}
49437
49438// AsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49439func (tece TestErrorChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
49440	return nil, false
49441}
49442
49443// AsBasicChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
49444func (tece TestErrorChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
49445	return &tece, true
49446}
49447
49448// TimeBasedBackupScheduleDescription describes the time based backup schedule.
49449type TimeBasedBackupScheduleDescription struct {
49450	// ScheduleFrequencyType - Describes the frequency with which to run the time based backup schedule. Possible values include: 'BackupScheduleFrequencyTypeInvalid', 'BackupScheduleFrequencyTypeDaily', 'BackupScheduleFrequencyTypeWeekly'
49451	ScheduleFrequencyType BackupScheduleFrequencyType `json:"ScheduleFrequencyType,omitempty"`
49452	// RunDays - List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly.
49453	RunDays *[]DayOfWeek `json:"RunDays,omitempty"`
49454	// RunTimes - Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored.
49455	RunTimes *[]date.Time `json:"RunTimes,omitempty"`
49456	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
49457	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
49458}
49459
49460// MarshalJSON is the custom marshaler for TimeBasedBackupScheduleDescription.
49461func (tbbsd TimeBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
49462	tbbsd.ScheduleKind = ScheduleKindTimeBased
49463	objectMap := make(map[string]interface{})
49464	if tbbsd.ScheduleFrequencyType != "" {
49465		objectMap["ScheduleFrequencyType"] = tbbsd.ScheduleFrequencyType
49466	}
49467	if tbbsd.RunDays != nil {
49468		objectMap["RunDays"] = tbbsd.RunDays
49469	}
49470	if tbbsd.RunTimes != nil {
49471		objectMap["RunTimes"] = tbbsd.RunTimes
49472	}
49473	if tbbsd.ScheduleKind != "" {
49474		objectMap["ScheduleKind"] = tbbsd.ScheduleKind
49475	}
49476	return json.Marshal(objectMap)
49477}
49478
49479// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
49480func (tbbsd TimeBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
49481	return nil, false
49482}
49483
49484// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
49485func (tbbsd TimeBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
49486	return &tbbsd, true
49487}
49488
49489// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
49490func (tbbsd TimeBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
49491	return nil, false
49492}
49493
49494// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
49495func (tbbsd TimeBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
49496	return &tbbsd, true
49497}
49498
49499// TimeOfDay defines an hour and minute of the day specified in 24 hour time.
49500type TimeOfDay struct {
49501	// Hour - Represents the hour of the day. Value must be between 0 and 23 inclusive.
49502	Hour *int32 `json:"Hour,omitempty"`
49503	// Minute - Represents the minute of the hour. Value must be between 0 to 59 inclusive.
49504	Minute *int32 `json:"Minute,omitempty"`
49505}
49506
49507// TimeRange defines a time range in a 24 hour day specified by a start and end time.
49508type TimeRange struct {
49509	// StartTime - Defines an hour and minute of the day specified in 24 hour time.
49510	StartTime *TimeOfDay `json:"StartTime,omitempty"`
49511	// EndTime - Defines an hour and minute of the day specified in 24 hour time.
49512	EndTime *TimeOfDay `json:"EndTime,omitempty"`
49513}
49514
49515// UniformInt64RangePartitionSchemeDescription describes a partitioning scheme where an integer range is
49516// allocated evenly across a number of partitions.
49517type UniformInt64RangePartitionSchemeDescription struct {
49518	// Count - The number of partitions.
49519	Count *int32 `json:"Count,omitempty"`
49520	// LowKey - String indicating the lower bound of the partition key range that
49521	// should be split between the partitions.
49522	LowKey *string `json:"LowKey,omitempty"`
49523	// HighKey - String indicating the upper bound of the partition key range that
49524	// should be split between the partitions.
49525	HighKey *string `json:"HighKey,omitempty"`
49526	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
49527	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
49528}
49529
49530// MarshalJSON is the custom marshaler for UniformInt64RangePartitionSchemeDescription.
49531func (ui6rpsd UniformInt64RangePartitionSchemeDescription) MarshalJSON() ([]byte, error) {
49532	ui6rpsd.PartitionScheme = PartitionSchemeUniformInt64Range1
49533	objectMap := make(map[string]interface{})
49534	if ui6rpsd.Count != nil {
49535		objectMap["Count"] = ui6rpsd.Count
49536	}
49537	if ui6rpsd.LowKey != nil {
49538		objectMap["LowKey"] = ui6rpsd.LowKey
49539	}
49540	if ui6rpsd.HighKey != nil {
49541		objectMap["HighKey"] = ui6rpsd.HighKey
49542	}
49543	if ui6rpsd.PartitionScheme != "" {
49544		objectMap["PartitionScheme"] = ui6rpsd.PartitionScheme
49545	}
49546	return json.Marshal(objectMap)
49547}
49548
49549// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
49550func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
49551	return nil, false
49552}
49553
49554// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
49555func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
49556	return nil, false
49557}
49558
49559// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
49560func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
49561	return &ui6rpsd, true
49562}
49563
49564// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
49565func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
49566	return nil, false
49567}
49568
49569// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
49570func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
49571	return &ui6rpsd, true
49572}
49573
49574// UnprovisionApplicationTypeDescriptionInfo describes the operation to unregister or unprovision an
49575// application type and its version that was registered with the Service Fabric.
49576type UnprovisionApplicationTypeDescriptionInfo struct {
49577	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
49578	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
49579	// Async - The flag indicating whether or not unprovision should occur asynchronously. When set to true, the unprovision operation returns when the request is accepted by the system, and the unprovision operation continues without any timeout limit. The default value is false. However, we recommend setting it to true for large application packages that were provisioned.
49580	Async *bool `json:"Async,omitempty"`
49581}
49582
49583// UnprovisionFabricDescription describes the parameters for unprovisioning a cluster.
49584type UnprovisionFabricDescription struct {
49585	// CodeVersion - The cluster code package version.
49586	CodeVersion *string `json:"CodeVersion,omitempty"`
49587	// ConfigVersion - The cluster manifest version.
49588	ConfigVersion *string `json:"ConfigVersion,omitempty"`
49589}
49590
49591// UpdateClusterUpgradeDescription parameters for updating a cluster upgrade.
49592type UpdateClusterUpgradeDescription struct {
49593	// UpgradeKind - The type of upgrade out of the following possible values. Possible values include: 'UpgradeTypeInvalid', 'UpgradeTypeRolling', 'UpgradeTypeRollingForceRestart'
49594	UpgradeKind UpgradeType `json:"UpgradeKind,omitempty"`
49595	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
49596	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
49597	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
49598	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
49599	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
49600	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
49601	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
49602	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
49603	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
49604	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
49605}
49606
49607// UpgradeDomainDeltaNodesCheckHealthEvaluation represents health evaluation for delta unhealthy cluster
49608// nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current
49609// aggregated health state.
49610// Can be returned during cluster upgrade when cluster aggregated health state is Warning or Error.
49611type UpgradeDomainDeltaNodesCheckHealthEvaluation struct {
49612	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
49613	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
49614	// BaselineErrorCount - Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
49615	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
49616	// BaselineTotalCount - Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade.
49617	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
49618	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
49619	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
49620	// TotalCount - Total number of upgrade domain nodes in the health store.
49621	TotalCount *int64 `json:"TotalCount,omitempty"`
49622	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
49623	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
49624	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
49625	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49626	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
49627	Description *string `json:"Description,omitempty"`
49628	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
49629	Kind Kind `json:"Kind,omitempty"`
49630}
49631
49632// MarshalJSON is the custom marshaler for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49633func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
49634	uddnche.Kind = KindUpgradeDomainDeltaNodesCheck
49635	objectMap := make(map[string]interface{})
49636	if uddnche.UpgradeDomainName != nil {
49637		objectMap["UpgradeDomainName"] = uddnche.UpgradeDomainName
49638	}
49639	if uddnche.BaselineErrorCount != nil {
49640		objectMap["BaselineErrorCount"] = uddnche.BaselineErrorCount
49641	}
49642	if uddnche.BaselineTotalCount != nil {
49643		objectMap["BaselineTotalCount"] = uddnche.BaselineTotalCount
49644	}
49645	if uddnche.MaxPercentDeltaUnhealthyNodes != nil {
49646		objectMap["MaxPercentDeltaUnhealthyNodes"] = uddnche.MaxPercentDeltaUnhealthyNodes
49647	}
49648	if uddnche.TotalCount != nil {
49649		objectMap["TotalCount"] = uddnche.TotalCount
49650	}
49651	if uddnche.UnhealthyEvaluations != nil {
49652		objectMap["UnhealthyEvaluations"] = uddnche.UnhealthyEvaluations
49653	}
49654	if uddnche.AggregatedHealthState != "" {
49655		objectMap["AggregatedHealthState"] = uddnche.AggregatedHealthState
49656	}
49657	if uddnche.Description != nil {
49658		objectMap["Description"] = uddnche.Description
49659	}
49660	if uddnche.Kind != "" {
49661		objectMap["Kind"] = uddnche.Kind
49662	}
49663	return json.Marshal(objectMap)
49664}
49665
49666// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49667func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
49668	return nil, false
49669}
49670
49671// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49672func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
49673	return nil, false
49674}
49675
49676// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49677func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
49678	return nil, false
49679}
49680
49681// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49682func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
49683	return nil, false
49684}
49685
49686// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49687func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
49688	return nil, false
49689}
49690
49691// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49692func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
49693	return nil, false
49694}
49695
49696// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49697func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
49698	return nil, false
49699}
49700
49701// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49702func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
49703	return nil, false
49704}
49705
49706// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49707func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
49708	return nil, false
49709}
49710
49711// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49712func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
49713	return nil, false
49714}
49715
49716// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49717func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
49718	return nil, false
49719}
49720
49721// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49722func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
49723	return nil, false
49724}
49725
49726// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49727func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
49728	return nil, false
49729}
49730
49731// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49732func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
49733	return nil, false
49734}
49735
49736// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49737func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
49738	return nil, false
49739}
49740
49741// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49742func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
49743	return nil, false
49744}
49745
49746// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49747func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
49748	return nil, false
49749}
49750
49751// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49752func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
49753	return nil, false
49754}
49755
49756// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49757func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
49758	return &uddnche, true
49759}
49760
49761// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49762func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
49763	return nil, false
49764}
49765
49766// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49767func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
49768	return nil, false
49769}
49770
49771// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49772func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
49773	return &uddnche, true
49774}
49775
49776// UpgradeDomainInfo information about an upgrade domain.
49777type UpgradeDomainInfo struct {
49778	// Name - The name of the upgrade domain
49779	Name *string `json:"Name,omitempty"`
49780	// State - The state of the upgrade domain. Possible values include: 'UpgradeDomainStateInvalid', 'UpgradeDomainStatePending', 'UpgradeDomainStateInProgress', 'UpgradeDomainStateCompleted'
49781	State UpgradeDomainState `json:"State,omitempty"`
49782}
49783
49784// UpgradeDomainNodesHealthEvaluation represents health evaluation for cluster nodes in an upgrade domain,
49785// containing health evaluations for each unhealthy node that impacted current aggregated health state. Can
49786// be returned when evaluating cluster health during cluster upgrade and the aggregated health state is
49787// either Error or Warning.
49788type UpgradeDomainNodesHealthEvaluation struct {
49789	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
49790	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
49791	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
49792	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
49793	// TotalCount - Total number of nodes in the current upgrade domain.
49794	TotalCount *int64 `json:"TotalCount,omitempty"`
49795	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
49796	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
49797	// AggregatedHealthState - The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
49798	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49799	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
49800	Description *string `json:"Description,omitempty"`
49801	// Kind - Possible values include: 'KindHealthEvaluation', 'KindApplication', 'KindApplications', 'KindApplicationTypeApplications', 'KindDeltaNodesCheck', 'KindDeployedApplication', 'KindDeployedApplications', 'KindDeployedServicePackage', 'KindDeployedServicePackages', 'KindEvent', 'KindNode', 'KindNodes', 'KindPartition', 'KindPartitions', 'KindReplica', 'KindReplicas', 'KindService', 'KindServices', 'KindSystemApplication', 'KindUpgradeDomainDeltaNodesCheck', 'KindUpgradeDomainNodes'
49802	Kind Kind `json:"Kind,omitempty"`
49803}
49804
49805// MarshalJSON is the custom marshaler for UpgradeDomainNodesHealthEvaluation.
49806func (udnhe UpgradeDomainNodesHealthEvaluation) MarshalJSON() ([]byte, error) {
49807	udnhe.Kind = KindUpgradeDomainNodes
49808	objectMap := make(map[string]interface{})
49809	if udnhe.UpgradeDomainName != nil {
49810		objectMap["UpgradeDomainName"] = udnhe.UpgradeDomainName
49811	}
49812	if udnhe.MaxPercentUnhealthyNodes != nil {
49813		objectMap["MaxPercentUnhealthyNodes"] = udnhe.MaxPercentUnhealthyNodes
49814	}
49815	if udnhe.TotalCount != nil {
49816		objectMap["TotalCount"] = udnhe.TotalCount
49817	}
49818	if udnhe.UnhealthyEvaluations != nil {
49819		objectMap["UnhealthyEvaluations"] = udnhe.UnhealthyEvaluations
49820	}
49821	if udnhe.AggregatedHealthState != "" {
49822		objectMap["AggregatedHealthState"] = udnhe.AggregatedHealthState
49823	}
49824	if udnhe.Description != nil {
49825		objectMap["Description"] = udnhe.Description
49826	}
49827	if udnhe.Kind != "" {
49828		objectMap["Kind"] = udnhe.Kind
49829	}
49830	return json.Marshal(objectMap)
49831}
49832
49833// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49834func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
49835	return nil, false
49836}
49837
49838// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49839func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
49840	return nil, false
49841}
49842
49843// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49844func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
49845	return nil, false
49846}
49847
49848// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49849func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
49850	return nil, false
49851}
49852
49853// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49854func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
49855	return nil, false
49856}
49857
49858// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49859func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
49860	return nil, false
49861}
49862
49863// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49864func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
49865	return nil, false
49866}
49867
49868// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49869func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
49870	return nil, false
49871}
49872
49873// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49874func (udnhe UpgradeDomainNodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
49875	return nil, false
49876}
49877
49878// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49879func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
49880	return nil, false
49881}
49882
49883// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49884func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
49885	return nil, false
49886}
49887
49888// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49889func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
49890	return nil, false
49891}
49892
49893// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49894func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
49895	return nil, false
49896}
49897
49898// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49899func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
49900	return nil, false
49901}
49902
49903// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49904func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
49905	return nil, false
49906}
49907
49908// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49909func (udnhe UpgradeDomainNodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
49910	return nil, false
49911}
49912
49913// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49914func (udnhe UpgradeDomainNodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
49915	return nil, false
49916}
49917
49918// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49919func (udnhe UpgradeDomainNodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
49920	return nil, false
49921}
49922
49923// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49924func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
49925	return nil, false
49926}
49927
49928// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49929func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
49930	return &udnhe, true
49931}
49932
49933// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49934func (udnhe UpgradeDomainNodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
49935	return nil, false
49936}
49937
49938// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49939func (udnhe UpgradeDomainNodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
49940	return &udnhe, true
49941}
49942
49943// UpgradeOrchestrationServiceState service state of Service Fabric Upgrade Orchestration Service.
49944type UpgradeOrchestrationServiceState struct {
49945	autorest.Response `json:"-"`
49946	// ServiceState - The state of Service Fabric Upgrade Orchestration Service.
49947	ServiceState *string `json:"ServiceState,omitempty"`
49948}
49949
49950// UpgradeOrchestrationServiceStateSummary service state summary of Service Fabric Upgrade Orchestration
49951// Service.
49952type UpgradeOrchestrationServiceStateSummary struct {
49953	autorest.Response `json:"-"`
49954	// CurrentCodeVersion - The current code version of the cluster.
49955	CurrentCodeVersion *string `json:"CurrentCodeVersion,omitempty"`
49956	// CurrentManifestVersion - The current manifest version of the cluster.
49957	CurrentManifestVersion *string `json:"CurrentManifestVersion,omitempty"`
49958	// TargetCodeVersion - The target code version of  the cluster.
49959	TargetCodeVersion *string `json:"TargetCodeVersion,omitempty"`
49960	// TargetManifestVersion - The target manifest version of the cluster.
49961	TargetManifestVersion *string `json:"TargetManifestVersion,omitempty"`
49962	// PendingUpgradeType - The type of the pending upgrade of the cluster.
49963	PendingUpgradeType *string `json:"PendingUpgradeType,omitempty"`
49964}
49965
49966// UploadChunkRange information about which portion of the file to upload.
49967type UploadChunkRange struct {
49968	// StartPosition - The start position of the portion of the file. It's represented by the number of bytes.
49969	StartPosition *string `json:"StartPosition,omitempty"`
49970	// EndPosition - The end position of the portion of the file. It's represented by the number of bytes.
49971	EndPosition *string `json:"EndPosition,omitempty"`
49972}
49973
49974// UploadSession information about a image store upload session
49975type UploadSession struct {
49976	autorest.Response `json:"-"`
49977	// UploadSessions - When querying upload session by upload session ID, the result contains only one upload session. When querying upload session by image store relative path, the result might contain multiple upload sessions.
49978	UploadSessions *[]UploadSessionInfo `json:"UploadSessions,omitempty"`
49979}
49980
49981// UploadSessionInfo information about an image store upload session. A session is associated with a
49982// relative path in the image store.
49983type UploadSessionInfo struct {
49984	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
49985	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
49986	// SessionID - A unique ID of the upload session. A session ID can be reused only if the session was committed or removed.
49987	SessionID *uuid.UUID `json:"SessionId,omitempty"`
49988	// ModifiedDate - The date and time when the upload session was last modified.
49989	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
49990	// FileSize - The size in bytes of the uploading file.
49991	FileSize *string `json:"FileSize,omitempty"`
49992	// ExpectedRanges - List of chunk ranges that image store has not received yet.
49993	ExpectedRanges *[]UploadChunkRange `json:"ExpectedRanges,omitempty"`
49994}
49995
49996// ValidationFailedChaosEvent chaos event corresponding to a failure during validation.
49997type ValidationFailedChaosEvent struct {
49998	// Reason - Describes why the ValidationFailedChaosEvent was generated. This may happen because more than MaxPercentUnhealthyNodes are unhealthy for more than MaxClusterStabilizationTimeout. This reason will be in the Reason property of the ValidationFailedChaosEvent as a string.
49999	Reason *string `json:"Reason,omitempty"`
50000	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
50001	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
50002	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
50003	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
50004}
50005
50006// MarshalJSON is the custom marshaler for ValidationFailedChaosEvent.
50007func (vfce ValidationFailedChaosEvent) MarshalJSON() ([]byte, error) {
50008	vfce.Kind = KindValidationFailed
50009	objectMap := make(map[string]interface{})
50010	if vfce.Reason != nil {
50011		objectMap["Reason"] = vfce.Reason
50012	}
50013	if vfce.TimeStampUtc != nil {
50014		objectMap["TimeStampUtc"] = vfce.TimeStampUtc
50015	}
50016	if vfce.Kind != "" {
50017		objectMap["Kind"] = vfce.Kind
50018	}
50019	return json.Marshal(objectMap)
50020}
50021
50022// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50023func (vfce ValidationFailedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
50024	return nil, false
50025}
50026
50027// AsStartedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50028func (vfce ValidationFailedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
50029	return nil, false
50030}
50031
50032// AsStoppedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50033func (vfce ValidationFailedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
50034	return nil, false
50035}
50036
50037// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50038func (vfce ValidationFailedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
50039	return nil, false
50040}
50041
50042// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50043func (vfce ValidationFailedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
50044	return &vfce, true
50045}
50046
50047// AsWaitingChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50048func (vfce ValidationFailedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
50049	return nil, false
50050}
50051
50052// AsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50053func (vfce ValidationFailedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
50054	return nil, false
50055}
50056
50057// AsBasicChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
50058func (vfce ValidationFailedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
50059	return &vfce, true
50060}
50061
50062// VolumeProperties this type describes properties of a volume resource.
50063type VolumeProperties struct {
50064	// Description - User readable description of the volume.
50065	Description *string `json:"description,omitempty"`
50066	// Provider - Provider of the volume.
50067	Provider *string `json:"provider,omitempty"`
50068	// AzureFileParameters - This type describes a volume provided by an Azure Files file share.
50069	AzureFileParameters *VolumeProviderParametersAzureFile `json:"azureFileParameters,omitempty"`
50070}
50071
50072// VolumeProviderParametersAzureFile this type describes a volume provided by an Azure Files file share.
50073type VolumeProviderParametersAzureFile struct {
50074	// AccountName - Name of the Azure storage account for the File Share.
50075	AccountName *string `json:"accountName,omitempty"`
50076	// AccountKey - Access key of the Azure storage account for the File Share.
50077	AccountKey *string `json:"accountKey,omitempty"`
50078	// ShareName - Name of the Azure Files file share that provides storage for the volume.
50079	ShareName *string `json:"shareName,omitempty"`
50080}
50081
50082// VolumeResourceDescription describes a service fabric volume resource.
50083type VolumeResourceDescription struct {
50084	autorest.Response `json:"-"`
50085	// VolumeProperties - This type describes properties of a volume resource.
50086	*VolumeProperties `json:"properties,omitempty"`
50087	// Name - Volume resource name.
50088	Name *string `json:"name,omitempty"`
50089}
50090
50091// MarshalJSON is the custom marshaler for VolumeResourceDescription.
50092func (vrd VolumeResourceDescription) MarshalJSON() ([]byte, error) {
50093	objectMap := make(map[string]interface{})
50094	if vrd.VolumeProperties != nil {
50095		objectMap["properties"] = vrd.VolumeProperties
50096	}
50097	if vrd.Name != nil {
50098		objectMap["name"] = vrd.Name
50099	}
50100	return json.Marshal(objectMap)
50101}
50102
50103// UnmarshalJSON is the custom unmarshaler for VolumeResourceDescription struct.
50104func (vrd *VolumeResourceDescription) UnmarshalJSON(body []byte) error {
50105	var m map[string]*json.RawMessage
50106	err := json.Unmarshal(body, &m)
50107	if err != nil {
50108		return err
50109	}
50110	for k, v := range m {
50111		switch k {
50112		case "properties":
50113			if v != nil {
50114				var volumeProperties VolumeProperties
50115				err = json.Unmarshal(*v, &volumeProperties)
50116				if err != nil {
50117					return err
50118				}
50119				vrd.VolumeProperties = &volumeProperties
50120			}
50121		case "name":
50122			if v != nil {
50123				var name string
50124				err = json.Unmarshal(*v, &name)
50125				if err != nil {
50126					return err
50127				}
50128				vrd.Name = &name
50129			}
50130		}
50131	}
50132
50133	return nil
50134}
50135
50136// WaitForInbuildReplicaSafetyCheck safety check that waits for the replica build operation to finish. This
50137// indicates that there is a replica that is going through the copy or is providing data for building
50138// another replica. Bring the node down will abort this copy operation which are typically expensive
50139// involving data movements.
50140type WaitForInbuildReplicaSafetyCheck struct {
50141	// PartitionID - Id of the partition which is undergoing the safety check.
50142	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50143	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
50144	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
50145}
50146
50147// MarshalJSON is the custom marshaler for WaitForInbuildReplicaSafetyCheck.
50148func (wfirsc WaitForInbuildReplicaSafetyCheck) MarshalJSON() ([]byte, error) {
50149	wfirsc.Kind = KindWaitForInbuildReplica
50150	objectMap := make(map[string]interface{})
50151	if wfirsc.PartitionID != nil {
50152		objectMap["PartitionId"] = wfirsc.PartitionID
50153	}
50154	if wfirsc.Kind != "" {
50155		objectMap["Kind"] = wfirsc.Kind
50156	}
50157	return json.Marshal(objectMap)
50158}
50159
50160// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50161func (wfirsc WaitForInbuildReplicaSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
50162	return nil, false
50163}
50164
50165// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50166func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
50167	return &wfirsc, true
50168}
50169
50170// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50171func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
50172	return nil, false
50173}
50174
50175// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50176func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
50177	return nil, false
50178}
50179
50180// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50181func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
50182	return nil, false
50183}
50184
50185// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50186func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
50187	return &wfirsc, true
50188}
50189
50190// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50191func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
50192	return nil, false
50193}
50194
50195// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50196func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
50197	return nil, false
50198}
50199
50200// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50201func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
50202	return nil, false
50203}
50204
50205// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50206func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
50207	return nil, false
50208}
50209
50210// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
50211func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
50212	return &wfirsc, true
50213}
50214
50215// WaitForPrimaryPlacementSafetyCheck safety check that waits for the primary replica that was moved out of
50216// the node due to upgrade to be placed back again on that node.
50217type WaitForPrimaryPlacementSafetyCheck struct {
50218	// PartitionID - Id of the partition which is undergoing the safety check.
50219	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50220	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
50221	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
50222}
50223
50224// MarshalJSON is the custom marshaler for WaitForPrimaryPlacementSafetyCheck.
50225func (wfppsc WaitForPrimaryPlacementSafetyCheck) MarshalJSON() ([]byte, error) {
50226	wfppsc.Kind = KindWaitForPrimaryPlacement
50227	objectMap := make(map[string]interface{})
50228	if wfppsc.PartitionID != nil {
50229		objectMap["PartitionId"] = wfppsc.PartitionID
50230	}
50231	if wfppsc.Kind != "" {
50232		objectMap["Kind"] = wfppsc.Kind
50233	}
50234	return json.Marshal(objectMap)
50235}
50236
50237// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50238func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
50239	return nil, false
50240}
50241
50242// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50243func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
50244	return &wfppsc, true
50245}
50246
50247// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50248func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
50249	return nil, false
50250}
50251
50252// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50253func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
50254	return nil, false
50255}
50256
50257// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50258func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
50259	return nil, false
50260}
50261
50262// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50263func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
50264	return nil, false
50265}
50266
50267// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50268func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
50269	return &wfppsc, true
50270}
50271
50272// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50273func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
50274	return nil, false
50275}
50276
50277// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50278func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
50279	return nil, false
50280}
50281
50282// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50283func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
50284	return nil, false
50285}
50286
50287// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
50288func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
50289	return &wfppsc, true
50290}
50291
50292// WaitForPrimarySwapSafetyCheck safety check that waits for the primary replica to be moved out of the
50293// node before starting an upgrade to ensure the availability of the primary replica for the partition.
50294type WaitForPrimarySwapSafetyCheck struct {
50295	// PartitionID - Id of the partition which is undergoing the safety check.
50296	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50297	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
50298	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
50299}
50300
50301// MarshalJSON is the custom marshaler for WaitForPrimarySwapSafetyCheck.
50302func (wfpssc WaitForPrimarySwapSafetyCheck) MarshalJSON() ([]byte, error) {
50303	wfpssc.Kind = KindWaitForPrimarySwap
50304	objectMap := make(map[string]interface{})
50305	if wfpssc.PartitionID != nil {
50306		objectMap["PartitionId"] = wfpssc.PartitionID
50307	}
50308	if wfpssc.Kind != "" {
50309		objectMap["Kind"] = wfpssc.Kind
50310	}
50311	return json.Marshal(objectMap)
50312}
50313
50314// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50315func (wfpssc WaitForPrimarySwapSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
50316	return nil, false
50317}
50318
50319// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50320func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
50321	return &wfpssc, true
50322}
50323
50324// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50325func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
50326	return nil, false
50327}
50328
50329// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50330func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
50331	return nil, false
50332}
50333
50334// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50335func (wfpssc WaitForPrimarySwapSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
50336	return nil, false
50337}
50338
50339// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50340func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
50341	return nil, false
50342}
50343
50344// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50345func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
50346	return nil, false
50347}
50348
50349// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50350func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
50351	return &wfpssc, true
50352}
50353
50354// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50355func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
50356	return nil, false
50357}
50358
50359// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50360func (wfpssc WaitForPrimarySwapSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
50361	return nil, false
50362}
50363
50364// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
50365func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
50366	return &wfpssc, true
50367}
50368
50369// WaitForReconfigurationSafetyCheck safety check that waits for the current reconfiguration of the
50370// partition to be completed before starting an upgrade.
50371type WaitForReconfigurationSafetyCheck struct {
50372	// PartitionID - Id of the partition which is undergoing the safety check.
50373	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50374	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
50375	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
50376}
50377
50378// MarshalJSON is the custom marshaler for WaitForReconfigurationSafetyCheck.
50379func (wfrsc WaitForReconfigurationSafetyCheck) MarshalJSON() ([]byte, error) {
50380	wfrsc.Kind = KindWaitForReconfiguration
50381	objectMap := make(map[string]interface{})
50382	if wfrsc.PartitionID != nil {
50383		objectMap["PartitionId"] = wfrsc.PartitionID
50384	}
50385	if wfrsc.Kind != "" {
50386		objectMap["Kind"] = wfrsc.Kind
50387	}
50388	return json.Marshal(objectMap)
50389}
50390
50391// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50392func (wfrsc WaitForReconfigurationSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
50393	return nil, false
50394}
50395
50396// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50397func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
50398	return &wfrsc, true
50399}
50400
50401// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50402func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
50403	return nil, false
50404}
50405
50406// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50407func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
50408	return nil, false
50409}
50410
50411// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50412func (wfrsc WaitForReconfigurationSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
50413	return nil, false
50414}
50415
50416// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50417func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
50418	return nil, false
50419}
50420
50421// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50422func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
50423	return nil, false
50424}
50425
50426// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50427func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
50428	return nil, false
50429}
50430
50431// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50432func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
50433	return &wfrsc, true
50434}
50435
50436// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50437func (wfrsc WaitForReconfigurationSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
50438	return nil, false
50439}
50440
50441// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
50442func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
50443	return &wfrsc, true
50444}
50445
50446// WaitingChaosEvent describes a Chaos event that gets generated when Chaos is waiting for the cluster to
50447// become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.
50448type WaitingChaosEvent struct {
50449	// Reason - Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade.
50450	Reason *string `json:"Reason,omitempty"`
50451	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
50452	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
50453	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
50454	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
50455}
50456
50457// MarshalJSON is the custom marshaler for WaitingChaosEvent.
50458func (wce WaitingChaosEvent) MarshalJSON() ([]byte, error) {
50459	wce.Kind = KindWaiting
50460	objectMap := make(map[string]interface{})
50461	if wce.Reason != nil {
50462		objectMap["Reason"] = wce.Reason
50463	}
50464	if wce.TimeStampUtc != nil {
50465		objectMap["TimeStampUtc"] = wce.TimeStampUtc
50466	}
50467	if wce.Kind != "" {
50468		objectMap["Kind"] = wce.Kind
50469	}
50470	return json.Marshal(objectMap)
50471}
50472
50473// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50474func (wce WaitingChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
50475	return nil, false
50476}
50477
50478// AsStartedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50479func (wce WaitingChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
50480	return nil, false
50481}
50482
50483// AsStoppedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50484func (wce WaitingChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
50485	return nil, false
50486}
50487
50488// AsTestErrorChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50489func (wce WaitingChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
50490	return nil, false
50491}
50492
50493// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50494func (wce WaitingChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
50495	return nil, false
50496}
50497
50498// AsWaitingChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50499func (wce WaitingChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
50500	return &wce, true
50501}
50502
50503// AsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50504func (wce WaitingChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
50505	return nil, false
50506}
50507
50508// AsBasicChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
50509func (wce WaitingChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
50510	return &wce, true
50511}
50512