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.2/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// ApplicationsHealthEvaluation represents health evaluation for applications, containing health
2960// evaluations for each unhealthy application that impacted current aggregated health state.
2961type ApplicationsHealthEvaluation struct {
2962	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy.
2963	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
2964	// TotalCount - Total number of applications from the health store.
2965	TotalCount *int64 `json:"TotalCount,omitempty"`
2966	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health.
2967	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
2968	// 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'
2969	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
2970	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
2971	Description *string `json:"Description,omitempty"`
2972	// 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'
2973	Kind Kind `json:"Kind,omitempty"`
2974}
2975
2976// MarshalJSON is the custom marshaler for ApplicationsHealthEvaluation.
2977func (ahe ApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
2978	ahe.Kind = KindApplications
2979	objectMap := make(map[string]interface{})
2980	if ahe.MaxPercentUnhealthyApplications != nil {
2981		objectMap["MaxPercentUnhealthyApplications"] = ahe.MaxPercentUnhealthyApplications
2982	}
2983	if ahe.TotalCount != nil {
2984		objectMap["TotalCount"] = ahe.TotalCount
2985	}
2986	if ahe.UnhealthyEvaluations != nil {
2987		objectMap["UnhealthyEvaluations"] = ahe.UnhealthyEvaluations
2988	}
2989	if ahe.AggregatedHealthState != "" {
2990		objectMap["AggregatedHealthState"] = ahe.AggregatedHealthState
2991	}
2992	if ahe.Description != nil {
2993		objectMap["Description"] = ahe.Description
2994	}
2995	if ahe.Kind != "" {
2996		objectMap["Kind"] = ahe.Kind
2997	}
2998	return json.Marshal(objectMap)
2999}
3000
3001// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3002func (ahe ApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
3003	return nil, false
3004}
3005
3006// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3007func (ahe ApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
3008	return &ahe, true
3009}
3010
3011// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3012func (ahe ApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
3013	return nil, false
3014}
3015
3016// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3017func (ahe ApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
3018	return nil, false
3019}
3020
3021// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3022func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
3023	return nil, false
3024}
3025
3026// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3027func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
3028	return nil, false
3029}
3030
3031// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3032func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
3033	return nil, false
3034}
3035
3036// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3037func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
3038	return nil, false
3039}
3040
3041// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3042func (ahe ApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
3043	return nil, false
3044}
3045
3046// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3047func (ahe ApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
3048	return nil, false
3049}
3050
3051// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3052func (ahe ApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
3053	return nil, false
3054}
3055
3056// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3057func (ahe ApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
3058	return nil, false
3059}
3060
3061// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3062func (ahe ApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
3063	return nil, false
3064}
3065
3066// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3067func (ahe ApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
3068	return nil, false
3069}
3070
3071// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3072func (ahe ApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
3073	return nil, false
3074}
3075
3076// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3077func (ahe ApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
3078	return nil, false
3079}
3080
3081// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3082func (ahe ApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
3083	return nil, false
3084}
3085
3086// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3087func (ahe ApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
3088	return nil, false
3089}
3090
3091// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3092func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
3093	return nil, false
3094}
3095
3096// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3097func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
3098	return nil, false
3099}
3100
3101// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3102func (ahe ApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
3103	return nil, false
3104}
3105
3106// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
3107func (ahe ApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
3108	return &ahe, true
3109}
3110
3111// ApplicationTypeApplicationsHealthEvaluation represents health evaluation for applications of a
3112// particular application type. The application type applications evaluation can be returned when cluster
3113// health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health
3114// evaluations for each unhealthy application of the included application type that impacted current
3115// aggregated health state.
3116type ApplicationTypeApplicationsHealthEvaluation struct {
3117	// ApplicationTypeName - The application type name as defined in the application manifest.
3118	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3119	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap.
3120	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
3121	// TotalCount - Total number of applications of the application type found in the health store.
3122	TotalCount *int64 `json:"TotalCount,omitempty"`
3123	// 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.
3124	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
3125	// 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'
3126	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
3127	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
3128	Description *string `json:"Description,omitempty"`
3129	// 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'
3130	Kind Kind `json:"Kind,omitempty"`
3131}
3132
3133// MarshalJSON is the custom marshaler for ApplicationTypeApplicationsHealthEvaluation.
3134func (atahe ApplicationTypeApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
3135	atahe.Kind = KindApplicationTypeApplications
3136	objectMap := make(map[string]interface{})
3137	if atahe.ApplicationTypeName != nil {
3138		objectMap["ApplicationTypeName"] = atahe.ApplicationTypeName
3139	}
3140	if atahe.MaxPercentUnhealthyApplications != nil {
3141		objectMap["MaxPercentUnhealthyApplications"] = atahe.MaxPercentUnhealthyApplications
3142	}
3143	if atahe.TotalCount != nil {
3144		objectMap["TotalCount"] = atahe.TotalCount
3145	}
3146	if atahe.UnhealthyEvaluations != nil {
3147		objectMap["UnhealthyEvaluations"] = atahe.UnhealthyEvaluations
3148	}
3149	if atahe.AggregatedHealthState != "" {
3150		objectMap["AggregatedHealthState"] = atahe.AggregatedHealthState
3151	}
3152	if atahe.Description != nil {
3153		objectMap["Description"] = atahe.Description
3154	}
3155	if atahe.Kind != "" {
3156		objectMap["Kind"] = atahe.Kind
3157	}
3158	return json.Marshal(objectMap)
3159}
3160
3161// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3162func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
3163	return nil, false
3164}
3165
3166// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3167func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
3168	return nil, false
3169}
3170
3171// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3172func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
3173	return &atahe, true
3174}
3175
3176// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3177func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
3178	return nil, false
3179}
3180
3181// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3182func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
3183	return nil, false
3184}
3185
3186// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3187func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
3188	return nil, false
3189}
3190
3191// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3192func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
3193	return nil, false
3194}
3195
3196// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3197func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
3198	return nil, false
3199}
3200
3201// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3202func (atahe ApplicationTypeApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
3203	return nil, false
3204}
3205
3206// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3207func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
3208	return nil, false
3209}
3210
3211// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3212func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
3213	return nil, false
3214}
3215
3216// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3217func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
3218	return nil, false
3219}
3220
3221// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3222func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
3223	return nil, false
3224}
3225
3226// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3227func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
3228	return nil, false
3229}
3230
3231// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3232func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
3233	return nil, false
3234}
3235
3236// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3237func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
3238	return nil, false
3239}
3240
3241// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3242func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
3243	return nil, false
3244}
3245
3246// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3247func (atahe ApplicationTypeApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
3248	return nil, false
3249}
3250
3251// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3252func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
3253	return nil, false
3254}
3255
3256// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3257func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
3258	return nil, false
3259}
3260
3261// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3262func (atahe ApplicationTypeApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
3263	return nil, false
3264}
3265
3266// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
3267func (atahe ApplicationTypeApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
3268	return &atahe, true
3269}
3270
3271// ApplicationTypeHealthPolicyMapItem defines an item in ApplicationTypeHealthPolicyMap.
3272type ApplicationTypeHealthPolicyMapItem struct {
3273	// Key - The key of the application type health policy map item. This is the name of the application type.
3274	Key *string `json:"Key,omitempty"`
3275	// Value - The value of the application type health policy map item.
3276	// The max percent unhealthy applications allowed for the application type. Must be between zero and 100.
3277	Value *int32 `json:"Value,omitempty"`
3278}
3279
3280// ApplicationTypeImageStorePath path description for the application package in the image store specified
3281// during the prior copy operation.
3282type ApplicationTypeImageStorePath struct {
3283	// ApplicationTypeBuildPath - The relative image store path to the application package.
3284	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
3285}
3286
3287// ApplicationTypeInfo information about an application type.
3288type ApplicationTypeInfo struct {
3289	// Name - The application type name as defined in the application manifest.
3290	Name *string `json:"Name,omitempty"`
3291	// Version - The version of the application type as defined in the application manifest.
3292	Version *string `json:"Version,omitempty"`
3293	// DefaultParameterList - List of application type parameters that can be overridden when creating or updating the application.
3294	DefaultParameterList *[]ApplicationParameter `json:"DefaultParameterList,omitempty"`
3295	// Status - The status of the application type. Possible values include: 'ApplicationTypeStatusInvalid', 'ApplicationTypeStatusProvisioning', 'ApplicationTypeStatusAvailable', 'ApplicationTypeStatusUnprovisioning', 'ApplicationTypeStatusFailed'
3296	Status ApplicationTypeStatus `json:"Status,omitempty"`
3297	// StatusDetails - Additional detailed information about the status of the application type.
3298	StatusDetails *string `json:"StatusDetails,omitempty"`
3299	// ApplicationTypeDefinitionKind - The mechanism used to define a Service Fabric application type. Possible values include: 'ApplicationTypeDefinitionKindInvalid', 'ApplicationTypeDefinitionKindServiceFabricApplicationPackage', 'ApplicationTypeDefinitionKindCompose'
3300	ApplicationTypeDefinitionKind ApplicationTypeDefinitionKind `json:"ApplicationTypeDefinitionKind,omitempty"`
3301}
3302
3303// ApplicationTypeManifest contains the manifest describing an application type registered in a Service
3304// Fabric cluster.
3305type ApplicationTypeManifest struct {
3306	autorest.Response `json:"-"`
3307	// Manifest - The XML manifest as a string.
3308	Manifest *string `json:"Manifest,omitempty"`
3309}
3310
3311// ApplicationUpgradeCompleteEvent application Upgrade Complete event.
3312type ApplicationUpgradeCompleteEvent struct {
3313	// ApplicationTypeName - Application type name.
3314	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3315	// ApplicationTypeVersion - Application type version.
3316	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3317	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
3318	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
3319	// 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.
3320	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3321	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3322	ApplicationID *string `json:"ApplicationId,omitempty"`
3323	// EventInstanceID - The identifier for the FabricEvent instance.
3324	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3325	// TimeStamp - The time event was logged.
3326	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3327	// HasCorrelatedEvents - Shows there is existing related events available.
3328	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3329	// 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'
3330	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3331}
3332
3333// MarshalJSON is the custom marshaler for ApplicationUpgradeCompleteEvent.
3334func (auce ApplicationUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
3335	auce.Kind = KindApplicationUpgradeComplete
3336	objectMap := make(map[string]interface{})
3337	if auce.ApplicationTypeName != nil {
3338		objectMap["ApplicationTypeName"] = auce.ApplicationTypeName
3339	}
3340	if auce.ApplicationTypeVersion != nil {
3341		objectMap["ApplicationTypeVersion"] = auce.ApplicationTypeVersion
3342	}
3343	if auce.OverallUpgradeElapsedTimeInMs != nil {
3344		objectMap["OverallUpgradeElapsedTimeInMs"] = auce.OverallUpgradeElapsedTimeInMs
3345	}
3346	if auce.ApplicationID != nil {
3347		objectMap["ApplicationId"] = auce.ApplicationID
3348	}
3349	if auce.EventInstanceID != nil {
3350		objectMap["EventInstanceId"] = auce.EventInstanceID
3351	}
3352	if auce.TimeStamp != nil {
3353		objectMap["TimeStamp"] = auce.TimeStamp
3354	}
3355	if auce.HasCorrelatedEvents != nil {
3356		objectMap["HasCorrelatedEvents"] = auce.HasCorrelatedEvents
3357	}
3358	if auce.Kind != "" {
3359		objectMap["Kind"] = auce.Kind
3360	}
3361	return json.Marshal(objectMap)
3362}
3363
3364// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3365func (auce ApplicationUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3366	return nil, false
3367}
3368
3369// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3370func (auce ApplicationUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3371	return &auce, true
3372}
3373
3374// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3375func (auce ApplicationUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
3376	return nil, false
3377}
3378
3379// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3380func (auce ApplicationUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3381	return nil, false
3382}
3383
3384// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3385func (auce ApplicationUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3386	return nil, false
3387}
3388
3389// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3390func (auce ApplicationUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
3391	return nil, false
3392}
3393
3394// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3395func (auce ApplicationUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3396	return nil, false
3397}
3398
3399// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3400func (auce ApplicationUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3401	return nil, false
3402}
3403
3404// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3405func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3406	return nil, false
3407}
3408
3409// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3410func (auce ApplicationUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3411	return nil, false
3412}
3413
3414// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3415func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3416	return nil, false
3417}
3418
3419// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3420func (auce ApplicationUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3421	return nil, false
3422}
3423
3424// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3425func (auce ApplicationUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
3426	return nil, false
3427}
3428
3429// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3430func (auce ApplicationUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
3431	return nil, false
3432}
3433
3434// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3435func (auce ApplicationUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
3436	return nil, false
3437}
3438
3439// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3440func (auce ApplicationUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
3441	return nil, false
3442}
3443
3444// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3445func (auce ApplicationUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
3446	return nil, false
3447}
3448
3449// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3450func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
3451	return nil, false
3452}
3453
3454// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3455func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
3456	return nil, false
3457}
3458
3459// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3460func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
3461	return &auce, true
3462}
3463
3464// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3465func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
3466	return nil, false
3467}
3468
3469// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3470func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
3471	return nil, false
3472}
3473
3474// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3475func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
3476	return nil, false
3477}
3478
3479// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3480func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
3481	return nil, false
3482}
3483
3484// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3485func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
3486	return nil, false
3487}
3488
3489// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3490func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
3491	return nil, false
3492}
3493
3494// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3495func (auce ApplicationUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
3496	return nil, false
3497}
3498
3499// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3500func (auce ApplicationUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
3501	return nil, false
3502}
3503
3504// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3505func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
3506	return nil, false
3507}
3508
3509// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3510func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
3511	return nil, false
3512}
3513
3514// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3515func (auce ApplicationUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
3516	return nil, false
3517}
3518
3519// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3520func (auce ApplicationUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
3521	return nil, false
3522}
3523
3524// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3525func (auce ApplicationUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
3526	return nil, false
3527}
3528
3529// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3530func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
3531	return nil, false
3532}
3533
3534// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3535func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
3536	return nil, false
3537}
3538
3539// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3540func (auce ApplicationUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
3541	return nil, false
3542}
3543
3544// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3545func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
3546	return nil, false
3547}
3548
3549// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3550func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
3551	return nil, false
3552}
3553
3554// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3555func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
3556	return nil, false
3557}
3558
3559// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3560func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
3561	return nil, false
3562}
3563
3564// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3565func (auce ApplicationUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
3566	return nil, false
3567}
3568
3569// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3570func (auce ApplicationUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
3571	return nil, false
3572}
3573
3574// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3575func (auce ApplicationUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
3576	return nil, false
3577}
3578
3579// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3580func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
3581	return nil, false
3582}
3583
3584// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3585func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
3586	return nil, false
3587}
3588
3589// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3590func (auce ApplicationUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
3591	return nil, false
3592}
3593
3594// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3595func (auce ApplicationUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
3596	return nil, false
3597}
3598
3599// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3600func (auce ApplicationUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
3601	return nil, false
3602}
3603
3604// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3605func (auce ApplicationUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
3606	return nil, false
3607}
3608
3609// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3610func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
3611	return nil, false
3612}
3613
3614// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3615func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
3616	return nil, false
3617}
3618
3619// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3620func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
3621	return nil, false
3622}
3623
3624// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3625func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
3626	return nil, false
3627}
3628
3629// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3630func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
3631	return nil, false
3632}
3633
3634// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3635func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
3636	return nil, false
3637}
3638
3639// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3640func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
3641	return nil, false
3642}
3643
3644// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3645func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
3646	return nil, false
3647}
3648
3649// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3650func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
3651	return nil, false
3652}
3653
3654// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3655func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
3656	return nil, false
3657}
3658
3659// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3660func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
3661	return nil, false
3662}
3663
3664// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3665func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
3666	return nil, false
3667}
3668
3669// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3670func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
3671	return nil, false
3672}
3673
3674// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3675func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
3676	return nil, false
3677}
3678
3679// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3680func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
3681	return nil, false
3682}
3683
3684// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3685func (auce ApplicationUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
3686	return nil, false
3687}
3688
3689// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3690func (auce ApplicationUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
3691	return nil, false
3692}
3693
3694// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3695func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
3696	return nil, false
3697}
3698
3699// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3700func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
3701	return nil, false
3702}
3703
3704// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3705func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
3706	return nil, false
3707}
3708
3709// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3710func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
3711	return nil, false
3712}
3713
3714// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3715func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
3716	return nil, false
3717}
3718
3719// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3720func (auce ApplicationUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
3721	return nil, false
3722}
3723
3724// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3725func (auce ApplicationUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
3726	return nil, false
3727}
3728
3729// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3730func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
3731	return nil, false
3732}
3733
3734// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3735func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
3736	return nil, false
3737}
3738
3739// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3740func (auce ApplicationUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
3741	return nil, false
3742}
3743
3744// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
3745func (auce ApplicationUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
3746	return &auce, true
3747}
3748
3749// ApplicationUpgradeDescription describes the parameters for an application upgrade. Please note that
3750// upgrade description replaces the existing application description. This means that if the parameters are
3751// not specified, the existing parameters on the applications will be overwritten with the empty parameters
3752// list. This would results in application using the default value of the parameters from the application
3753// manifest. If you do not want to change any existing parameter values, please get the application
3754// parameters first using the GetApplicationInfo query and then supply those values as Parameters in this
3755// ApplicationUpgradeDescription.
3756type ApplicationUpgradeDescription struct {
3757	// Name - The name of the target application, including the 'fabric:' URI scheme.
3758	Name *string `json:"Name,omitempty"`
3759	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
3760	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
3761	// Parameters - List of application parameters with overridden values from their default values specified in the application manifest.
3762	Parameters *[]ApplicationParameter `json:"Parameters,omitempty"`
3763	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
3764	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
3765	// 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'
3766	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
3767	// 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).
3768	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
3769	// 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).
3770	ForceRestart *bool `json:"ForceRestart,omitempty"`
3771	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
3772	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
3773	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
3774	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
3775}
3776
3777// ApplicationUpgradeDomainCompleteEvent application Upgrade Domain Complete event.
3778type ApplicationUpgradeDomainCompleteEvent struct {
3779	// ApplicationTypeName - Application type name.
3780	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3781	// CurrentApplicationTypeVersion - Current Application type version.
3782	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
3783	// ApplicationTypeVersion - Target Application type version.
3784	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3785	// UpgradeState - State of upgrade.
3786	UpgradeState *string `json:"UpgradeState,omitempty"`
3787	// UpgradeDomains - Upgrade domains.
3788	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
3789	// UpgradeDomainElapsedTimeInMs - Upgrade time of domain in milli-seconds.
3790	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
3791	// 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.
3792	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3793	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3794	ApplicationID *string `json:"ApplicationId,omitempty"`
3795	// EventInstanceID - The identifier for the FabricEvent instance.
3796	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3797	// TimeStamp - The time event was logged.
3798	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3799	// HasCorrelatedEvents - Shows there is existing related events available.
3800	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3801	// 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'
3802	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3803}
3804
3805// MarshalJSON is the custom marshaler for ApplicationUpgradeDomainCompleteEvent.
3806func (audce ApplicationUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
3807	audce.Kind = KindApplicationUpgradeDomainComplete
3808	objectMap := make(map[string]interface{})
3809	if audce.ApplicationTypeName != nil {
3810		objectMap["ApplicationTypeName"] = audce.ApplicationTypeName
3811	}
3812	if audce.CurrentApplicationTypeVersion != nil {
3813		objectMap["CurrentApplicationTypeVersion"] = audce.CurrentApplicationTypeVersion
3814	}
3815	if audce.ApplicationTypeVersion != nil {
3816		objectMap["ApplicationTypeVersion"] = audce.ApplicationTypeVersion
3817	}
3818	if audce.UpgradeState != nil {
3819		objectMap["UpgradeState"] = audce.UpgradeState
3820	}
3821	if audce.UpgradeDomains != nil {
3822		objectMap["UpgradeDomains"] = audce.UpgradeDomains
3823	}
3824	if audce.UpgradeDomainElapsedTimeInMs != nil {
3825		objectMap["UpgradeDomainElapsedTimeInMs"] = audce.UpgradeDomainElapsedTimeInMs
3826	}
3827	if audce.ApplicationID != nil {
3828		objectMap["ApplicationId"] = audce.ApplicationID
3829	}
3830	if audce.EventInstanceID != nil {
3831		objectMap["EventInstanceId"] = audce.EventInstanceID
3832	}
3833	if audce.TimeStamp != nil {
3834		objectMap["TimeStamp"] = audce.TimeStamp
3835	}
3836	if audce.HasCorrelatedEvents != nil {
3837		objectMap["HasCorrelatedEvents"] = audce.HasCorrelatedEvents
3838	}
3839	if audce.Kind != "" {
3840		objectMap["Kind"] = audce.Kind
3841	}
3842	return json.Marshal(objectMap)
3843}
3844
3845// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3846func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3847	return nil, false
3848}
3849
3850// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3851func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3852	return &audce, true
3853}
3854
3855// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3856func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
3857	return nil, false
3858}
3859
3860// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3861func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3862	return nil, false
3863}
3864
3865// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3866func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3867	return nil, false
3868}
3869
3870// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3871func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
3872	return nil, false
3873}
3874
3875// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3876func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3877	return nil, false
3878}
3879
3880// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3881func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3882	return nil, false
3883}
3884
3885// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3886func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3887	return nil, false
3888}
3889
3890// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3891func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3892	return nil, false
3893}
3894
3895// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3896func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3897	return nil, false
3898}
3899
3900// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3901func (audce ApplicationUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3902	return nil, false
3903}
3904
3905// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3906func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
3907	return nil, false
3908}
3909
3910// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3911func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
3912	return nil, false
3913}
3914
3915// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3916func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
3917	return nil, false
3918}
3919
3920// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3921func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
3922	return nil, false
3923}
3924
3925// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3926func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
3927	return nil, false
3928}
3929
3930// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3931func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
3932	return nil, false
3933}
3934
3935// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3936func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
3937	return nil, false
3938}
3939
3940// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3941func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
3942	return nil, false
3943}
3944
3945// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3946func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
3947	return &audce, true
3948}
3949
3950// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3951func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
3952	return nil, false
3953}
3954
3955// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3956func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
3957	return nil, false
3958}
3959
3960// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3961func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
3962	return nil, false
3963}
3964
3965// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3966func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
3967	return nil, false
3968}
3969
3970// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3971func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
3972	return nil, false
3973}
3974
3975// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3976func (audce ApplicationUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
3977	return nil, false
3978}
3979
3980// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3981func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
3982	return nil, false
3983}
3984
3985// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3986func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
3987	return nil, false
3988}
3989
3990// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3991func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
3992	return nil, false
3993}
3994
3995// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
3996func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
3997	return nil, false
3998}
3999
4000// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4001func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4002	return nil, false
4003}
4004
4005// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4006func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4007	return nil, false
4008}
4009
4010// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4011func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4012	return nil, false
4013}
4014
4015// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4016func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4017	return nil, false
4018}
4019
4020// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4021func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4022	return nil, false
4023}
4024
4025// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4026func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4027	return nil, false
4028}
4029
4030// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4031func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4032	return nil, false
4033}
4034
4035// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4036func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4037	return nil, false
4038}
4039
4040// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4041func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4042	return nil, false
4043}
4044
4045// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4046func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4047	return nil, false
4048}
4049
4050// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4051func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4052	return nil, false
4053}
4054
4055// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4056func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4057	return nil, false
4058}
4059
4060// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4061func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4062	return nil, false
4063}
4064
4065// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4066func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4067	return nil, false
4068}
4069
4070// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4071func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4072	return nil, false
4073}
4074
4075// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4076func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4077	return nil, false
4078}
4079
4080// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4081func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4082	return nil, false
4083}
4084
4085// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4086func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4087	return nil, false
4088}
4089
4090// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4091func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4092	return nil, false
4093}
4094
4095// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4096func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4097	return nil, false
4098}
4099
4100// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4101func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4102	return nil, false
4103}
4104
4105// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4106func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4107	return nil, false
4108}
4109
4110// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4111func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4112	return nil, false
4113}
4114
4115// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4116func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4117	return nil, false
4118}
4119
4120// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4121func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4122	return nil, false
4123}
4124
4125// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4126func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4127	return nil, false
4128}
4129
4130// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4131func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4132	return nil, false
4133}
4134
4135// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4136func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4137	return nil, false
4138}
4139
4140// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4141func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4142	return nil, false
4143}
4144
4145// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4146func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4147	return nil, false
4148}
4149
4150// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4151func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4152	return nil, false
4153}
4154
4155// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4156func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4157	return nil, false
4158}
4159
4160// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4161func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4162	return nil, false
4163}
4164
4165// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4166func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4167	return nil, false
4168}
4169
4170// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4171func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4172	return nil, false
4173}
4174
4175// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4176func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4177	return nil, false
4178}
4179
4180// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4181func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4182	return nil, false
4183}
4184
4185// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4186func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4187	return nil, false
4188}
4189
4190// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4191func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4192	return nil, false
4193}
4194
4195// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4196func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4197	return nil, false
4198}
4199
4200// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4201func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4202	return nil, false
4203}
4204
4205// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4206func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4207	return nil, false
4208}
4209
4210// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4211func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4212	return nil, false
4213}
4214
4215// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4216func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4217	return nil, false
4218}
4219
4220// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4221func (audce ApplicationUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
4222	return nil, false
4223}
4224
4225// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
4226func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4227	return &audce, true
4228}
4229
4230// ApplicationUpgradeProgressInfo describes the parameters for an application upgrade.
4231type ApplicationUpgradeProgressInfo struct {
4232	autorest.Response `json:"-"`
4233	// Name - The name of the target application, including the 'fabric:' URI scheme.
4234	Name *string `json:"Name,omitempty"`
4235	// TypeName - The application type name as defined in the application manifest.
4236	TypeName *string `json:"TypeName,omitempty"`
4237	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
4238	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
4239	// UpgradeDomains - List of upgrade domains and their statuses.
4240	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
4241	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
4242	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
4243	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
4244	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
4245	// 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'
4246	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
4247	// UpgradeDescription - Describes the parameters for an application upgrade. Please 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 results in 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.
4248	UpgradeDescription *ApplicationUpgradeDescription `json:"UpgradeDescription,omitempty"`
4249	// UpgradeDurationInMilliseconds - The estimated total amount of time spent processing the overall upgrade.
4250	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
4251	// UpgradeDomainDurationInMilliseconds - The estimated total amount of time spent processing the current upgrade domain.
4252	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
4253	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
4254	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
4255	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
4256	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
4257	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
4258	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
4259	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
4260	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
4261	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
4262	FailureReason FailureReason `json:"FailureReason,omitempty"`
4263	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
4264	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
4265	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
4266	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
4267}
4268
4269// ApplicationUpgradeRollbackCompleteEvent application Upgrade Rollback Complete event.
4270type ApplicationUpgradeRollbackCompleteEvent struct {
4271	// ApplicationTypeName - Application type name.
4272	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
4273	// ApplicationTypeVersion - Application type version.
4274	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
4275	// FailureReason - Describes reason of failure.
4276	FailureReason *string `json:"FailureReason,omitempty"`
4277	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
4278	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
4279	// 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.
4280	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
4281	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
4282	ApplicationID *string `json:"ApplicationId,omitempty"`
4283	// EventInstanceID - The identifier for the FabricEvent instance.
4284	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
4285	// TimeStamp - The time event was logged.
4286	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
4287	// HasCorrelatedEvents - Shows there is existing related events available.
4288	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
4289	// 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'
4290	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
4291}
4292
4293// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackCompleteEvent.
4294func (aurce ApplicationUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
4295	aurce.Kind = KindApplicationUpgradeRollbackComplete
4296	objectMap := make(map[string]interface{})
4297	if aurce.ApplicationTypeName != nil {
4298		objectMap["ApplicationTypeName"] = aurce.ApplicationTypeName
4299	}
4300	if aurce.ApplicationTypeVersion != nil {
4301		objectMap["ApplicationTypeVersion"] = aurce.ApplicationTypeVersion
4302	}
4303	if aurce.FailureReason != nil {
4304		objectMap["FailureReason"] = aurce.FailureReason
4305	}
4306	if aurce.OverallUpgradeElapsedTimeInMs != nil {
4307		objectMap["OverallUpgradeElapsedTimeInMs"] = aurce.OverallUpgradeElapsedTimeInMs
4308	}
4309	if aurce.ApplicationID != nil {
4310		objectMap["ApplicationId"] = aurce.ApplicationID
4311	}
4312	if aurce.EventInstanceID != nil {
4313		objectMap["EventInstanceId"] = aurce.EventInstanceID
4314	}
4315	if aurce.TimeStamp != nil {
4316		objectMap["TimeStamp"] = aurce.TimeStamp
4317	}
4318	if aurce.HasCorrelatedEvents != nil {
4319		objectMap["HasCorrelatedEvents"] = aurce.HasCorrelatedEvents
4320	}
4321	if aurce.Kind != "" {
4322		objectMap["Kind"] = aurce.Kind
4323	}
4324	return json.Marshal(objectMap)
4325}
4326
4327// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4328func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
4329	return nil, false
4330}
4331
4332// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4333func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
4334	return &aurce, true
4335}
4336
4337// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4338func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
4339	return nil, false
4340}
4341
4342// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4343func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
4344	return nil, false
4345}
4346
4347// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4348func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
4349	return nil, false
4350}
4351
4352// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4353func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
4354	return nil, false
4355}
4356
4357// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4358func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
4359	return nil, false
4360}
4361
4362// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4363func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
4364	return nil, false
4365}
4366
4367// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4368func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
4369	return nil, false
4370}
4371
4372// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4373func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
4374	return nil, false
4375}
4376
4377// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4378func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
4379	return nil, false
4380}
4381
4382// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4383func (aurce ApplicationUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
4384	return nil, false
4385}
4386
4387// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4388func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
4389	return nil, false
4390}
4391
4392// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4393func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
4394	return nil, false
4395}
4396
4397// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4398func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4399	return nil, false
4400}
4401
4402// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4403func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4404	return nil, false
4405}
4406
4407// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4408func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4409	return nil, false
4410}
4411
4412// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4413func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4414	return nil, false
4415}
4416
4417// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4418func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4419	return nil, false
4420}
4421
4422// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4423func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4424	return nil, false
4425}
4426
4427// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4428func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4429	return nil, false
4430}
4431
4432// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4433func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4434	return &aurce, true
4435}
4436
4437// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4438func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4439	return nil, false
4440}
4441
4442// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4443func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4444	return nil, false
4445}
4446
4447// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4448func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4449	return nil, false
4450}
4451
4452// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4453func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4454	return nil, false
4455}
4456
4457// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4458func (aurce ApplicationUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
4459	return nil, false
4460}
4461
4462// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4463func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
4464	return nil, false
4465}
4466
4467// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4468func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
4469	return nil, false
4470}
4471
4472// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4473func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
4474	return nil, false
4475}
4476
4477// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4478func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
4479	return nil, false
4480}
4481
4482// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4483func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4484	return nil, false
4485}
4486
4487// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4488func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4489	return nil, false
4490}
4491
4492// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4493func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4494	return nil, false
4495}
4496
4497// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4498func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4499	return nil, false
4500}
4501
4502// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4503func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4504	return nil, false
4505}
4506
4507// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4508func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4509	return nil, false
4510}
4511
4512// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4513func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4514	return nil, false
4515}
4516
4517// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4518func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4519	return nil, false
4520}
4521
4522// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4523func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4524	return nil, false
4525}
4526
4527// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4528func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4529	return nil, false
4530}
4531
4532// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4533func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4534	return nil, false
4535}
4536
4537// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4538func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4539	return nil, false
4540}
4541
4542// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4543func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4544	return nil, false
4545}
4546
4547// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4548func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4549	return nil, false
4550}
4551
4552// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4553func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4554	return nil, false
4555}
4556
4557// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4558func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4559	return nil, false
4560}
4561
4562// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4563func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4564	return nil, false
4565}
4566
4567// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4568func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4569	return nil, false
4570}
4571
4572// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4573func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4574	return nil, false
4575}
4576
4577// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4578func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4579	return nil, false
4580}
4581
4582// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4583func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4584	return nil, false
4585}
4586
4587// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4588func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4589	return nil, false
4590}
4591
4592// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4593func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4594	return nil, false
4595}
4596
4597// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4598func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4599	return nil, false
4600}
4601
4602// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4603func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4604	return nil, false
4605}
4606
4607// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4608func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4609	return nil, false
4610}
4611
4612// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4613func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4614	return nil, false
4615}
4616
4617// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4618func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4619	return nil, false
4620}
4621
4622// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4623func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4624	return nil, false
4625}
4626
4627// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4628func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4629	return nil, false
4630}
4631
4632// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4633func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4634	return nil, false
4635}
4636
4637// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4638func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4639	return nil, false
4640}
4641
4642// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4643func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4644	return nil, false
4645}
4646
4647// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4648func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4649	return nil, false
4650}
4651
4652// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4653func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4654	return nil, false
4655}
4656
4657// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4658func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4659	return nil, false
4660}
4661
4662// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4663func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4664	return nil, false
4665}
4666
4667// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4668func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4669	return nil, false
4670}
4671
4672// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4673func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4674	return nil, false
4675}
4676
4677// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4678func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4679	return nil, false
4680}
4681
4682// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4683func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4684	return nil, false
4685}
4686
4687// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4688func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4689	return nil, false
4690}
4691
4692// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4693func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4694	return nil, false
4695}
4696
4697// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4698func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4699	return nil, false
4700}
4701
4702// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4703func (aurce ApplicationUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
4704	return nil, false
4705}
4706
4707// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
4708func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4709	return &aurce, true
4710}
4711
4712// ApplicationUpgradeRollbackStartEvent application Upgrade Rollback Start event.
4713type ApplicationUpgradeRollbackStartEvent struct {
4714	// ApplicationTypeName - Application type name.
4715	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
4716	// CurrentApplicationTypeVersion - Current Application type version.
4717	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
4718	// ApplicationTypeVersion - Target Application type version.
4719	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
4720	// FailureReason - Describes reason of failure.
4721	FailureReason *string `json:"FailureReason,omitempty"`
4722	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
4723	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
4724	// 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.
4725	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
4726	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
4727	ApplicationID *string `json:"ApplicationId,omitempty"`
4728	// EventInstanceID - The identifier for the FabricEvent instance.
4729	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
4730	// TimeStamp - The time event was logged.
4731	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
4732	// HasCorrelatedEvents - Shows there is existing related events available.
4733	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
4734	// 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'
4735	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
4736}
4737
4738// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackStartEvent.
4739func (aurse ApplicationUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
4740	aurse.Kind = KindApplicationUpgradeRollbackStart
4741	objectMap := make(map[string]interface{})
4742	if aurse.ApplicationTypeName != nil {
4743		objectMap["ApplicationTypeName"] = aurse.ApplicationTypeName
4744	}
4745	if aurse.CurrentApplicationTypeVersion != nil {
4746		objectMap["CurrentApplicationTypeVersion"] = aurse.CurrentApplicationTypeVersion
4747	}
4748	if aurse.ApplicationTypeVersion != nil {
4749		objectMap["ApplicationTypeVersion"] = aurse.ApplicationTypeVersion
4750	}
4751	if aurse.FailureReason != nil {
4752		objectMap["FailureReason"] = aurse.FailureReason
4753	}
4754	if aurse.OverallUpgradeElapsedTimeInMs != nil {
4755		objectMap["OverallUpgradeElapsedTimeInMs"] = aurse.OverallUpgradeElapsedTimeInMs
4756	}
4757	if aurse.ApplicationID != nil {
4758		objectMap["ApplicationId"] = aurse.ApplicationID
4759	}
4760	if aurse.EventInstanceID != nil {
4761		objectMap["EventInstanceId"] = aurse.EventInstanceID
4762	}
4763	if aurse.TimeStamp != nil {
4764		objectMap["TimeStamp"] = aurse.TimeStamp
4765	}
4766	if aurse.HasCorrelatedEvents != nil {
4767		objectMap["HasCorrelatedEvents"] = aurse.HasCorrelatedEvents
4768	}
4769	if aurse.Kind != "" {
4770		objectMap["Kind"] = aurse.Kind
4771	}
4772	return json.Marshal(objectMap)
4773}
4774
4775// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4776func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
4777	return nil, false
4778}
4779
4780// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4781func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
4782	return &aurse, true
4783}
4784
4785// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4786func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
4787	return nil, false
4788}
4789
4790// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4791func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
4792	return nil, false
4793}
4794
4795// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4796func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
4797	return nil, false
4798}
4799
4800// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4801func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
4802	return nil, false
4803}
4804
4805// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4806func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
4807	return nil, false
4808}
4809
4810// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4811func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
4812	return nil, false
4813}
4814
4815// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4816func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
4817	return nil, false
4818}
4819
4820// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4821func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
4822	return nil, false
4823}
4824
4825// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4826func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
4827	return nil, false
4828}
4829
4830// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4831func (aurse ApplicationUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
4832	return nil, false
4833}
4834
4835// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4836func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
4837	return nil, false
4838}
4839
4840// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4841func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
4842	return nil, false
4843}
4844
4845// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4846func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4847	return nil, false
4848}
4849
4850// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4851func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4852	return nil, false
4853}
4854
4855// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4856func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4857	return nil, false
4858}
4859
4860// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4861func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4862	return nil, false
4863}
4864
4865// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4866func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4867	return nil, false
4868}
4869
4870// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4871func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4872	return nil, false
4873}
4874
4875// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4876func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4877	return nil, false
4878}
4879
4880// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4881func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4882	return nil, false
4883}
4884
4885// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4886func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4887	return &aurse, true
4888}
4889
4890// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4891func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4892	return nil, false
4893}
4894
4895// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4896func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4897	return nil, false
4898}
4899
4900// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4901func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4902	return nil, false
4903}
4904
4905// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4906func (aurse ApplicationUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
4907	return nil, false
4908}
4909
4910// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4911func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
4912	return nil, false
4913}
4914
4915// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4916func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
4917	return nil, false
4918}
4919
4920// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4921func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
4922	return nil, false
4923}
4924
4925// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4926func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
4927	return nil, false
4928}
4929
4930// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4931func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4932	return nil, false
4933}
4934
4935// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4936func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4937	return nil, false
4938}
4939
4940// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4941func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4942	return nil, false
4943}
4944
4945// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4946func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4947	return nil, false
4948}
4949
4950// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4951func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4952	return nil, false
4953}
4954
4955// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4956func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4957	return nil, false
4958}
4959
4960// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4961func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4962	return nil, false
4963}
4964
4965// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4966func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4967	return nil, false
4968}
4969
4970// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4971func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4972	return nil, false
4973}
4974
4975// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4976func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4977	return nil, false
4978}
4979
4980// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4981func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4982	return nil, false
4983}
4984
4985// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4986func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4987	return nil, false
4988}
4989
4990// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4991func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4992	return nil, false
4993}
4994
4995// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
4996func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4997	return nil, false
4998}
4999
5000// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5001func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5002	return nil, false
5003}
5004
5005// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5006func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5007	return nil, false
5008}
5009
5010// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5011func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5012	return nil, false
5013}
5014
5015// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5016func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5017	return nil, false
5018}
5019
5020// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5021func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5022	return nil, false
5023}
5024
5025// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5026func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5027	return nil, false
5028}
5029
5030// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5031func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5032	return nil, false
5033}
5034
5035// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5036func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5037	return nil, false
5038}
5039
5040// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5041func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5042	return nil, false
5043}
5044
5045// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5046func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5047	return nil, false
5048}
5049
5050// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5051func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5052	return nil, false
5053}
5054
5055// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5056func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5057	return nil, false
5058}
5059
5060// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5061func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5062	return nil, false
5063}
5064
5065// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5066func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5067	return nil, false
5068}
5069
5070// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5071func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5072	return nil, false
5073}
5074
5075// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5076func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5077	return nil, false
5078}
5079
5080// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5081func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5082	return nil, false
5083}
5084
5085// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5086func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5087	return nil, false
5088}
5089
5090// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5091func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5092	return nil, false
5093}
5094
5095// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5096func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5097	return nil, false
5098}
5099
5100// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5101func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5102	return nil, false
5103}
5104
5105// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5106func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5107	return nil, false
5108}
5109
5110// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5111func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5112	return nil, false
5113}
5114
5115// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5116func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5117	return nil, false
5118}
5119
5120// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5121func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5122	return nil, false
5123}
5124
5125// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5126func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5127	return nil, false
5128}
5129
5130// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5131func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5132	return nil, false
5133}
5134
5135// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5136func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5137	return nil, false
5138}
5139
5140// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5141func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5142	return nil, false
5143}
5144
5145// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5146func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5147	return nil, false
5148}
5149
5150// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5151func (aurse ApplicationUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
5152	return nil, false
5153}
5154
5155// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
5156func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
5157	return &aurse, true
5158}
5159
5160// ApplicationUpgradeStartEvent application Upgrade Start event.
5161type ApplicationUpgradeStartEvent struct {
5162	// ApplicationTypeName - Application type name.
5163	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
5164	// CurrentApplicationTypeVersion - Current Application type version.
5165	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
5166	// ApplicationTypeVersion - Target Application type version.
5167	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
5168	// UpgradeType - Type of upgrade.
5169	UpgradeType *string `json:"UpgradeType,omitempty"`
5170	// RollingUpgradeMode - Mode of upgrade.
5171	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
5172	// FailureAction - Action if failed.
5173	FailureAction *string `json:"FailureAction,omitempty"`
5174	// 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.
5175	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
5176	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
5177	ApplicationID *string `json:"ApplicationId,omitempty"`
5178	// EventInstanceID - The identifier for the FabricEvent instance.
5179	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
5180	// TimeStamp - The time event was logged.
5181	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
5182	// HasCorrelatedEvents - Shows there is existing related events available.
5183	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
5184	// 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'
5185	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
5186}
5187
5188// MarshalJSON is the custom marshaler for ApplicationUpgradeStartEvent.
5189func (ause ApplicationUpgradeStartEvent) MarshalJSON() ([]byte, error) {
5190	ause.Kind = KindApplicationUpgradeStart
5191	objectMap := make(map[string]interface{})
5192	if ause.ApplicationTypeName != nil {
5193		objectMap["ApplicationTypeName"] = ause.ApplicationTypeName
5194	}
5195	if ause.CurrentApplicationTypeVersion != nil {
5196		objectMap["CurrentApplicationTypeVersion"] = ause.CurrentApplicationTypeVersion
5197	}
5198	if ause.ApplicationTypeVersion != nil {
5199		objectMap["ApplicationTypeVersion"] = ause.ApplicationTypeVersion
5200	}
5201	if ause.UpgradeType != nil {
5202		objectMap["UpgradeType"] = ause.UpgradeType
5203	}
5204	if ause.RollingUpgradeMode != nil {
5205		objectMap["RollingUpgradeMode"] = ause.RollingUpgradeMode
5206	}
5207	if ause.FailureAction != nil {
5208		objectMap["FailureAction"] = ause.FailureAction
5209	}
5210	if ause.ApplicationID != nil {
5211		objectMap["ApplicationId"] = ause.ApplicationID
5212	}
5213	if ause.EventInstanceID != nil {
5214		objectMap["EventInstanceId"] = ause.EventInstanceID
5215	}
5216	if ause.TimeStamp != nil {
5217		objectMap["TimeStamp"] = ause.TimeStamp
5218	}
5219	if ause.HasCorrelatedEvents != nil {
5220		objectMap["HasCorrelatedEvents"] = ause.HasCorrelatedEvents
5221	}
5222	if ause.Kind != "" {
5223		objectMap["Kind"] = ause.Kind
5224	}
5225	return json.Marshal(objectMap)
5226}
5227
5228// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5229func (ause ApplicationUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
5230	return nil, false
5231}
5232
5233// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5234func (ause ApplicationUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
5235	return &ause, true
5236}
5237
5238// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5239func (ause ApplicationUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
5240	return nil, false
5241}
5242
5243// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5244func (ause ApplicationUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
5245	return nil, false
5246}
5247
5248// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5249func (ause ApplicationUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
5250	return nil, false
5251}
5252
5253// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5254func (ause ApplicationUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
5255	return nil, false
5256}
5257
5258// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5259func (ause ApplicationUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
5260	return nil, false
5261}
5262
5263// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5264func (ause ApplicationUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
5265	return nil, false
5266}
5267
5268// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5269func (ause ApplicationUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
5270	return nil, false
5271}
5272
5273// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5274func (ause ApplicationUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
5275	return nil, false
5276}
5277
5278// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5279func (ause ApplicationUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
5280	return nil, false
5281}
5282
5283// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5284func (ause ApplicationUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
5285	return nil, false
5286}
5287
5288// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5289func (ause ApplicationUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
5290	return nil, false
5291}
5292
5293// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5294func (ause ApplicationUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
5295	return nil, false
5296}
5297
5298// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5299func (ause ApplicationUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
5300	return nil, false
5301}
5302
5303// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5304func (ause ApplicationUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
5305	return nil, false
5306}
5307
5308// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5309func (ause ApplicationUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
5310	return nil, false
5311}
5312
5313// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5314func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
5315	return nil, false
5316}
5317
5318// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5319func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
5320	return nil, false
5321}
5322
5323// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5324func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
5325	return nil, false
5326}
5327
5328// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5329func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
5330	return nil, false
5331}
5332
5333// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5334func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
5335	return nil, false
5336}
5337
5338// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5339func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
5340	return nil, false
5341}
5342
5343// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5344func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
5345	return &ause, true
5346}
5347
5348// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5349func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
5350	return nil, false
5351}
5352
5353// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5354func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
5355	return nil, false
5356}
5357
5358// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5359func (ause ApplicationUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
5360	return nil, false
5361}
5362
5363// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5364func (ause ApplicationUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
5365	return nil, false
5366}
5367
5368// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5369func (ause ApplicationUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
5370	return nil, false
5371}
5372
5373// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5374func (ause ApplicationUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
5375	return nil, false
5376}
5377
5378// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5379func (ause ApplicationUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
5380	return nil, false
5381}
5382
5383// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5384func (ause ApplicationUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
5385	return nil, false
5386}
5387
5388// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5389func (ause ApplicationUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
5390	return nil, false
5391}
5392
5393// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5394func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
5395	return nil, false
5396}
5397
5398// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5399func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
5400	return nil, false
5401}
5402
5403// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5404func (ause ApplicationUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
5405	return nil, false
5406}
5407
5408// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5409func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
5410	return nil, false
5411}
5412
5413// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5414func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
5415	return nil, false
5416}
5417
5418// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5419func (ause ApplicationUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
5420	return nil, false
5421}
5422
5423// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5424func (ause ApplicationUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
5425	return nil, false
5426}
5427
5428// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5429func (ause ApplicationUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
5430	return nil, false
5431}
5432
5433// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5434func (ause ApplicationUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
5435	return nil, false
5436}
5437
5438// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5439func (ause ApplicationUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
5440	return nil, false
5441}
5442
5443// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5444func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
5445	return nil, false
5446}
5447
5448// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5449func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
5450	return nil, false
5451}
5452
5453// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5454func (ause ApplicationUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5455	return nil, false
5456}
5457
5458// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5459func (ause ApplicationUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5460	return nil, false
5461}
5462
5463// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5464func (ause ApplicationUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5465	return nil, false
5466}
5467
5468// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5469func (ause ApplicationUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5470	return nil, false
5471}
5472
5473// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5474func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5475	return nil, false
5476}
5477
5478// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5479func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5480	return nil, false
5481}
5482
5483// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5484func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5485	return nil, false
5486}
5487
5488// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5489func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5490	return nil, false
5491}
5492
5493// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5494func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5495	return nil, false
5496}
5497
5498// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5499func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5500	return nil, false
5501}
5502
5503// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5504func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5505	return nil, false
5506}
5507
5508// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5509func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5510	return nil, false
5511}
5512
5513// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5514func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5515	return nil, false
5516}
5517
5518// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5519func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5520	return nil, false
5521}
5522
5523// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5524func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5525	return nil, false
5526}
5527
5528// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5529func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5530	return nil, false
5531}
5532
5533// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5534func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5535	return nil, false
5536}
5537
5538// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5539func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5540	return nil, false
5541}
5542
5543// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5544func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5545	return nil, false
5546}
5547
5548// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5549func (ause ApplicationUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5550	return nil, false
5551}
5552
5553// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5554func (ause ApplicationUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5555	return nil, false
5556}
5557
5558// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5559func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5560	return nil, false
5561}
5562
5563// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5564func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5565	return nil, false
5566}
5567
5568// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5569func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5570	return nil, false
5571}
5572
5573// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5574func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5575	return nil, false
5576}
5577
5578// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5579func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5580	return nil, false
5581}
5582
5583// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5584func (ause ApplicationUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5585	return nil, false
5586}
5587
5588// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5589func (ause ApplicationUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5590	return nil, false
5591}
5592
5593// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5594func (ause ApplicationUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5595	return nil, false
5596}
5597
5598// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5599func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5600	return nil, false
5601}
5602
5603// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5604func (ause ApplicationUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
5605	return nil, false
5606}
5607
5608// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
5609func (ause ApplicationUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
5610	return &ause, true
5611}
5612
5613// ApplicationUpgradeUpdateDescription describes the parameters for updating an ongoing application
5614// upgrade.
5615type ApplicationUpgradeUpdateDescription struct {
5616	// Name - The name of the application, including the 'fabric:' URI scheme.
5617	Name *string `json:"Name,omitempty"`
5618	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
5619	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
5620	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
5621	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
5622	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
5623	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
5624}
5625
5626// AveragePartitionLoadScalingTrigger represents a scaling trigger related to an average load of a
5627// metric/resource of a partition.
5628type AveragePartitionLoadScalingTrigger struct {
5629	// MetricName - The name of the metric for which usage should be tracked.
5630	MetricName *string `json:"MetricName,omitempty"`
5631	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
5632	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
5633	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
5634	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
5635	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
5636	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
5637	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
5638	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
5639}
5640
5641// MarshalJSON is the custom marshaler for AveragePartitionLoadScalingTrigger.
5642func (aplst AveragePartitionLoadScalingTrigger) MarshalJSON() ([]byte, error) {
5643	aplst.Kind = KindAveragePartitionLoad
5644	objectMap := make(map[string]interface{})
5645	if aplst.MetricName != nil {
5646		objectMap["MetricName"] = aplst.MetricName
5647	}
5648	if aplst.LowerLoadThreshold != nil {
5649		objectMap["LowerLoadThreshold"] = aplst.LowerLoadThreshold
5650	}
5651	if aplst.UpperLoadThreshold != nil {
5652		objectMap["UpperLoadThreshold"] = aplst.UpperLoadThreshold
5653	}
5654	if aplst.ScaleIntervalInSeconds != nil {
5655		objectMap["ScaleIntervalInSeconds"] = aplst.ScaleIntervalInSeconds
5656	}
5657	if aplst.Kind != "" {
5658		objectMap["Kind"] = aplst.Kind
5659	}
5660	return json.Marshal(objectMap)
5661}
5662
5663// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5664func (aplst AveragePartitionLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
5665	return &aplst, true
5666}
5667
5668// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5669func (aplst AveragePartitionLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
5670	return nil, false
5671}
5672
5673// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5674func (aplst AveragePartitionLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
5675	return nil, false
5676}
5677
5678// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
5679func (aplst AveragePartitionLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
5680	return &aplst, true
5681}
5682
5683// AverageServiceLoadScalingTrigger represents a scaling policy related to an average load of a
5684// metric/resource of a service.
5685type AverageServiceLoadScalingTrigger struct {
5686	// MetricName - The name of the metric for which usage should be tracked.
5687	MetricName *string `json:"MetricName,omitempty"`
5688	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
5689	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
5690	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
5691	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
5692	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
5693	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
5694	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
5695	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
5696}
5697
5698// MarshalJSON is the custom marshaler for AverageServiceLoadScalingTrigger.
5699func (aslst AverageServiceLoadScalingTrigger) MarshalJSON() ([]byte, error) {
5700	aslst.Kind = KindAverageServiceLoad
5701	objectMap := make(map[string]interface{})
5702	if aslst.MetricName != nil {
5703		objectMap["MetricName"] = aslst.MetricName
5704	}
5705	if aslst.LowerLoadThreshold != nil {
5706		objectMap["LowerLoadThreshold"] = aslst.LowerLoadThreshold
5707	}
5708	if aslst.UpperLoadThreshold != nil {
5709		objectMap["UpperLoadThreshold"] = aslst.UpperLoadThreshold
5710	}
5711	if aslst.ScaleIntervalInSeconds != nil {
5712		objectMap["ScaleIntervalInSeconds"] = aslst.ScaleIntervalInSeconds
5713	}
5714	if aslst.Kind != "" {
5715		objectMap["Kind"] = aslst.Kind
5716	}
5717	return json.Marshal(objectMap)
5718}
5719
5720// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5721func (aslst AverageServiceLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
5722	return nil, false
5723}
5724
5725// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5726func (aslst AverageServiceLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
5727	return &aslst, true
5728}
5729
5730// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5731func (aslst AverageServiceLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
5732	return nil, false
5733}
5734
5735// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
5736func (aslst AverageServiceLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
5737	return &aslst, true
5738}
5739
5740// AzureBlobBackupStorageDescription describes the parameters for Azure blob store used for storing and
5741// enumerating backups.
5742type AzureBlobBackupStorageDescription struct {
5743	// ConnectionString - The connection string to connect to the Azure blob store.
5744	ConnectionString *string `json:"ConnectionString,omitempty"`
5745	// ContainerName - The name of the container in the blob store to store and enumerate backups from.
5746	ContainerName *string `json:"ContainerName,omitempty"`
5747	// FriendlyName - Friendly name for this backup storage.
5748	FriendlyName *string `json:"FriendlyName,omitempty"`
5749	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
5750	StorageKind StorageKind `json:"StorageKind,omitempty"`
5751}
5752
5753// MarshalJSON is the custom marshaler for AzureBlobBackupStorageDescription.
5754func (abbsd AzureBlobBackupStorageDescription) MarshalJSON() ([]byte, error) {
5755	abbsd.StorageKind = StorageKindAzureBlobStore
5756	objectMap := make(map[string]interface{})
5757	if abbsd.ConnectionString != nil {
5758		objectMap["ConnectionString"] = abbsd.ConnectionString
5759	}
5760	if abbsd.ContainerName != nil {
5761		objectMap["ContainerName"] = abbsd.ContainerName
5762	}
5763	if abbsd.FriendlyName != nil {
5764		objectMap["FriendlyName"] = abbsd.FriendlyName
5765	}
5766	if abbsd.StorageKind != "" {
5767		objectMap["StorageKind"] = abbsd.StorageKind
5768	}
5769	return json.Marshal(objectMap)
5770}
5771
5772// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5773func (abbsd AzureBlobBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
5774	return &abbsd, true
5775}
5776
5777// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5778func (abbsd AzureBlobBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
5779	return nil, false
5780}
5781
5782// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5783func (abbsd AzureBlobBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
5784	return nil, false
5785}
5786
5787// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
5788func (abbsd AzureBlobBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
5789	return &abbsd, true
5790}
5791
5792// BasicBackupConfigurationInfo describes the backup configuration information.
5793type BasicBackupConfigurationInfo interface {
5794	AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool)
5795	AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool)
5796	AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool)
5797	AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool)
5798}
5799
5800// BackupConfigurationInfo describes the backup configuration information.
5801type BackupConfigurationInfo struct {
5802	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
5803	PolicyName *string `json:"PolicyName,omitempty"`
5804	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
5805	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
5806	// SuspensionInfo - Describes the backup suspension details.
5807	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
5808	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
5809	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
5810}
5811
5812func unmarshalBasicBackupConfigurationInfo(body []byte) (BasicBackupConfigurationInfo, error) {
5813	var m map[string]interface{}
5814	err := json.Unmarshal(body, &m)
5815	if err != nil {
5816		return nil, err
5817	}
5818
5819	switch m["Kind"] {
5820	case string(KindBasicBackupConfigurationInfoKindApplication):
5821		var abci ApplicationBackupConfigurationInfo
5822		err := json.Unmarshal(body, &abci)
5823		return abci, err
5824	case string(KindBasicBackupConfigurationInfoKindService):
5825		var sbci ServiceBackupConfigurationInfo
5826		err := json.Unmarshal(body, &sbci)
5827		return sbci, err
5828	case string(KindBasicBackupConfigurationInfoKindPartition):
5829		var pbci PartitionBackupConfigurationInfo
5830		err := json.Unmarshal(body, &pbci)
5831		return pbci, err
5832	default:
5833		var bci BackupConfigurationInfo
5834		err := json.Unmarshal(body, &bci)
5835		return bci, err
5836	}
5837}
5838func unmarshalBasicBackupConfigurationInfoArray(body []byte) ([]BasicBackupConfigurationInfo, error) {
5839	var rawMessages []*json.RawMessage
5840	err := json.Unmarshal(body, &rawMessages)
5841	if err != nil {
5842		return nil, err
5843	}
5844
5845	bciArray := make([]BasicBackupConfigurationInfo, len(rawMessages))
5846
5847	for index, rawMessage := range rawMessages {
5848		bci, err := unmarshalBasicBackupConfigurationInfo(*rawMessage)
5849		if err != nil {
5850			return nil, err
5851		}
5852		bciArray[index] = bci
5853	}
5854	return bciArray, nil
5855}
5856
5857// MarshalJSON is the custom marshaler for BackupConfigurationInfo.
5858func (bci BackupConfigurationInfo) MarshalJSON() ([]byte, error) {
5859	bci.Kind = KindBasicBackupConfigurationInfoKindBackupConfigurationInfo
5860	objectMap := make(map[string]interface{})
5861	if bci.PolicyName != nil {
5862		objectMap["PolicyName"] = bci.PolicyName
5863	}
5864	if bci.PolicyInheritedFrom != "" {
5865		objectMap["PolicyInheritedFrom"] = bci.PolicyInheritedFrom
5866	}
5867	if bci.SuspensionInfo != nil {
5868		objectMap["SuspensionInfo"] = bci.SuspensionInfo
5869	}
5870	if bci.Kind != "" {
5871		objectMap["Kind"] = bci.Kind
5872	}
5873	return json.Marshal(objectMap)
5874}
5875
5876// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5877func (bci BackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
5878	return nil, false
5879}
5880
5881// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5882func (bci BackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
5883	return nil, false
5884}
5885
5886// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5887func (bci BackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
5888	return nil, false
5889}
5890
5891// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5892func (bci BackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
5893	return &bci, true
5894}
5895
5896// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
5897func (bci BackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
5898	return &bci, true
5899}
5900
5901// BasicBackupEntity describes the Service Fabric entity that is configured for backup.
5902type BasicBackupEntity interface {
5903	AsApplicationBackupEntity() (*ApplicationBackupEntity, bool)
5904	AsServiceBackupEntity() (*ServiceBackupEntity, bool)
5905	AsPartitionBackupEntity() (*PartitionBackupEntity, bool)
5906	AsBackupEntity() (*BackupEntity, bool)
5907}
5908
5909// BackupEntity describes the Service Fabric entity that is configured for backup.
5910type BackupEntity struct {
5911	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
5912	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
5913}
5914
5915func unmarshalBasicBackupEntity(body []byte) (BasicBackupEntity, error) {
5916	var m map[string]interface{}
5917	err := json.Unmarshal(body, &m)
5918	if err != nil {
5919		return nil, err
5920	}
5921
5922	switch m["EntityKind"] {
5923	case string(EntityKindApplication1):
5924		var abe ApplicationBackupEntity
5925		err := json.Unmarshal(body, &abe)
5926		return abe, err
5927	case string(EntityKindService1):
5928		var sbe ServiceBackupEntity
5929		err := json.Unmarshal(body, &sbe)
5930		return sbe, err
5931	case string(EntityKindPartition1):
5932		var pbe PartitionBackupEntity
5933		err := json.Unmarshal(body, &pbe)
5934		return pbe, err
5935	default:
5936		var be BackupEntity
5937		err := json.Unmarshal(body, &be)
5938		return be, err
5939	}
5940}
5941func unmarshalBasicBackupEntityArray(body []byte) ([]BasicBackupEntity, error) {
5942	var rawMessages []*json.RawMessage
5943	err := json.Unmarshal(body, &rawMessages)
5944	if err != nil {
5945		return nil, err
5946	}
5947
5948	beArray := make([]BasicBackupEntity, len(rawMessages))
5949
5950	for index, rawMessage := range rawMessages {
5951		be, err := unmarshalBasicBackupEntity(*rawMessage)
5952		if err != nil {
5953			return nil, err
5954		}
5955		beArray[index] = be
5956	}
5957	return beArray, nil
5958}
5959
5960// MarshalJSON is the custom marshaler for BackupEntity.
5961func (be BackupEntity) MarshalJSON() ([]byte, error) {
5962	be.EntityKind = EntityKindBackupEntity
5963	objectMap := make(map[string]interface{})
5964	if be.EntityKind != "" {
5965		objectMap["EntityKind"] = be.EntityKind
5966	}
5967	return json.Marshal(objectMap)
5968}
5969
5970// AsApplicationBackupEntity is the BasicBackupEntity implementation for BackupEntity.
5971func (be BackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
5972	return nil, false
5973}
5974
5975// AsServiceBackupEntity is the BasicBackupEntity implementation for BackupEntity.
5976func (be BackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
5977	return nil, false
5978}
5979
5980// AsPartitionBackupEntity is the BasicBackupEntity implementation for BackupEntity.
5981func (be BackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
5982	return nil, false
5983}
5984
5985// AsBackupEntity is the BasicBackupEntity implementation for BackupEntity.
5986func (be BackupEntity) AsBackupEntity() (*BackupEntity, bool) {
5987	return &be, true
5988}
5989
5990// AsBasicBackupEntity is the BasicBackupEntity implementation for BackupEntity.
5991func (be BackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
5992	return &be, true
5993}
5994
5995// BackupEpoch an Epoch is a configuration number for the partition as a whole. When the configuration of
5996// the replica set changes, for example when the Primary replica changes, the operations that are
5997// replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the
5998// old Primary replica.
5999type BackupEpoch struct {
6000	// 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.
6001	ConfigurationNumber *string `json:"ConfigurationNumber,omitempty"`
6002	// 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.
6003	DataLossNumber *string `json:"DataLossNumber,omitempty"`
6004}
6005
6006// BackupInfo represents a backup point which can be used to trigger a restore.
6007type BackupInfo struct {
6008	// BackupID - Unique backup ID .
6009	BackupID *uuid.UUID `json:"BackupId,omitempty"`
6010	// 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.
6011	BackupChainID *uuid.UUID `json:"BackupChainId,omitempty"`
6012	// ApplicationName - Name of the Service Fabric application this partition backup belongs to.
6013	ApplicationName *string `json:"ApplicationName,omitempty"`
6014	// ServiceName - Name of the Service Fabric service this partition backup belongs to.
6015	ServiceName *string `json:"ServiceName,omitempty"`
6016	// PartitionInformation - Information about the partition to which this backup belongs to
6017	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
6018	// BackupLocation - Location of the backup, relative to the backup store.
6019	BackupLocation *string `json:"BackupLocation,omitempty"`
6020	// BackupType - Describes the type of backup, whether its full or incremental. Possible values include: 'BackupTypeInvalid', 'BackupTypeFull', 'BackupTypeIncremental'
6021	BackupType BackupType `json:"BackupType,omitempty"`
6022	// EpochOfLastBackupRecord - Epoch of the last record in this backup.
6023	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
6024	// LsnOfLastBackupRecord - LSN of the last record in this backup.
6025	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
6026	// CreationTimeUtc - The date time when this backup was taken.
6027	CreationTimeUtc *date.Time `json:"CreationTimeUtc,omitempty"`
6028	// FailureError - Denotes the failure encountered in getting backup point information.
6029	FailureError *FabricErrorError `json:"FailureError,omitempty"`
6030}
6031
6032// UnmarshalJSON is the custom unmarshaler for BackupInfo struct.
6033func (bi *BackupInfo) UnmarshalJSON(body []byte) error {
6034	var m map[string]*json.RawMessage
6035	err := json.Unmarshal(body, &m)
6036	if err != nil {
6037		return err
6038	}
6039	for k, v := range m {
6040		switch k {
6041		case "BackupId":
6042			if v != nil {
6043				var backupID uuid.UUID
6044				err = json.Unmarshal(*v, &backupID)
6045				if err != nil {
6046					return err
6047				}
6048				bi.BackupID = &backupID
6049			}
6050		case "BackupChainId":
6051			if v != nil {
6052				var backupChainID uuid.UUID
6053				err = json.Unmarshal(*v, &backupChainID)
6054				if err != nil {
6055					return err
6056				}
6057				bi.BackupChainID = &backupChainID
6058			}
6059		case "ApplicationName":
6060			if v != nil {
6061				var applicationName string
6062				err = json.Unmarshal(*v, &applicationName)
6063				if err != nil {
6064					return err
6065				}
6066				bi.ApplicationName = &applicationName
6067			}
6068		case "ServiceName":
6069			if v != nil {
6070				var serviceName string
6071				err = json.Unmarshal(*v, &serviceName)
6072				if err != nil {
6073					return err
6074				}
6075				bi.ServiceName = &serviceName
6076			}
6077		case "PartitionInformation":
6078			if v != nil {
6079				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
6080				if err != nil {
6081					return err
6082				}
6083				bi.PartitionInformation = partitionInformation
6084			}
6085		case "BackupLocation":
6086			if v != nil {
6087				var backupLocation string
6088				err = json.Unmarshal(*v, &backupLocation)
6089				if err != nil {
6090					return err
6091				}
6092				bi.BackupLocation = &backupLocation
6093			}
6094		case "BackupType":
6095			if v != nil {
6096				var backupType BackupType
6097				err = json.Unmarshal(*v, &backupType)
6098				if err != nil {
6099					return err
6100				}
6101				bi.BackupType = backupType
6102			}
6103		case "EpochOfLastBackupRecord":
6104			if v != nil {
6105				var epochOfLastBackupRecord BackupEpoch
6106				err = json.Unmarshal(*v, &epochOfLastBackupRecord)
6107				if err != nil {
6108					return err
6109				}
6110				bi.EpochOfLastBackupRecord = &epochOfLastBackupRecord
6111			}
6112		case "LsnOfLastBackupRecord":
6113			if v != nil {
6114				var lsnOfLastBackupRecord string
6115				err = json.Unmarshal(*v, &lsnOfLastBackupRecord)
6116				if err != nil {
6117					return err
6118				}
6119				bi.LsnOfLastBackupRecord = &lsnOfLastBackupRecord
6120			}
6121		case "CreationTimeUtc":
6122			if v != nil {
6123				var creationTimeUtc date.Time
6124				err = json.Unmarshal(*v, &creationTimeUtc)
6125				if err != nil {
6126					return err
6127				}
6128				bi.CreationTimeUtc = &creationTimeUtc
6129			}
6130		case "FailureError":
6131			if v != nil {
6132				var failureError FabricErrorError
6133				err = json.Unmarshal(*v, &failureError)
6134				if err != nil {
6135					return err
6136				}
6137				bi.FailureError = &failureError
6138			}
6139		}
6140	}
6141
6142	return nil
6143}
6144
6145// BackupPartitionDescription describes the parameters for triggering partition's backup.
6146type BackupPartitionDescription struct {
6147	// BackupStorage - Specifies the details of the backup storage where to save the backup.
6148	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
6149}
6150
6151// UnmarshalJSON is the custom unmarshaler for BackupPartitionDescription struct.
6152func (bpd *BackupPartitionDescription) UnmarshalJSON(body []byte) error {
6153	var m map[string]*json.RawMessage
6154	err := json.Unmarshal(body, &m)
6155	if err != nil {
6156		return err
6157	}
6158	for k, v := range m {
6159		switch k {
6160		case "BackupStorage":
6161			if v != nil {
6162				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
6163				if err != nil {
6164					return err
6165				}
6166				bpd.BackupStorage = backupStorage
6167			}
6168		}
6169	}
6170
6171	return nil
6172}
6173
6174// BackupPolicyDescription describes a backup policy for configuring periodic backup.
6175type BackupPolicyDescription struct {
6176	autorest.Response `json:"-"`
6177	// Name - The unique name identifying this backup policy.
6178	Name *string `json:"Name,omitempty"`
6179	// AutoRestoreOnDataLoss - Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event.
6180	AutoRestoreOnDataLoss *bool `json:"AutoRestoreOnDataLoss,omitempty"`
6181	// 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
6182	// - The replica has never taken a full backup since it has become primary,
6183	// - Some of the log records since the last backup has been truncated, or
6184	// - Replica passed the MaxAccumulatedBackupLogSizeInMB limit.
6185	MaxIncrementalBackups *int32 `json:"MaxIncrementalBackups,omitempty"`
6186	// Schedule - Describes the backup schedule parameters.
6187	Schedule BasicBackupScheduleDescription `json:"Schedule,omitempty"`
6188	// Storage - Describes the details of backup storage where to store the periodic backups.
6189	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
6190}
6191
6192// UnmarshalJSON is the custom unmarshaler for BackupPolicyDescription struct.
6193func (bpd *BackupPolicyDescription) UnmarshalJSON(body []byte) error {
6194	var m map[string]*json.RawMessage
6195	err := json.Unmarshal(body, &m)
6196	if err != nil {
6197		return err
6198	}
6199	for k, v := range m {
6200		switch k {
6201		case "Name":
6202			if v != nil {
6203				var name string
6204				err = json.Unmarshal(*v, &name)
6205				if err != nil {
6206					return err
6207				}
6208				bpd.Name = &name
6209			}
6210		case "AutoRestoreOnDataLoss":
6211			if v != nil {
6212				var autoRestoreOnDataLoss bool
6213				err = json.Unmarshal(*v, &autoRestoreOnDataLoss)
6214				if err != nil {
6215					return err
6216				}
6217				bpd.AutoRestoreOnDataLoss = &autoRestoreOnDataLoss
6218			}
6219		case "MaxIncrementalBackups":
6220			if v != nil {
6221				var maxIncrementalBackups int32
6222				err = json.Unmarshal(*v, &maxIncrementalBackups)
6223				if err != nil {
6224					return err
6225				}
6226				bpd.MaxIncrementalBackups = &maxIncrementalBackups
6227			}
6228		case "Schedule":
6229			if v != nil {
6230				schedule, err := unmarshalBasicBackupScheduleDescription(*v)
6231				if err != nil {
6232					return err
6233				}
6234				bpd.Schedule = schedule
6235			}
6236		case "Storage":
6237			if v != nil {
6238				storage, err := unmarshalBasicBackupStorageDescription(*v)
6239				if err != nil {
6240					return err
6241				}
6242				bpd.Storage = storage
6243			}
6244		}
6245	}
6246
6247	return nil
6248}
6249
6250// BackupProgressInfo describes the progress of a partition's backup.
6251type BackupProgressInfo struct {
6252	autorest.Response `json:"-"`
6253	// BackupState - Represents the current state of the partition backup operation. Possible values include: 'BackupStateInvalid', 'BackupStateAccepted', 'BackupStateBackupInProgress', 'BackupStateSuccess', 'BackupStateFailure', 'BackupStateTimeout'
6254	BackupState BackupState `json:"BackupState,omitempty"`
6255	// TimeStampUtc - TimeStamp in UTC when operation succeeded or failed.
6256	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
6257	// BackupID - Unique ID of the newly created backup.
6258	BackupID *uuid.UUID `json:"BackupId,omitempty"`
6259	// BackupLocation - Location, relative to the backup store, of the newly created backup.
6260	BackupLocation *string `json:"BackupLocation,omitempty"`
6261	// EpochOfLastBackupRecord - Specifies the epoch of the last record included in backup.
6262	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
6263	// LsnOfLastBackupRecord - The LSN of last record included in backup.
6264	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
6265	// FailureError - Denotes the failure encountered in performing backup operation.
6266	FailureError *FabricErrorError `json:"FailureError,omitempty"`
6267}
6268
6269// BasicBackupScheduleDescription describes the backup schedule parameters.
6270type BasicBackupScheduleDescription interface {
6271	AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool)
6272	AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool)
6273	AsBackupScheduleDescription() (*BackupScheduleDescription, bool)
6274}
6275
6276// BackupScheduleDescription describes the backup schedule parameters.
6277type BackupScheduleDescription struct {
6278	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
6279	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
6280}
6281
6282func unmarshalBasicBackupScheduleDescription(body []byte) (BasicBackupScheduleDescription, error) {
6283	var m map[string]interface{}
6284	err := json.Unmarshal(body, &m)
6285	if err != nil {
6286		return nil, err
6287	}
6288
6289	switch m["ScheduleKind"] {
6290	case string(ScheduleKindFrequencyBased):
6291		var fbbsd FrequencyBasedBackupScheduleDescription
6292		err := json.Unmarshal(body, &fbbsd)
6293		return fbbsd, err
6294	case string(ScheduleKindTimeBased):
6295		var tbbsd TimeBasedBackupScheduleDescription
6296		err := json.Unmarshal(body, &tbbsd)
6297		return tbbsd, err
6298	default:
6299		var bsd BackupScheduleDescription
6300		err := json.Unmarshal(body, &bsd)
6301		return bsd, err
6302	}
6303}
6304func unmarshalBasicBackupScheduleDescriptionArray(body []byte) ([]BasicBackupScheduleDescription, error) {
6305	var rawMessages []*json.RawMessage
6306	err := json.Unmarshal(body, &rawMessages)
6307	if err != nil {
6308		return nil, err
6309	}
6310
6311	bsdArray := make([]BasicBackupScheduleDescription, len(rawMessages))
6312
6313	for index, rawMessage := range rawMessages {
6314		bsd, err := unmarshalBasicBackupScheduleDescription(*rawMessage)
6315		if err != nil {
6316			return nil, err
6317		}
6318		bsdArray[index] = bsd
6319	}
6320	return bsdArray, nil
6321}
6322
6323// MarshalJSON is the custom marshaler for BackupScheduleDescription.
6324func (bsd BackupScheduleDescription) MarshalJSON() ([]byte, error) {
6325	bsd.ScheduleKind = ScheduleKindBackupScheduleDescription
6326	objectMap := make(map[string]interface{})
6327	if bsd.ScheduleKind != "" {
6328		objectMap["ScheduleKind"] = bsd.ScheduleKind
6329	}
6330	return json.Marshal(objectMap)
6331}
6332
6333// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6334func (bsd BackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
6335	return nil, false
6336}
6337
6338// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6339func (bsd BackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
6340	return nil, false
6341}
6342
6343// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6344func (bsd BackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
6345	return &bsd, true
6346}
6347
6348// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
6349func (bsd BackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
6350	return &bsd, true
6351}
6352
6353// BasicBackupStorageDescription describes the parameters for the backup storage.
6354type BasicBackupStorageDescription interface {
6355	AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool)
6356	AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool)
6357	AsBackupStorageDescription() (*BackupStorageDescription, bool)
6358}
6359
6360// BackupStorageDescription describes the parameters for the backup storage.
6361type BackupStorageDescription struct {
6362	// FriendlyName - Friendly name for this backup storage.
6363	FriendlyName *string `json:"FriendlyName,omitempty"`
6364	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
6365	StorageKind StorageKind `json:"StorageKind,omitempty"`
6366}
6367
6368func unmarshalBasicBackupStorageDescription(body []byte) (BasicBackupStorageDescription, error) {
6369	var m map[string]interface{}
6370	err := json.Unmarshal(body, &m)
6371	if err != nil {
6372		return nil, err
6373	}
6374
6375	switch m["StorageKind"] {
6376	case string(StorageKindAzureBlobStore):
6377		var abbsd AzureBlobBackupStorageDescription
6378		err := json.Unmarshal(body, &abbsd)
6379		return abbsd, err
6380	case string(StorageKindFileShare):
6381		var fsbsd FileShareBackupStorageDescription
6382		err := json.Unmarshal(body, &fsbsd)
6383		return fsbsd, err
6384	default:
6385		var bsd BackupStorageDescription
6386		err := json.Unmarshal(body, &bsd)
6387		return bsd, err
6388	}
6389}
6390func unmarshalBasicBackupStorageDescriptionArray(body []byte) ([]BasicBackupStorageDescription, error) {
6391	var rawMessages []*json.RawMessage
6392	err := json.Unmarshal(body, &rawMessages)
6393	if err != nil {
6394		return nil, err
6395	}
6396
6397	bsdArray := make([]BasicBackupStorageDescription, len(rawMessages))
6398
6399	for index, rawMessage := range rawMessages {
6400		bsd, err := unmarshalBasicBackupStorageDescription(*rawMessage)
6401		if err != nil {
6402			return nil, err
6403		}
6404		bsdArray[index] = bsd
6405	}
6406	return bsdArray, nil
6407}
6408
6409// MarshalJSON is the custom marshaler for BackupStorageDescription.
6410func (bsd BackupStorageDescription) MarshalJSON() ([]byte, error) {
6411	bsd.StorageKind = StorageKindBackupStorageDescription
6412	objectMap := make(map[string]interface{})
6413	if bsd.FriendlyName != nil {
6414		objectMap["FriendlyName"] = bsd.FriendlyName
6415	}
6416	if bsd.StorageKind != "" {
6417		objectMap["StorageKind"] = bsd.StorageKind
6418	}
6419	return json.Marshal(objectMap)
6420}
6421
6422// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6423func (bsd BackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
6424	return nil, false
6425}
6426
6427// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6428func (bsd BackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
6429	return nil, false
6430}
6431
6432// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6433func (bsd BackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
6434	return &bsd, true
6435}
6436
6437// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
6438func (bsd BackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
6439	return &bsd, true
6440}
6441
6442// BackupSuspensionInfo describes the backup suspension details.
6443type BackupSuspensionInfo struct {
6444	// IsSuspended - Indicates whether periodic backup is suspended at this level or not.
6445	IsSuspended *bool `json:"IsSuspended,omitempty"`
6446	// SuspensionInheritedFrom - Specifies the scope at which the backup suspension was applied. Possible values include: 'BackupSuspensionScopeInvalid', 'BackupSuspensionScopePartition', 'BackupSuspensionScopeService', 'BackupSuspensionScopeApplication'
6447	SuspensionInheritedFrom BackupSuspensionScope `json:"SuspensionInheritedFrom,omitempty"`
6448}
6449
6450// BinaryPropertyValue describes a Service Fabric property value of type Binary.
6451type BinaryPropertyValue struct {
6452	// Data - Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.
6453	Data *[]int32 `json:"Data,omitempty"`
6454	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
6455	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
6456}
6457
6458// MarshalJSON is the custom marshaler for BinaryPropertyValue.
6459func (bpv BinaryPropertyValue) MarshalJSON() ([]byte, error) {
6460	bpv.Kind = KindBinary
6461	objectMap := make(map[string]interface{})
6462	if bpv.Data != nil {
6463		objectMap["Data"] = bpv.Data
6464	}
6465	if bpv.Kind != "" {
6466		objectMap["Kind"] = bpv.Kind
6467	}
6468	return json.Marshal(objectMap)
6469}
6470
6471// AsBinaryPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6472func (bpv BinaryPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
6473	return &bpv, true
6474}
6475
6476// AsInt64PropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6477func (bpv BinaryPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
6478	return nil, false
6479}
6480
6481// AsDoublePropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6482func (bpv BinaryPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
6483	return nil, false
6484}
6485
6486// AsStringPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6487func (bpv BinaryPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
6488	return nil, false
6489}
6490
6491// AsGUIDPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6492func (bpv BinaryPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
6493	return nil, false
6494}
6495
6496// AsPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6497func (bpv BinaryPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
6498	return nil, false
6499}
6500
6501// AsBasicPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
6502func (bpv BinaryPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
6503	return &bpv, true
6504}
6505
6506// Chaos contains a description of Chaos.
6507type Chaos struct {
6508	autorest.Response `json:"-"`
6509	// ChaosParameters - If Chaos is running, these are the parameters Chaos is running with.
6510	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
6511	// Status - Current status of the Chaos run. Possible values include: 'ChaosStatusInvalid', 'ChaosStatusRunning', 'ChaosStatusStopped'
6512	Status ChaosStatus `json:"Status,omitempty"`
6513	// ScheduleStatus - Current status of the schedule. Possible values include: 'ChaosScheduleStatusInvalid', 'ChaosScheduleStatusStopped', 'ChaosScheduleStatusActive', 'ChaosScheduleStatusExpired', 'ChaosScheduleStatusPending'
6514	ScheduleStatus ChaosScheduleStatus `json:"ScheduleStatus,omitempty"`
6515}
6516
6517// ChaosContext describes a map, which is a collection of (string, string) type key-value pairs. The map
6518// can be used to record information about
6519// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most
6520// 4095 characters long.
6521// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
6522type ChaosContext struct {
6523	// Map - Describes a map that contains a collection of ChaosContextMapItem's.
6524	Map map[string]*string `json:"Map"`
6525}
6526
6527// MarshalJSON is the custom marshaler for ChaosContext.
6528func (cc ChaosContext) MarshalJSON() ([]byte, error) {
6529	objectMap := make(map[string]interface{})
6530	if cc.Map != nil {
6531		objectMap["Map"] = cc.Map
6532	}
6533	return json.Marshal(objectMap)
6534}
6535
6536// BasicChaosEvent represents an event generated during a Chaos run.
6537type BasicChaosEvent interface {
6538	AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool)
6539	AsStartedChaosEvent() (*StartedChaosEvent, bool)
6540	AsStoppedChaosEvent() (*StoppedChaosEvent, bool)
6541	AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool)
6542	AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool)
6543	AsWaitingChaosEvent() (*WaitingChaosEvent, bool)
6544	AsChaosEvent() (*ChaosEvent, bool)
6545}
6546
6547// ChaosEvent represents an event generated during a Chaos run.
6548type ChaosEvent struct {
6549	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
6550	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
6551	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
6552	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
6553}
6554
6555func unmarshalBasicChaosEvent(body []byte) (BasicChaosEvent, error) {
6556	var m map[string]interface{}
6557	err := json.Unmarshal(body, &m)
6558	if err != nil {
6559		return nil, err
6560	}
6561
6562	switch m["Kind"] {
6563	case string(KindExecutingFaults):
6564		var efce ExecutingFaultsChaosEvent
6565		err := json.Unmarshal(body, &efce)
6566		return efce, err
6567	case string(KindStarted):
6568		var sce StartedChaosEvent
6569		err := json.Unmarshal(body, &sce)
6570		return sce, err
6571	case string(KindStopped):
6572		var sce StoppedChaosEvent
6573		err := json.Unmarshal(body, &sce)
6574		return sce, err
6575	case string(KindTestError):
6576		var tece TestErrorChaosEvent
6577		err := json.Unmarshal(body, &tece)
6578		return tece, err
6579	case string(KindValidationFailed):
6580		var vfce ValidationFailedChaosEvent
6581		err := json.Unmarshal(body, &vfce)
6582		return vfce, err
6583	case string(KindWaiting):
6584		var wce WaitingChaosEvent
6585		err := json.Unmarshal(body, &wce)
6586		return wce, err
6587	default:
6588		var ce ChaosEvent
6589		err := json.Unmarshal(body, &ce)
6590		return ce, err
6591	}
6592}
6593func unmarshalBasicChaosEventArray(body []byte) ([]BasicChaosEvent, error) {
6594	var rawMessages []*json.RawMessage
6595	err := json.Unmarshal(body, &rawMessages)
6596	if err != nil {
6597		return nil, err
6598	}
6599
6600	ceArray := make([]BasicChaosEvent, len(rawMessages))
6601
6602	for index, rawMessage := range rawMessages {
6603		ce, err := unmarshalBasicChaosEvent(*rawMessage)
6604		if err != nil {
6605			return nil, err
6606		}
6607		ceArray[index] = ce
6608	}
6609	return ceArray, nil
6610}
6611
6612// MarshalJSON is the custom marshaler for ChaosEvent.
6613func (ce ChaosEvent) MarshalJSON() ([]byte, error) {
6614	ce.Kind = KindChaosEvent
6615	objectMap := make(map[string]interface{})
6616	if ce.TimeStampUtc != nil {
6617		objectMap["TimeStampUtc"] = ce.TimeStampUtc
6618	}
6619	if ce.Kind != "" {
6620		objectMap["Kind"] = ce.Kind
6621	}
6622	return json.Marshal(objectMap)
6623}
6624
6625// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6626func (ce ChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
6627	return nil, false
6628}
6629
6630// AsStartedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6631func (ce ChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
6632	return nil, false
6633}
6634
6635// AsStoppedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6636func (ce ChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
6637	return nil, false
6638}
6639
6640// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6641func (ce ChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
6642	return nil, false
6643}
6644
6645// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6646func (ce ChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
6647	return nil, false
6648}
6649
6650// AsWaitingChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6651func (ce ChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
6652	return nil, false
6653}
6654
6655// AsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6656func (ce ChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
6657	return &ce, true
6658}
6659
6660// AsBasicChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
6661func (ce ChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
6662	return &ce, true
6663}
6664
6665// ChaosEventsSegment contains the list of Chaos events and the continuation token to get the next segment.
6666type ChaosEventsSegment struct {
6667	autorest.Response `json:"-"`
6668	// 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.
6669	ContinuationToken *string `json:"ContinuationToken,omitempty"`
6670	// History - List of Chaos events that meet the user-supplied criteria.
6671	History *[]ChaosEventWrapper `json:"History,omitempty"`
6672}
6673
6674// ChaosEventWrapper wrapper object for Chaos event.
6675type ChaosEventWrapper struct {
6676	// ChaosEvent - Represents an event generated during a Chaos run.
6677	ChaosEvent BasicChaosEvent `json:"ChaosEvent,omitempty"`
6678}
6679
6680// UnmarshalJSON is the custom unmarshaler for ChaosEventWrapper struct.
6681func (cew *ChaosEventWrapper) UnmarshalJSON(body []byte) error {
6682	var m map[string]*json.RawMessage
6683	err := json.Unmarshal(body, &m)
6684	if err != nil {
6685		return err
6686	}
6687	for k, v := range m {
6688		switch k {
6689		case "ChaosEvent":
6690			if v != nil {
6691				chaosEvent, err := unmarshalBasicChaosEvent(*v)
6692				if err != nil {
6693					return err
6694				}
6695				cew.ChaosEvent = chaosEvent
6696			}
6697		}
6698	}
6699
6700	return nil
6701}
6702
6703// ChaosMovePrimaryFaultScheduledEvent chaos Move Primary Fault Scheduled event.
6704type ChaosMovePrimaryFaultScheduledEvent struct {
6705	// FaultGroupID - Id of fault group.
6706	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
6707	// FaultID - Id of fault.
6708	FaultID *uuid.UUID `json:"FaultId,omitempty"`
6709	// ServiceName - Service name.
6710	ServiceName *string `json:"ServiceName,omitempty"`
6711	// NodeTo - The name of a Service Fabric node.
6712	NodeTo *string `json:"NodeTo,omitempty"`
6713	// ForcedMove - Indicates a forced move.
6714	ForcedMove *bool `json:"ForcedMove,omitempty"`
6715	// 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.
6716	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
6717	// EventInstanceID - The identifier for the FabricEvent instance.
6718	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
6719	// TimeStamp - The time event was logged.
6720	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
6721	// HasCorrelatedEvents - Shows there is existing related events available.
6722	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
6723	// 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'
6724	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
6725}
6726
6727// MarshalJSON is the custom marshaler for ChaosMovePrimaryFaultScheduledEvent.
6728func (cmpfse ChaosMovePrimaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
6729	cmpfse.Kind = KindChaosMovePrimaryFaultScheduled
6730	objectMap := make(map[string]interface{})
6731	if cmpfse.FaultGroupID != nil {
6732		objectMap["FaultGroupId"] = cmpfse.FaultGroupID
6733	}
6734	if cmpfse.FaultID != nil {
6735		objectMap["FaultId"] = cmpfse.FaultID
6736	}
6737	if cmpfse.ServiceName != nil {
6738		objectMap["ServiceName"] = cmpfse.ServiceName
6739	}
6740	if cmpfse.NodeTo != nil {
6741		objectMap["NodeTo"] = cmpfse.NodeTo
6742	}
6743	if cmpfse.ForcedMove != nil {
6744		objectMap["ForcedMove"] = cmpfse.ForcedMove
6745	}
6746	if cmpfse.PartitionID != nil {
6747		objectMap["PartitionId"] = cmpfse.PartitionID
6748	}
6749	if cmpfse.EventInstanceID != nil {
6750		objectMap["EventInstanceId"] = cmpfse.EventInstanceID
6751	}
6752	if cmpfse.TimeStamp != nil {
6753		objectMap["TimeStamp"] = cmpfse.TimeStamp
6754	}
6755	if cmpfse.HasCorrelatedEvents != nil {
6756		objectMap["HasCorrelatedEvents"] = cmpfse.HasCorrelatedEvents
6757	}
6758	if cmpfse.Kind != "" {
6759		objectMap["Kind"] = cmpfse.Kind
6760	}
6761	return json.Marshal(objectMap)
6762}
6763
6764// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6765func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
6766	return nil, false
6767}
6768
6769// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6770func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
6771	return nil, false
6772}
6773
6774// AsClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6775func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
6776	return nil, false
6777}
6778
6779// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6780func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
6781	return nil, false
6782}
6783
6784// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6785func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
6786	return nil, false
6787}
6788
6789// AsNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6790func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
6791	return nil, false
6792}
6793
6794// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6795func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
6796	return nil, false
6797}
6798
6799// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6800func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
6801	return nil, false
6802}
6803
6804// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6805func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
6806	return nil, false
6807}
6808
6809// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6810func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
6811	return nil, false
6812}
6813
6814// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6815func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
6816	return &cmpfse, true
6817}
6818
6819// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6820func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
6821	return nil, false
6822}
6823
6824// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6825func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
6826	return nil, false
6827}
6828
6829// AsServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6830func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
6831	return nil, false
6832}
6833
6834// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6835func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
6836	return nil, false
6837}
6838
6839// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6840func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
6841	return nil, false
6842}
6843
6844// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6845func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
6846	return nil, false
6847}
6848
6849// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6850func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
6851	return nil, false
6852}
6853
6854// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6855func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
6856	return nil, false
6857}
6858
6859// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6860func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
6861	return nil, false
6862}
6863
6864// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6865func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
6866	return nil, false
6867}
6868
6869// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6870func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
6871	return nil, false
6872}
6873
6874// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6875func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
6876	return nil, false
6877}
6878
6879// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6880func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
6881	return nil, false
6882}
6883
6884// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6885func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
6886	return nil, false
6887}
6888
6889// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6890func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
6891	return nil, false
6892}
6893
6894// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6895func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
6896	return nil, false
6897}
6898
6899// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6900func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
6901	return nil, false
6902}
6903
6904// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6905func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
6906	return nil, false
6907}
6908
6909// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6910func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
6911	return nil, false
6912}
6913
6914// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6915func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
6916	return nil, false
6917}
6918
6919// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6920func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
6921	return nil, false
6922}
6923
6924// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6925func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
6926	return nil, false
6927}
6928
6929// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6930func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
6931	return nil, false
6932}
6933
6934// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6935func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
6936	return nil, false
6937}
6938
6939// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6940func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
6941	return nil, false
6942}
6943
6944// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6945func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
6946	return nil, false
6947}
6948
6949// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6950func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
6951	return nil, false
6952}
6953
6954// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6955func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
6956	return nil, false
6957}
6958
6959// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6960func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
6961	return nil, false
6962}
6963
6964// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6965func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
6966	return nil, false
6967}
6968
6969// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6970func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
6971	return nil, false
6972}
6973
6974// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6975func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
6976	return nil, false
6977}
6978
6979// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6980func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
6981	return nil, false
6982}
6983
6984// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6985func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
6986	return nil, false
6987}
6988
6989// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6990func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
6991	return nil, false
6992}
6993
6994// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
6995func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
6996	return nil, false
6997}
6998
6999// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7000func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7001	return nil, false
7002}
7003
7004// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7005func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7006	return nil, false
7007}
7008
7009// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7010func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7011	return nil, false
7012}
7013
7014// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7015func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7016	return nil, false
7017}
7018
7019// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7020func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7021	return nil, false
7022}
7023
7024// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7025func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7026	return nil, false
7027}
7028
7029// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7030func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7031	return nil, false
7032}
7033
7034// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7035func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7036	return nil, false
7037}
7038
7039// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7040func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7041	return nil, false
7042}
7043
7044// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7045func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7046	return nil, false
7047}
7048
7049// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7050func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7051	return nil, false
7052}
7053
7054// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7055func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7056	return nil, false
7057}
7058
7059// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7060func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7061	return nil, false
7062}
7063
7064// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7065func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7066	return nil, false
7067}
7068
7069// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7070func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7071	return nil, false
7072}
7073
7074// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7075func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7076	return nil, false
7077}
7078
7079// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7080func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7081	return nil, false
7082}
7083
7084// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7085func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7086	return nil, false
7087}
7088
7089// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7090func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7091	return nil, false
7092}
7093
7094// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7095func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7096	return nil, false
7097}
7098
7099// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7100func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7101	return nil, false
7102}
7103
7104// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7105func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7106	return nil, false
7107}
7108
7109// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7110func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7111	return nil, false
7112}
7113
7114// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7115func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7116	return nil, false
7117}
7118
7119// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7120func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7121	return nil, false
7122}
7123
7124// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7125func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7126	return &cmpfse, true
7127}
7128
7129// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7130func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7131	return nil, false
7132}
7133
7134// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7135func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7136	return nil, false
7137}
7138
7139// AsFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7140func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
7141	return nil, false
7142}
7143
7144// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
7145func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7146	return &cmpfse, true
7147}
7148
7149// ChaosMoveSecondaryFaultScheduledEvent chaos Move Secondary Fault Scheduled event.
7150type ChaosMoveSecondaryFaultScheduledEvent struct {
7151	// FaultGroupID - Id of fault group.
7152	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
7153	// FaultID - Id of fault.
7154	FaultID *uuid.UUID `json:"FaultId,omitempty"`
7155	// ServiceName - Service name.
7156	ServiceName *string `json:"ServiceName,omitempty"`
7157	// SourceNode - The name of a Service Fabric node.
7158	SourceNode *string `json:"SourceNode,omitempty"`
7159	// DestinationNode - The name of a Service Fabric node.
7160	DestinationNode *string `json:"DestinationNode,omitempty"`
7161	// ForcedMove - Indicates a forced move.
7162	ForcedMove *bool `json:"ForcedMove,omitempty"`
7163	// 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.
7164	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
7165	// EventInstanceID - The identifier for the FabricEvent instance.
7166	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7167	// TimeStamp - The time event was logged.
7168	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7169	// HasCorrelatedEvents - Shows there is existing related events available.
7170	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7171	// 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'
7172	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7173}
7174
7175// MarshalJSON is the custom marshaler for ChaosMoveSecondaryFaultScheduledEvent.
7176func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
7177	cmsfse.Kind = KindChaosMoveSecondaryFaultScheduled
7178	objectMap := make(map[string]interface{})
7179	if cmsfse.FaultGroupID != nil {
7180		objectMap["FaultGroupId"] = cmsfse.FaultGroupID
7181	}
7182	if cmsfse.FaultID != nil {
7183		objectMap["FaultId"] = cmsfse.FaultID
7184	}
7185	if cmsfse.ServiceName != nil {
7186		objectMap["ServiceName"] = cmsfse.ServiceName
7187	}
7188	if cmsfse.SourceNode != nil {
7189		objectMap["SourceNode"] = cmsfse.SourceNode
7190	}
7191	if cmsfse.DestinationNode != nil {
7192		objectMap["DestinationNode"] = cmsfse.DestinationNode
7193	}
7194	if cmsfse.ForcedMove != nil {
7195		objectMap["ForcedMove"] = cmsfse.ForcedMove
7196	}
7197	if cmsfse.PartitionID != nil {
7198		objectMap["PartitionId"] = cmsfse.PartitionID
7199	}
7200	if cmsfse.EventInstanceID != nil {
7201		objectMap["EventInstanceId"] = cmsfse.EventInstanceID
7202	}
7203	if cmsfse.TimeStamp != nil {
7204		objectMap["TimeStamp"] = cmsfse.TimeStamp
7205	}
7206	if cmsfse.HasCorrelatedEvents != nil {
7207		objectMap["HasCorrelatedEvents"] = cmsfse.HasCorrelatedEvents
7208	}
7209	if cmsfse.Kind != "" {
7210		objectMap["Kind"] = cmsfse.Kind
7211	}
7212	return json.Marshal(objectMap)
7213}
7214
7215// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7216func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7217	return nil, false
7218}
7219
7220// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7221func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7222	return nil, false
7223}
7224
7225// AsClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7226func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
7227	return nil, false
7228}
7229
7230// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7231func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7232	return nil, false
7233}
7234
7235// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7236func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7237	return nil, false
7238}
7239
7240// AsNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7241func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
7242	return nil, false
7243}
7244
7245// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7246func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7247	return nil, false
7248}
7249
7250// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7251func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7252	return nil, false
7253}
7254
7255// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7256func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7257	return nil, false
7258}
7259
7260// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7261func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7262	return nil, false
7263}
7264
7265// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7266func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7267	return &cmsfse, true
7268}
7269
7270// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7271func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7272	return nil, false
7273}
7274
7275// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7276func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7277	return nil, false
7278}
7279
7280// AsServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7281func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
7282	return nil, false
7283}
7284
7285// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7286func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7287	return nil, false
7288}
7289
7290// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7291func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7292	return nil, false
7293}
7294
7295// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7296func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7297	return nil, false
7298}
7299
7300// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7301func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7302	return nil, false
7303}
7304
7305// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7306func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7307	return nil, false
7308}
7309
7310// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7311func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7312	return nil, false
7313}
7314
7315// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7316func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7317	return nil, false
7318}
7319
7320// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7321func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7322	return nil, false
7323}
7324
7325// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7326func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7327	return nil, false
7328}
7329
7330// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7331func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7332	return nil, false
7333}
7334
7335// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7336func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7337	return nil, false
7338}
7339
7340// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7341func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7342	return nil, false
7343}
7344
7345// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7346func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7347	return nil, false
7348}
7349
7350// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7351func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7352	return nil, false
7353}
7354
7355// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7356func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7357	return nil, false
7358}
7359
7360// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7361func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7362	return nil, false
7363}
7364
7365// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7366func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7367	return nil, false
7368}
7369
7370// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7371func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7372	return nil, false
7373}
7374
7375// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7376func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7377	return nil, false
7378}
7379
7380// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7381func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7382	return nil, false
7383}
7384
7385// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7386func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7387	return nil, false
7388}
7389
7390// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7391func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7392	return nil, false
7393}
7394
7395// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7396func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7397	return nil, false
7398}
7399
7400// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7401func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7402	return nil, false
7403}
7404
7405// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7406func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7407	return nil, false
7408}
7409
7410// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7411func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7412	return nil, false
7413}
7414
7415// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7416func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7417	return nil, false
7418}
7419
7420// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7421func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7422	return nil, false
7423}
7424
7425// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7426func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7427	return nil, false
7428}
7429
7430// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7431func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7432	return nil, false
7433}
7434
7435// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7436func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7437	return nil, false
7438}
7439
7440// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7441func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7442	return nil, false
7443}
7444
7445// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7446func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7447	return nil, false
7448}
7449
7450// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7451func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7452	return nil, false
7453}
7454
7455// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7456func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7457	return nil, false
7458}
7459
7460// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7461func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7462	return nil, false
7463}
7464
7465// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7466func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7467	return nil, false
7468}
7469
7470// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7471func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7472	return nil, false
7473}
7474
7475// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7476func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7477	return nil, false
7478}
7479
7480// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7481func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7482	return nil, false
7483}
7484
7485// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7486func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7487	return nil, false
7488}
7489
7490// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7491func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7492	return nil, false
7493}
7494
7495// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7496func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7497	return nil, false
7498}
7499
7500// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7501func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7502	return nil, false
7503}
7504
7505// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7506func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7507	return nil, false
7508}
7509
7510// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7511func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7512	return nil, false
7513}
7514
7515// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7516func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7517	return nil, false
7518}
7519
7520// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7521func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7522	return nil, false
7523}
7524
7525// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7526func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7527	return nil, false
7528}
7529
7530// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7531func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7532	return nil, false
7533}
7534
7535// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7536func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7537	return nil, false
7538}
7539
7540// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7541func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7542	return nil, false
7543}
7544
7545// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7546func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7547	return nil, false
7548}
7549
7550// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7551func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7552	return nil, false
7553}
7554
7555// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7556func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7557	return nil, false
7558}
7559
7560// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7561func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7562	return nil, false
7563}
7564
7565// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7566func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7567	return nil, false
7568}
7569
7570// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7571func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7572	return &cmsfse, true
7573}
7574
7575// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7576func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7577	return nil, false
7578}
7579
7580// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7581func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7582	return nil, false
7583}
7584
7585// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7586func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7587	return nil, false
7588}
7589
7590// AsFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7591func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
7592	return nil, false
7593}
7594
7595// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
7596func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7597	return &cmsfse, true
7598}
7599
7600// ChaosParameters defines all the parameters to configure a Chaos run.
7601type ChaosParameters struct {
7602	// 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).
7603	TimeToRunInSeconds *string `json:"TimeToRunInSeconds,omitempty"`
7604	// 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.
7605	// During validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.
7606	MaxClusterStabilizationTimeoutInSeconds *int64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
7607	// MaxConcurrentFaults - MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.
7608	// Chaos executes in iterations and two consecutive iterations are separated by a validation phase.
7609	// The higher the concurrency, the more aggressive the injection of faults -- inducing more complex series of states to uncover bugs.
7610	// The recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.
7611	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
7612	// EnableMoveReplicaFaults - Enables or disables the move primary and move secondary faults.
7613	EnableMoveReplicaFaults *bool `json:"EnableMoveReplicaFaults,omitempty"`
7614	// WaitTimeBetweenFaultsInSeconds - Wait time (in seconds) between consecutive faults within a single iteration.
7615	// The larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.
7616	// The recommendation is to start with a value between 1 and 5 and exercise caution while moving up.
7617	WaitTimeBetweenFaultsInSeconds *int64 `json:"WaitTimeBetweenFaultsInSeconds,omitempty"`
7618	// WaitTimeBetweenIterationsInSeconds - Time-separation (in seconds) between two consecutive iterations of Chaos.
7619	// The larger the value, the lower the fault injection rate.
7620	WaitTimeBetweenIterationsInSeconds *int64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
7621	// 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.
7622	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
7623	// Context - Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about
7624	// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.
7625	// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
7626	Context *ChaosContext `json:"Context,omitempty"`
7627	// ChaosTargetFilter - List of cluster entities to target for Chaos faults.
7628	// 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.
7629	// If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification.
7630	ChaosTargetFilter *ChaosTargetFilter `json:"ChaosTargetFilter,omitempty"`
7631}
7632
7633// ChaosParametersDictionaryItem defines an item in ChaosParametersDictionary of the Chaos Schedule.
7634type ChaosParametersDictionaryItem struct {
7635	// Key - The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs.
7636	Key *string `json:"Key,omitempty"`
7637	// Value - Defines all the parameters to configure a Chaos run.
7638	Value *ChaosParameters `json:"Value,omitempty"`
7639}
7640
7641// ChaosRemoveReplicaFaultCompletedEvent chaos Remove Replica Fault Completed event.
7642type ChaosRemoveReplicaFaultCompletedEvent struct {
7643	// FaultGroupID - Id of fault group.
7644	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
7645	// FaultID - Id of fault.
7646	FaultID *uuid.UUID `json:"FaultId,omitempty"`
7647	// ServiceURI - Service name.
7648	ServiceURI *string `json:"ServiceUri,omitempty"`
7649	// 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.
7650	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
7651	// 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.
7652	ReplicaID *int64 `json:"ReplicaId,omitempty"`
7653	// EventInstanceID - The identifier for the FabricEvent instance.
7654	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7655	// TimeStamp - The time event was logged.
7656	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7657	// HasCorrelatedEvents - Shows there is existing related events available.
7658	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7659	// 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'
7660	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7661}
7662
7663// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultCompletedEvent.
7664func (crrfce ChaosRemoveReplicaFaultCompletedEvent) MarshalJSON() ([]byte, error) {
7665	crrfce.Kind = KindChaosRemoveReplicaFaultCompleted
7666	objectMap := make(map[string]interface{})
7667	if crrfce.FaultGroupID != nil {
7668		objectMap["FaultGroupId"] = crrfce.FaultGroupID
7669	}
7670	if crrfce.FaultID != nil {
7671		objectMap["FaultId"] = crrfce.FaultID
7672	}
7673	if crrfce.ServiceURI != nil {
7674		objectMap["ServiceUri"] = crrfce.ServiceURI
7675	}
7676	if crrfce.PartitionID != nil {
7677		objectMap["PartitionId"] = crrfce.PartitionID
7678	}
7679	if crrfce.ReplicaID != nil {
7680		objectMap["ReplicaId"] = crrfce.ReplicaID
7681	}
7682	if crrfce.EventInstanceID != nil {
7683		objectMap["EventInstanceId"] = crrfce.EventInstanceID
7684	}
7685	if crrfce.TimeStamp != nil {
7686		objectMap["TimeStamp"] = crrfce.TimeStamp
7687	}
7688	if crrfce.HasCorrelatedEvents != nil {
7689		objectMap["HasCorrelatedEvents"] = crrfce.HasCorrelatedEvents
7690	}
7691	if crrfce.Kind != "" {
7692		objectMap["Kind"] = crrfce.Kind
7693	}
7694	return json.Marshal(objectMap)
7695}
7696
7697// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7698func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7699	return nil, false
7700}
7701
7702// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7703func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7704	return nil, false
7705}
7706
7707// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7708func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
7709	return nil, false
7710}
7711
7712// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7713func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7714	return nil, false
7715}
7716
7717// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7718func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7719	return nil, false
7720}
7721
7722// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7723func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
7724	return nil, false
7725}
7726
7727// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7728func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7729	return nil, false
7730}
7731
7732// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7733func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7734	return nil, false
7735}
7736
7737// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7738func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7739	return nil, false
7740}
7741
7742// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7743func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7744	return nil, false
7745}
7746
7747// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7748func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7749	return nil, false
7750}
7751
7752// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7753func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7754	return nil, false
7755}
7756
7757// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7758func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7759	return &crrfce, true
7760}
7761
7762// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7763func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
7764	return nil, false
7765}
7766
7767// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7768func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7769	return nil, false
7770}
7771
7772// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7773func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7774	return nil, false
7775}
7776
7777// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7778func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7779	return nil, false
7780}
7781
7782// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7783func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7784	return nil, false
7785}
7786
7787// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7788func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7789	return nil, false
7790}
7791
7792// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7793func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7794	return nil, false
7795}
7796
7797// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7798func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7799	return nil, false
7800}
7801
7802// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7803func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7804	return nil, false
7805}
7806
7807// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7808func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7809	return nil, false
7810}
7811
7812// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7813func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7814	return nil, false
7815}
7816
7817// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7818func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7819	return nil, false
7820}
7821
7822// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7823func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7824	return nil, false
7825}
7826
7827// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7828func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7829	return nil, false
7830}
7831
7832// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7833func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7834	return nil, false
7835}
7836
7837// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7838func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7839	return nil, false
7840}
7841
7842// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7843func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7844	return nil, false
7845}
7846
7847// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7848func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7849	return nil, false
7850}
7851
7852// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7853func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7854	return nil, false
7855}
7856
7857// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7858func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7859	return nil, false
7860}
7861
7862// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7863func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7864	return nil, false
7865}
7866
7867// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7868func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7869	return nil, false
7870}
7871
7872// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7873func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7874	return nil, false
7875}
7876
7877// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7878func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7879	return nil, false
7880}
7881
7882// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7883func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7884	return nil, false
7885}
7886
7887// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7888func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7889	return nil, false
7890}
7891
7892// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7893func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7894	return nil, false
7895}
7896
7897// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7898func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7899	return nil, false
7900}
7901
7902// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7903func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7904	return nil, false
7905}
7906
7907// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7908func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7909	return nil, false
7910}
7911
7912// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7913func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7914	return nil, false
7915}
7916
7917// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7918func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7919	return nil, false
7920}
7921
7922// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7923func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7924	return nil, false
7925}
7926
7927// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7928func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7929	return nil, false
7930}
7931
7932// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7933func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7934	return nil, false
7935}
7936
7937// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7938func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7939	return nil, false
7940}
7941
7942// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7943func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7944	return nil, false
7945}
7946
7947// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7948func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7949	return nil, false
7950}
7951
7952// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7953func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7954	return nil, false
7955}
7956
7957// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7958func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7959	return nil, false
7960}
7961
7962// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7963func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7964	return nil, false
7965}
7966
7967// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7968func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7969	return nil, false
7970}
7971
7972// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7973func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7974	return nil, false
7975}
7976
7977// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7978func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7979	return nil, false
7980}
7981
7982// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7983func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7984	return nil, false
7985}
7986
7987// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7988func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7989	return nil, false
7990}
7991
7992// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7993func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7994	return nil, false
7995}
7996
7997// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
7998func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7999	return nil, false
8000}
8001
8002// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8003func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8004	return nil, false
8005}
8006
8007// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8008func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8009	return nil, false
8010}
8011
8012// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8013func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8014	return nil, false
8015}
8016
8017// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8018func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8019	return nil, false
8020}
8021
8022// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8023func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8024	return nil, false
8025}
8026
8027// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8028func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8029	return nil, false
8030}
8031
8032// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8033func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8034	return nil, false
8035}
8036
8037// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8038func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8039	return nil, false
8040}
8041
8042// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8043func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8044	return nil, false
8045}
8046
8047// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8048func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8049	return &crrfce, true
8050}
8051
8052// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8053func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8054	return nil, false
8055}
8056
8057// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8058func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8059	return nil, false
8060}
8061
8062// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8063func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8064	return nil, false
8065}
8066
8067// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8068func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8069	return nil, false
8070}
8071
8072// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8073func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
8074	return nil, false
8075}
8076
8077// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
8078func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8079	return &crrfce, true
8080}
8081
8082// ChaosRemoveReplicaFaultScheduledEvent chaos Remove Replica Fault Scheduled event.
8083type ChaosRemoveReplicaFaultScheduledEvent struct {
8084	// FaultGroupID - Id of fault group.
8085	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
8086	// FaultID - Id of fault.
8087	FaultID *uuid.UUID `json:"FaultId,omitempty"`
8088	// ServiceURI - Service name.
8089	ServiceURI *string `json:"ServiceUri,omitempty"`
8090	// 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.
8091	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
8092	// 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.
8093	ReplicaID *int64 `json:"ReplicaId,omitempty"`
8094	// EventInstanceID - The identifier for the FabricEvent instance.
8095	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8096	// TimeStamp - The time event was logged.
8097	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8098	// HasCorrelatedEvents - Shows there is existing related events available.
8099	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
8100	// 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'
8101	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
8102}
8103
8104// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultScheduledEvent.
8105func (crrfse ChaosRemoveReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
8106	crrfse.Kind = KindChaosRemoveReplicaFaultScheduled
8107	objectMap := make(map[string]interface{})
8108	if crrfse.FaultGroupID != nil {
8109		objectMap["FaultGroupId"] = crrfse.FaultGroupID
8110	}
8111	if crrfse.FaultID != nil {
8112		objectMap["FaultId"] = crrfse.FaultID
8113	}
8114	if crrfse.ServiceURI != nil {
8115		objectMap["ServiceUri"] = crrfse.ServiceURI
8116	}
8117	if crrfse.PartitionID != nil {
8118		objectMap["PartitionId"] = crrfse.PartitionID
8119	}
8120	if crrfse.ReplicaID != nil {
8121		objectMap["ReplicaId"] = crrfse.ReplicaID
8122	}
8123	if crrfse.EventInstanceID != nil {
8124		objectMap["EventInstanceId"] = crrfse.EventInstanceID
8125	}
8126	if crrfse.TimeStamp != nil {
8127		objectMap["TimeStamp"] = crrfse.TimeStamp
8128	}
8129	if crrfse.HasCorrelatedEvents != nil {
8130		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
8131	}
8132	if crrfse.Kind != "" {
8133		objectMap["Kind"] = crrfse.Kind
8134	}
8135	return json.Marshal(objectMap)
8136}
8137
8138// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8139func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
8140	return nil, false
8141}
8142
8143// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8144func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
8145	return nil, false
8146}
8147
8148// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8149func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
8150	return nil, false
8151}
8152
8153// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8154func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
8155	return nil, false
8156}
8157
8158// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8159func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
8160	return nil, false
8161}
8162
8163// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8164func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
8165	return nil, false
8166}
8167
8168// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8169func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
8170	return nil, false
8171}
8172
8173// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8174func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
8175	return nil, false
8176}
8177
8178// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8179func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
8180	return nil, false
8181}
8182
8183// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8184func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
8185	return nil, false
8186}
8187
8188// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8189func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
8190	return nil, false
8191}
8192
8193// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8194func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
8195	return nil, false
8196}
8197
8198// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8199func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
8200	return &crrfse, true
8201}
8202
8203// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8204func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
8205	return nil, false
8206}
8207
8208// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8209func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
8210	return nil, false
8211}
8212
8213// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8214func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
8215	return nil, false
8216}
8217
8218// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8219func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
8220	return nil, false
8221}
8222
8223// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8224func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
8225	return nil, false
8226}
8227
8228// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8229func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
8230	return nil, false
8231}
8232
8233// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8234func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
8235	return nil, false
8236}
8237
8238// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8239func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
8240	return nil, false
8241}
8242
8243// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8244func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
8245	return nil, false
8246}
8247
8248// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8249func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
8250	return nil, false
8251}
8252
8253// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8254func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8255	return nil, false
8256}
8257
8258// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8259func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8260	return nil, false
8261}
8262
8263// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8264func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8265	return nil, false
8266}
8267
8268// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8269func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8270	return nil, false
8271}
8272
8273// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8274func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8275	return nil, false
8276}
8277
8278// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8279func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8280	return nil, false
8281}
8282
8283// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8284func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8285	return nil, false
8286}
8287
8288// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8289func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8290	return nil, false
8291}
8292
8293// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8294func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8295	return nil, false
8296}
8297
8298// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8299func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8300	return nil, false
8301}
8302
8303// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8304func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8305	return nil, false
8306}
8307
8308// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8309func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8310	return nil, false
8311}
8312
8313// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8314func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8315	return nil, false
8316}
8317
8318// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8319func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8320	return nil, false
8321}
8322
8323// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8324func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8325	return nil, false
8326}
8327
8328// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8329func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8330	return nil, false
8331}
8332
8333// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8334func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8335	return nil, false
8336}
8337
8338// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8339func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8340	return nil, false
8341}
8342
8343// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8344func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8345	return nil, false
8346}
8347
8348// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8349func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8350	return nil, false
8351}
8352
8353// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8354func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8355	return nil, false
8356}
8357
8358// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8359func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8360	return nil, false
8361}
8362
8363// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8364func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8365	return nil, false
8366}
8367
8368// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8369func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8370	return nil, false
8371}
8372
8373// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8374func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8375	return nil, false
8376}
8377
8378// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8379func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8380	return nil, false
8381}
8382
8383// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8384func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8385	return nil, false
8386}
8387
8388// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8389func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8390	return nil, false
8391}
8392
8393// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8394func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8395	return nil, false
8396}
8397
8398// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8399func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8400	return nil, false
8401}
8402
8403// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8404func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8405	return nil, false
8406}
8407
8408// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8409func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8410	return nil, false
8411}
8412
8413// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8414func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8415	return nil, false
8416}
8417
8418// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8419func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8420	return nil, false
8421}
8422
8423// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8424func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8425	return nil, false
8426}
8427
8428// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8429func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8430	return nil, false
8431}
8432
8433// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8434func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8435	return nil, false
8436}
8437
8438// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8439func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8440	return nil, false
8441}
8442
8443// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8444func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8445	return nil, false
8446}
8447
8448// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8449func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8450	return nil, false
8451}
8452
8453// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8454func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8455	return nil, false
8456}
8457
8458// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8459func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8460	return nil, false
8461}
8462
8463// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8464func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8465	return nil, false
8466}
8467
8468// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8469func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8470	return nil, false
8471}
8472
8473// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8474func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8475	return nil, false
8476}
8477
8478// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8479func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8480	return nil, false
8481}
8482
8483// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8484func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8485	return &crrfse, true
8486}
8487
8488// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8489func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8490	return nil, false
8491}
8492
8493// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8494func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8495	return nil, false
8496}
8497
8498// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8499func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8500	return nil, false
8501}
8502
8503// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8504func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8505	return nil, false
8506}
8507
8508// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8509func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8510	return nil, false
8511}
8512
8513// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8514func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
8515	return nil, false
8516}
8517
8518// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
8519func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8520	return &crrfse, true
8521}
8522
8523// ChaosRestartCodePackageFaultCompletedEvent chaos Restart Code Package Fault Completed event.
8524type ChaosRestartCodePackageFaultCompletedEvent struct {
8525	// FaultGroupID - Id of fault group.
8526	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
8527	// FaultID - Id of fault.
8528	FaultID *uuid.UUID `json:"FaultId,omitempty"`
8529	// NodeName - The name of a Service Fabric node.
8530	NodeName *string `json:"NodeName,omitempty"`
8531	// ServiceManifestName - Service manifest name.
8532	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
8533	// CodePackageName - Code package name.
8534	CodePackageName *string `json:"CodePackageName,omitempty"`
8535	// ServicePackageActivationID - Id of Service package activation.
8536	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
8537	// 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.
8538	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
8539	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
8540	ApplicationID *string `json:"ApplicationId,omitempty"`
8541	// EventInstanceID - The identifier for the FabricEvent instance.
8542	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8543	// TimeStamp - The time event was logged.
8544	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8545	// HasCorrelatedEvents - Shows there is existing related events available.
8546	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
8547	// 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'
8548	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
8549}
8550
8551// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultCompletedEvent.
8552func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) MarshalJSON() ([]byte, error) {
8553	crcpfce.Kind = KindChaosRestartCodePackageFaultCompleted
8554	objectMap := make(map[string]interface{})
8555	if crcpfce.FaultGroupID != nil {
8556		objectMap["FaultGroupId"] = crcpfce.FaultGroupID
8557	}
8558	if crcpfce.FaultID != nil {
8559		objectMap["FaultId"] = crcpfce.FaultID
8560	}
8561	if crcpfce.NodeName != nil {
8562		objectMap["NodeName"] = crcpfce.NodeName
8563	}
8564	if crcpfce.ServiceManifestName != nil {
8565		objectMap["ServiceManifestName"] = crcpfce.ServiceManifestName
8566	}
8567	if crcpfce.CodePackageName != nil {
8568		objectMap["CodePackageName"] = crcpfce.CodePackageName
8569	}
8570	if crcpfce.ServicePackageActivationID != nil {
8571		objectMap["ServicePackageActivationId"] = crcpfce.ServicePackageActivationID
8572	}
8573	if crcpfce.ApplicationID != nil {
8574		objectMap["ApplicationId"] = crcpfce.ApplicationID
8575	}
8576	if crcpfce.EventInstanceID != nil {
8577		objectMap["EventInstanceId"] = crcpfce.EventInstanceID
8578	}
8579	if crcpfce.TimeStamp != nil {
8580		objectMap["TimeStamp"] = crcpfce.TimeStamp
8581	}
8582	if crcpfce.HasCorrelatedEvents != nil {
8583		objectMap["HasCorrelatedEvents"] = crcpfce.HasCorrelatedEvents
8584	}
8585	if crcpfce.Kind != "" {
8586		objectMap["Kind"] = crcpfce.Kind
8587	}
8588	return json.Marshal(objectMap)
8589}
8590
8591// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8592func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
8593	return nil, false
8594}
8595
8596// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8597func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
8598	return &crcpfce, true
8599}
8600
8601// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8602func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
8603	return nil, false
8604}
8605
8606// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8607func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
8608	return nil, false
8609}
8610
8611// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8612func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
8613	return nil, false
8614}
8615
8616// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8617func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
8618	return nil, false
8619}
8620
8621// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8622func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
8623	return nil, false
8624}
8625
8626// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8627func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
8628	return nil, false
8629}
8630
8631// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8632func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
8633	return nil, false
8634}
8635
8636// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8637func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
8638	return nil, false
8639}
8640
8641// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8642func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
8643	return nil, false
8644}
8645
8646// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8647func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
8648	return nil, false
8649}
8650
8651// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8652func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
8653	return nil, false
8654}
8655
8656// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8657func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
8658	return nil, false
8659}
8660
8661// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8662func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
8663	return nil, false
8664}
8665
8666// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8667func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
8668	return nil, false
8669}
8670
8671// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8672func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
8673	return nil, false
8674}
8675
8676// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8677func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
8678	return nil, false
8679}
8680
8681// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8682func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
8683	return nil, false
8684}
8685
8686// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8687func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
8688	return nil, false
8689}
8690
8691// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8692func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
8693	return nil, false
8694}
8695
8696// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8697func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
8698	return nil, false
8699}
8700
8701// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8702func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
8703	return nil, false
8704}
8705
8706// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8707func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8708	return nil, false
8709}
8710
8711// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8712func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8713	return nil, false
8714}
8715
8716// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8717func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8718	return nil, false
8719}
8720
8721// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8722func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8723	return nil, false
8724}
8725
8726// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8727func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8728	return nil, false
8729}
8730
8731// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8732func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8733	return nil, false
8734}
8735
8736// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8737func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8738	return nil, false
8739}
8740
8741// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8742func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8743	return nil, false
8744}
8745
8746// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8747func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8748	return nil, false
8749}
8750
8751// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8752func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8753	return nil, false
8754}
8755
8756// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8757func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8758	return nil, false
8759}
8760
8761// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8762func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8763	return nil, false
8764}
8765
8766// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8767func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8768	return nil, false
8769}
8770
8771// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8772func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8773	return nil, false
8774}
8775
8776// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8777func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8778	return nil, false
8779}
8780
8781// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8782func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8783	return nil, false
8784}
8785
8786// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8787func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8788	return nil, false
8789}
8790
8791// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8792func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8793	return nil, false
8794}
8795
8796// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8797func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8798	return nil, false
8799}
8800
8801// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8802func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8803	return nil, false
8804}
8805
8806// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8807func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8808	return nil, false
8809}
8810
8811// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8812func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8813	return nil, false
8814}
8815
8816// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8817func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8818	return nil, false
8819}
8820
8821// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8822func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8823	return nil, false
8824}
8825
8826// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8827func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8828	return nil, false
8829}
8830
8831// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8832func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8833	return nil, false
8834}
8835
8836// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8837func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8838	return nil, false
8839}
8840
8841// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8842func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8843	return nil, false
8844}
8845
8846// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8847func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8848	return nil, false
8849}
8850
8851// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8852func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8853	return nil, false
8854}
8855
8856// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8857func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8858	return nil, false
8859}
8860
8861// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8862func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8863	return nil, false
8864}
8865
8866// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8867func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8868	return nil, false
8869}
8870
8871// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8872func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8873	return nil, false
8874}
8875
8876// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8877func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8878	return nil, false
8879}
8880
8881// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8882func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8883	return nil, false
8884}
8885
8886// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8887func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8888	return nil, false
8889}
8890
8891// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8892func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8893	return nil, false
8894}
8895
8896// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8897func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8898	return nil, false
8899}
8900
8901// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8902func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8903	return nil, false
8904}
8905
8906// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8907func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8908	return nil, false
8909}
8910
8911// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8912func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8913	return nil, false
8914}
8915
8916// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8917func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8918	return nil, false
8919}
8920
8921// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8922func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8923	return nil, false
8924}
8925
8926// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8927func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8928	return nil, false
8929}
8930
8931// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8932func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8933	return &crcpfce, true
8934}
8935
8936// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8937func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8938	return nil, false
8939}
8940
8941// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8942func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8943	return nil, false
8944}
8945
8946// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8947func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8948	return nil, false
8949}
8950
8951// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8952func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8953	return nil, false
8954}
8955
8956// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8957func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8958	return nil, false
8959}
8960
8961// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8962func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8963	return nil, false
8964}
8965
8966// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8967func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
8968	return nil, false
8969}
8970
8971// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
8972func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8973	return &crcpfce, true
8974}
8975
8976// ChaosRestartCodePackageFaultScheduledEvent chaos Restart Code Package Fault Scheduled event.
8977type ChaosRestartCodePackageFaultScheduledEvent struct {
8978	// FaultGroupID - Id of fault group.
8979	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
8980	// FaultID - Id of fault.
8981	FaultID *uuid.UUID `json:"FaultId,omitempty"`
8982	// NodeName - The name of a Service Fabric node.
8983	NodeName *string `json:"NodeName,omitempty"`
8984	// ServiceManifestName - Service manifest name.
8985	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
8986	// CodePackageName - Code package name.
8987	CodePackageName *string `json:"CodePackageName,omitempty"`
8988	// ServicePackageActivationID - Id of Service package activation.
8989	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
8990	// 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.
8991	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
8992	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
8993	ApplicationID *string `json:"ApplicationId,omitempty"`
8994	// EventInstanceID - The identifier for the FabricEvent instance.
8995	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8996	// TimeStamp - The time event was logged.
8997	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8998	// HasCorrelatedEvents - Shows there is existing related events available.
8999	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
9000	// 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'
9001	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
9002}
9003
9004// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultScheduledEvent.
9005func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) MarshalJSON() ([]byte, error) {
9006	crcpfse.Kind = KindChaosRestartCodePackageFaultScheduled
9007	objectMap := make(map[string]interface{})
9008	if crcpfse.FaultGroupID != nil {
9009		objectMap["FaultGroupId"] = crcpfse.FaultGroupID
9010	}
9011	if crcpfse.FaultID != nil {
9012		objectMap["FaultId"] = crcpfse.FaultID
9013	}
9014	if crcpfse.NodeName != nil {
9015		objectMap["NodeName"] = crcpfse.NodeName
9016	}
9017	if crcpfse.ServiceManifestName != nil {
9018		objectMap["ServiceManifestName"] = crcpfse.ServiceManifestName
9019	}
9020	if crcpfse.CodePackageName != nil {
9021		objectMap["CodePackageName"] = crcpfse.CodePackageName
9022	}
9023	if crcpfse.ServicePackageActivationID != nil {
9024		objectMap["ServicePackageActivationId"] = crcpfse.ServicePackageActivationID
9025	}
9026	if crcpfse.ApplicationID != nil {
9027		objectMap["ApplicationId"] = crcpfse.ApplicationID
9028	}
9029	if crcpfse.EventInstanceID != nil {
9030		objectMap["EventInstanceId"] = crcpfse.EventInstanceID
9031	}
9032	if crcpfse.TimeStamp != nil {
9033		objectMap["TimeStamp"] = crcpfse.TimeStamp
9034	}
9035	if crcpfse.HasCorrelatedEvents != nil {
9036		objectMap["HasCorrelatedEvents"] = crcpfse.HasCorrelatedEvents
9037	}
9038	if crcpfse.Kind != "" {
9039		objectMap["Kind"] = crcpfse.Kind
9040	}
9041	return json.Marshal(objectMap)
9042}
9043
9044// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9045func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
9046	return nil, false
9047}
9048
9049// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9050func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
9051	return &crcpfse, true
9052}
9053
9054// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9055func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
9056	return nil, false
9057}
9058
9059// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9060func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
9061	return nil, false
9062}
9063
9064// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9065func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
9066	return nil, false
9067}
9068
9069// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9070func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
9071	return nil, false
9072}
9073
9074// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9075func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
9076	return nil, false
9077}
9078
9079// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9080func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
9081	return nil, false
9082}
9083
9084// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9085func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
9086	return nil, false
9087}
9088
9089// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9090func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
9091	return nil, false
9092}
9093
9094// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9095func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
9096	return nil, false
9097}
9098
9099// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9100func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
9101	return nil, false
9102}
9103
9104// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9105func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
9106	return nil, false
9107}
9108
9109// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9110func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
9111	return nil, false
9112}
9113
9114// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9115func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
9116	return nil, false
9117}
9118
9119// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9120func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
9121	return nil, false
9122}
9123
9124// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9125func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
9126	return nil, false
9127}
9128
9129// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9130func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
9131	return nil, false
9132}
9133
9134// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9135func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
9136	return nil, false
9137}
9138
9139// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9140func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
9141	return nil, false
9142}
9143
9144// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9145func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
9146	return nil, false
9147}
9148
9149// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9150func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
9151	return nil, false
9152}
9153
9154// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9155func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
9156	return nil, false
9157}
9158
9159// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9160func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
9161	return nil, false
9162}
9163
9164// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9165func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
9166	return nil, false
9167}
9168
9169// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9170func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
9171	return nil, false
9172}
9173
9174// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9175func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
9176	return nil, false
9177}
9178
9179// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9180func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
9181	return nil, false
9182}
9183
9184// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9185func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
9186	return nil, false
9187}
9188
9189// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9190func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
9191	return nil, false
9192}
9193
9194// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9195func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
9196	return nil, false
9197}
9198
9199// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9200func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
9201	return nil, false
9202}
9203
9204// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9205func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
9206	return nil, false
9207}
9208
9209// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9210func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
9211	return nil, false
9212}
9213
9214// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9215func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
9216	return nil, false
9217}
9218
9219// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9220func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
9221	return nil, false
9222}
9223
9224// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9225func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
9226	return nil, false
9227}
9228
9229// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9230func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
9231	return nil, false
9232}
9233
9234// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9235func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
9236	return nil, false
9237}
9238
9239// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9240func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
9241	return nil, false
9242}
9243
9244// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9245func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
9246	return nil, false
9247}
9248
9249// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9250func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
9251	return nil, false
9252}
9253
9254// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9255func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
9256	return nil, false
9257}
9258
9259// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9260func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
9261	return nil, false
9262}
9263
9264// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9265func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
9266	return nil, false
9267}
9268
9269// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9270func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
9271	return nil, false
9272}
9273
9274// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9275func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
9276	return nil, false
9277}
9278
9279// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9280func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
9281	return nil, false
9282}
9283
9284// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9285func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
9286	return nil, false
9287}
9288
9289// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9290func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
9291	return nil, false
9292}
9293
9294// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9295func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
9296	return nil, false
9297}
9298
9299// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9300func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
9301	return nil, false
9302}
9303
9304// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9305func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
9306	return nil, false
9307}
9308
9309// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9310func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
9311	return nil, false
9312}
9313
9314// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9315func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
9316	return nil, false
9317}
9318
9319// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9320func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
9321	return nil, false
9322}
9323
9324// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9325func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
9326	return nil, false
9327}
9328
9329// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9330func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
9331	return nil, false
9332}
9333
9334// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9335func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
9336	return nil, false
9337}
9338
9339// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9340func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
9341	return nil, false
9342}
9343
9344// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9345func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
9346	return nil, false
9347}
9348
9349// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9350func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
9351	return nil, false
9352}
9353
9354// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9355func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
9356	return nil, false
9357}
9358
9359// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9360func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
9361	return nil, false
9362}
9363
9364// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9365func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
9366	return nil, false
9367}
9368
9369// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9370func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
9371	return nil, false
9372}
9373
9374// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9375func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
9376	return nil, false
9377}
9378
9379// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9380func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
9381	return &crcpfse, true
9382}
9383
9384// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9385func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
9386	return nil, false
9387}
9388
9389// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9390func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
9391	return nil, false
9392}
9393
9394// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9395func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
9396	return nil, false
9397}
9398
9399// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9400func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
9401	return nil, false
9402}
9403
9404// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9405func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
9406	return nil, false
9407}
9408
9409// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9410func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
9411	return nil, false
9412}
9413
9414// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9415func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
9416	return nil, false
9417}
9418
9419// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9420func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
9421	return nil, false
9422}
9423
9424// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
9425func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
9426	return &crcpfse, true
9427}
9428
9429// ChaosRestartNodeFaultCompletedEvent chaos Restart Node Fault Completed event.
9430type ChaosRestartNodeFaultCompletedEvent struct {
9431	// NodeInstanceID - Id of Node instance.
9432	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
9433	// FaultGroupID - Id of fault group.
9434	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
9435	// FaultID - Id of fault.
9436	FaultID *uuid.UUID `json:"FaultId,omitempty"`
9437	// NodeName - The name of a Service Fabric node.
9438	NodeName *string `json:"NodeName,omitempty"`
9439	// EventInstanceID - The identifier for the FabricEvent instance.
9440	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
9441	// TimeStamp - The time event was logged.
9442	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
9443	// HasCorrelatedEvents - Shows there is existing related events available.
9444	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
9445	// 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'
9446	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
9447}
9448
9449// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultCompletedEvent.
9450func (crnfce ChaosRestartNodeFaultCompletedEvent) MarshalJSON() ([]byte, error) {
9451	crnfce.Kind = KindChaosRestartNodeFaultCompleted
9452	objectMap := make(map[string]interface{})
9453	if crnfce.NodeInstanceID != nil {
9454		objectMap["NodeInstanceId"] = crnfce.NodeInstanceID
9455	}
9456	if crnfce.FaultGroupID != nil {
9457		objectMap["FaultGroupId"] = crnfce.FaultGroupID
9458	}
9459	if crnfce.FaultID != nil {
9460		objectMap["FaultId"] = crnfce.FaultID
9461	}
9462	if crnfce.NodeName != nil {
9463		objectMap["NodeName"] = crnfce.NodeName
9464	}
9465	if crnfce.EventInstanceID != nil {
9466		objectMap["EventInstanceId"] = crnfce.EventInstanceID
9467	}
9468	if crnfce.TimeStamp != nil {
9469		objectMap["TimeStamp"] = crnfce.TimeStamp
9470	}
9471	if crnfce.HasCorrelatedEvents != nil {
9472		objectMap["HasCorrelatedEvents"] = crnfce.HasCorrelatedEvents
9473	}
9474	if crnfce.Kind != "" {
9475		objectMap["Kind"] = crnfce.Kind
9476	}
9477	return json.Marshal(objectMap)
9478}
9479
9480// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9481func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
9482	return nil, false
9483}
9484
9485// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9486func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
9487	return nil, false
9488}
9489
9490// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9491func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
9492	return nil, false
9493}
9494
9495// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9496func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
9497	return nil, false
9498}
9499
9500// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9501func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
9502	return nil, false
9503}
9504
9505// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9506func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
9507	return nil, false
9508}
9509
9510// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9511func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
9512	return &crnfce, true
9513}
9514
9515// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9516func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
9517	return nil, false
9518}
9519
9520// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9521func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
9522	return nil, false
9523}
9524
9525// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9526func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
9527	return nil, false
9528}
9529
9530// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9531func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
9532	return nil, false
9533}
9534
9535// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9536func (crnfce ChaosRestartNodeFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
9537	return nil, false
9538}
9539
9540// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9541func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
9542	return nil, false
9543}
9544
9545// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9546func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
9547	return nil, false
9548}
9549
9550// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9551func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
9552	return nil, false
9553}
9554
9555// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9556func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
9557	return nil, false
9558}
9559
9560// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9561func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
9562	return nil, false
9563}
9564
9565// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9566func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
9567	return nil, false
9568}
9569
9570// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9571func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
9572	return nil, false
9573}
9574
9575// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9576func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
9577	return nil, false
9578}
9579
9580// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9581func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
9582	return nil, false
9583}
9584
9585// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9586func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
9587	return nil, false
9588}
9589
9590// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9591func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
9592	return nil, false
9593}
9594
9595// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9596func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
9597	return nil, false
9598}
9599
9600// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9601func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
9602	return nil, false
9603}
9604
9605// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9606func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
9607	return nil, false
9608}
9609
9610// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9611func (crnfce ChaosRestartNodeFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
9612	return nil, false
9613}
9614
9615// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9616func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
9617	return nil, false
9618}
9619
9620// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9621func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
9622	return nil, false
9623}
9624
9625// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9626func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
9627	return nil, false
9628}
9629
9630// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9631func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
9632	return nil, false
9633}
9634
9635// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9636func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
9637	return nil, false
9638}
9639
9640// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9641func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
9642	return nil, false
9643}
9644
9645// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9646func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
9647	return nil, false
9648}
9649
9650// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9651func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
9652	return nil, false
9653}
9654
9655// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9656func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
9657	return nil, false
9658}
9659
9660// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9661func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
9662	return nil, false
9663}
9664
9665// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9666func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
9667	return nil, false
9668}
9669
9670// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9671func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
9672	return nil, false
9673}
9674
9675// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9676func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
9677	return nil, false
9678}
9679
9680// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9681func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
9682	return nil, false
9683}
9684
9685// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9686func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
9687	return nil, false
9688}
9689
9690// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9691func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
9692	return nil, false
9693}
9694
9695// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9696func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
9697	return nil, false
9698}
9699
9700// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9701func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
9702	return nil, false
9703}
9704
9705// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9706func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
9707	return nil, false
9708}
9709
9710// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9711func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
9712	return nil, false
9713}
9714
9715// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9716func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
9717	return nil, false
9718}
9719
9720// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9721func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
9722	return nil, false
9723}
9724
9725// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9726func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
9727	return nil, false
9728}
9729
9730// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9731func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
9732	return nil, false
9733}
9734
9735// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9736func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
9737	return nil, false
9738}
9739
9740// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9741func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
9742	return nil, false
9743}
9744
9745// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9746func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
9747	return nil, false
9748}
9749
9750// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9751func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
9752	return nil, false
9753}
9754
9755// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9756func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
9757	return nil, false
9758}
9759
9760// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9761func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
9762	return nil, false
9763}
9764
9765// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9766func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
9767	return nil, false
9768}
9769
9770// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9771func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
9772	return nil, false
9773}
9774
9775// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9776func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
9777	return nil, false
9778}
9779
9780// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9781func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
9782	return nil, false
9783}
9784
9785// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9786func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
9787	return nil, false
9788}
9789
9790// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9791func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
9792	return nil, false
9793}
9794
9795// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9796func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
9797	return nil, false
9798}
9799
9800// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9801func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
9802	return nil, false
9803}
9804
9805// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9806func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
9807	return nil, false
9808}
9809
9810// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9811func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
9812	return &crnfce, true
9813}
9814
9815// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9816func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
9817	return nil, false
9818}
9819
9820// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9821func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
9822	return nil, false
9823}
9824
9825// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9826func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
9827	return nil, false
9828}
9829
9830// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9831func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
9832	return nil, false
9833}
9834
9835// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9836func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
9837	return nil, false
9838}
9839
9840// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9841func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
9842	return nil, false
9843}
9844
9845// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9846func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
9847	return nil, false
9848}
9849
9850// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9851func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
9852	return nil, false
9853}
9854
9855// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9856func (crnfce ChaosRestartNodeFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
9857	return nil, false
9858}
9859
9860// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
9861func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
9862	return &crnfce, true
9863}
9864
9865// ChaosRestartNodeFaultScheduledEvent chaos Restart Node Fault Scheduled event.
9866type ChaosRestartNodeFaultScheduledEvent struct {
9867	// NodeInstanceID - Id of Node instance.
9868	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
9869	// FaultGroupID - Id of fault group.
9870	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
9871	// FaultID - Id of fault.
9872	FaultID *uuid.UUID `json:"FaultId,omitempty"`
9873	// NodeName - The name of a Service Fabric node.
9874	NodeName *string `json:"NodeName,omitempty"`
9875	// EventInstanceID - The identifier for the FabricEvent instance.
9876	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
9877	// TimeStamp - The time event was logged.
9878	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
9879	// HasCorrelatedEvents - Shows there is existing related events available.
9880	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
9881	// 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'
9882	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
9883}
9884
9885// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultScheduledEvent.
9886func (crnfse ChaosRestartNodeFaultScheduledEvent) MarshalJSON() ([]byte, error) {
9887	crnfse.Kind = KindChaosRestartNodeFaultScheduled
9888	objectMap := make(map[string]interface{})
9889	if crnfse.NodeInstanceID != nil {
9890		objectMap["NodeInstanceId"] = crnfse.NodeInstanceID
9891	}
9892	if crnfse.FaultGroupID != nil {
9893		objectMap["FaultGroupId"] = crnfse.FaultGroupID
9894	}
9895	if crnfse.FaultID != nil {
9896		objectMap["FaultId"] = crnfse.FaultID
9897	}
9898	if crnfse.NodeName != nil {
9899		objectMap["NodeName"] = crnfse.NodeName
9900	}
9901	if crnfse.EventInstanceID != nil {
9902		objectMap["EventInstanceId"] = crnfse.EventInstanceID
9903	}
9904	if crnfse.TimeStamp != nil {
9905		objectMap["TimeStamp"] = crnfse.TimeStamp
9906	}
9907	if crnfse.HasCorrelatedEvents != nil {
9908		objectMap["HasCorrelatedEvents"] = crnfse.HasCorrelatedEvents
9909	}
9910	if crnfse.Kind != "" {
9911		objectMap["Kind"] = crnfse.Kind
9912	}
9913	return json.Marshal(objectMap)
9914}
9915
9916// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9917func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
9918	return nil, false
9919}
9920
9921// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9922func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
9923	return nil, false
9924}
9925
9926// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9927func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
9928	return nil, false
9929}
9930
9931// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9932func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
9933	return nil, false
9934}
9935
9936// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9937func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
9938	return nil, false
9939}
9940
9941// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9942func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
9943	return nil, false
9944}
9945
9946// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9947func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
9948	return &crnfse, true
9949}
9950
9951// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9952func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
9953	return nil, false
9954}
9955
9956// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9957func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
9958	return nil, false
9959}
9960
9961// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9962func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
9963	return nil, false
9964}
9965
9966// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9967func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
9968	return nil, false
9969}
9970
9971// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9972func (crnfse ChaosRestartNodeFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
9973	return nil, false
9974}
9975
9976// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9977func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
9978	return nil, false
9979}
9980
9981// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9982func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
9983	return nil, false
9984}
9985
9986// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9987func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
9988	return nil, false
9989}
9990
9991// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9992func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
9993	return nil, false
9994}
9995
9996// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
9997func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
9998	return nil, false
9999}
10000
10001// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10002func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10003	return nil, false
10004}
10005
10006// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10007func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10008	return nil, false
10009}
10010
10011// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10012func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10013	return nil, false
10014}
10015
10016// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10017func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10018	return nil, false
10019}
10020
10021// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10022func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10023	return nil, false
10024}
10025
10026// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10027func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10028	return nil, false
10029}
10030
10031// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10032func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10033	return nil, false
10034}
10035
10036// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10037func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10038	return nil, false
10039}
10040
10041// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10042func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10043	return nil, false
10044}
10045
10046// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10047func (crnfse ChaosRestartNodeFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10048	return nil, false
10049}
10050
10051// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10052func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10053	return nil, false
10054}
10055
10056// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10057func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10058	return nil, false
10059}
10060
10061// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10062func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10063	return nil, false
10064}
10065
10066// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10067func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10068	return nil, false
10069}
10070
10071// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10072func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10073	return nil, false
10074}
10075
10076// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10077func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10078	return nil, false
10079}
10080
10081// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10082func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10083	return nil, false
10084}
10085
10086// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10087func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10088	return nil, false
10089}
10090
10091// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10092func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10093	return nil, false
10094}
10095
10096// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10097func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10098	return nil, false
10099}
10100
10101// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10102func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10103	return nil, false
10104}
10105
10106// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10107func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10108	return nil, false
10109}
10110
10111// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10112func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10113	return nil, false
10114}
10115
10116// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10117func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10118	return nil, false
10119}
10120
10121// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10122func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10123	return nil, false
10124}
10125
10126// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10127func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10128	return nil, false
10129}
10130
10131// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10132func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10133	return nil, false
10134}
10135
10136// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10137func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10138	return nil, false
10139}
10140
10141// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10142func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10143	return nil, false
10144}
10145
10146// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10147func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10148	return nil, false
10149}
10150
10151// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10152func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10153	return nil, false
10154}
10155
10156// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10157func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10158	return nil, false
10159}
10160
10161// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10162func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10163	return nil, false
10164}
10165
10166// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10167func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10168	return nil, false
10169}
10170
10171// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10172func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10173	return nil, false
10174}
10175
10176// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10177func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10178	return nil, false
10179}
10180
10181// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10182func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10183	return nil, false
10184}
10185
10186// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10187func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10188	return nil, false
10189}
10190
10191// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10192func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10193	return nil, false
10194}
10195
10196// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10197func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10198	return nil, false
10199}
10200
10201// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10202func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10203	return nil, false
10204}
10205
10206// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10207func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10208	return nil, false
10209}
10210
10211// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10212func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10213	return nil, false
10214}
10215
10216// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10217func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10218	return nil, false
10219}
10220
10221// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10222func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10223	return nil, false
10224}
10225
10226// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10227func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10228	return nil, false
10229}
10230
10231// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10232func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10233	return nil, false
10234}
10235
10236// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10237func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10238	return nil, false
10239}
10240
10241// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10242func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10243	return nil, false
10244}
10245
10246// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10247func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10248	return nil, false
10249}
10250
10251// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10252func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10253	return nil, false
10254}
10255
10256// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10257func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10258	return nil, false
10259}
10260
10261// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10262func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10263	return nil, false
10264}
10265
10266// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10267func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10268	return nil, false
10269}
10270
10271// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10272func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10273	return nil, false
10274}
10275
10276// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10277func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10278	return nil, false
10279}
10280
10281// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10282func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10283	return nil, false
10284}
10285
10286// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10287func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10288	return &crnfse, true
10289}
10290
10291// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10292func (crnfse ChaosRestartNodeFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10293	return nil, false
10294}
10295
10296// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
10297func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10298	return &crnfse, true
10299}
10300
10301// ChaosRestartReplicaFaultScheduledEvent chaos Restart Replica Fault Scheduled event.
10302type ChaosRestartReplicaFaultScheduledEvent struct {
10303	// FaultGroupID - Id of fault group.
10304	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
10305	// FaultID - Id of fault.
10306	FaultID *uuid.UUID `json:"FaultId,omitempty"`
10307	// ServiceURI - Service name.
10308	ServiceURI *string `json:"ServiceUri,omitempty"`
10309	// 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.
10310	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
10311	// 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.
10312	ReplicaID *int64 `json:"ReplicaId,omitempty"`
10313	// EventInstanceID - The identifier for the FabricEvent instance.
10314	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10315	// TimeStamp - The time event was logged.
10316	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10317	// HasCorrelatedEvents - Shows there is existing related events available.
10318	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10319	// 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'
10320	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10321}
10322
10323// MarshalJSON is the custom marshaler for ChaosRestartReplicaFaultScheduledEvent.
10324func (crrfse ChaosRestartReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
10325	crrfse.Kind = KindChaosRestartReplicaFaultScheduled
10326	objectMap := make(map[string]interface{})
10327	if crrfse.FaultGroupID != nil {
10328		objectMap["FaultGroupId"] = crrfse.FaultGroupID
10329	}
10330	if crrfse.FaultID != nil {
10331		objectMap["FaultId"] = crrfse.FaultID
10332	}
10333	if crrfse.ServiceURI != nil {
10334		objectMap["ServiceUri"] = crrfse.ServiceURI
10335	}
10336	if crrfse.PartitionID != nil {
10337		objectMap["PartitionId"] = crrfse.PartitionID
10338	}
10339	if crrfse.ReplicaID != nil {
10340		objectMap["ReplicaId"] = crrfse.ReplicaID
10341	}
10342	if crrfse.EventInstanceID != nil {
10343		objectMap["EventInstanceId"] = crrfse.EventInstanceID
10344	}
10345	if crrfse.TimeStamp != nil {
10346		objectMap["TimeStamp"] = crrfse.TimeStamp
10347	}
10348	if crrfse.HasCorrelatedEvents != nil {
10349		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
10350	}
10351	if crrfse.Kind != "" {
10352		objectMap["Kind"] = crrfse.Kind
10353	}
10354	return json.Marshal(objectMap)
10355}
10356
10357// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10358func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10359	return nil, false
10360}
10361
10362// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10363func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10364	return nil, false
10365}
10366
10367// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10368func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
10369	return nil, false
10370}
10371
10372// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10373func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10374	return nil, false
10375}
10376
10377// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10378func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10379	return nil, false
10380}
10381
10382// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10383func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
10384	return nil, false
10385}
10386
10387// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10388func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10389	return nil, false
10390}
10391
10392// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10393func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10394	return nil, false
10395}
10396
10397// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10398func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10399	return nil, false
10400}
10401
10402// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10403func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10404	return nil, false
10405}
10406
10407// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10408func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10409	return nil, false
10410}
10411
10412// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10413func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10414	return nil, false
10415}
10416
10417// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10418func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10419	return &crrfse, true
10420}
10421
10422// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10423func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
10424	return nil, false
10425}
10426
10427// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10428func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10429	return nil, false
10430}
10431
10432// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10433func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10434	return nil, false
10435}
10436
10437// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10438func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10439	return nil, false
10440}
10441
10442// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10443func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10444	return nil, false
10445}
10446
10447// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10448func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10449	return nil, false
10450}
10451
10452// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10453func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10454	return nil, false
10455}
10456
10457// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10458func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10459	return nil, false
10460}
10461
10462// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10463func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10464	return nil, false
10465}
10466
10467// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10468func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10469	return nil, false
10470}
10471
10472// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10473func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10474	return nil, false
10475}
10476
10477// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10478func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10479	return nil, false
10480}
10481
10482// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10483func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10484	return nil, false
10485}
10486
10487// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10488func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10489	return nil, false
10490}
10491
10492// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10493func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10494	return nil, false
10495}
10496
10497// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10498func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10499	return nil, false
10500}
10501
10502// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10503func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10504	return nil, false
10505}
10506
10507// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10508func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10509	return nil, false
10510}
10511
10512// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10513func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10514	return nil, false
10515}
10516
10517// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10518func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10519	return nil, false
10520}
10521
10522// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10523func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10524	return nil, false
10525}
10526
10527// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10528func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10529	return nil, false
10530}
10531
10532// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10533func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10534	return nil, false
10535}
10536
10537// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10538func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10539	return nil, false
10540}
10541
10542// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10543func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10544	return nil, false
10545}
10546
10547// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10548func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10549	return nil, false
10550}
10551
10552// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10553func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10554	return nil, false
10555}
10556
10557// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10558func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10559	return nil, false
10560}
10561
10562// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10563func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10564	return nil, false
10565}
10566
10567// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10568func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10569	return nil, false
10570}
10571
10572// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10573func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10574	return nil, false
10575}
10576
10577// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10578func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10579	return nil, false
10580}
10581
10582// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10583func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10584	return nil, false
10585}
10586
10587// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10588func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10589	return nil, false
10590}
10591
10592// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10593func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10594	return nil, false
10595}
10596
10597// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10598func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10599	return nil, false
10600}
10601
10602// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10603func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10604	return nil, false
10605}
10606
10607// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10608func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10609	return nil, false
10610}
10611
10612// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10613func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10614	return nil, false
10615}
10616
10617// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10618func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10619	return nil, false
10620}
10621
10622// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10623func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10624	return nil, false
10625}
10626
10627// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10628func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10629	return nil, false
10630}
10631
10632// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10633func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10634	return nil, false
10635}
10636
10637// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10638func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10639	return nil, false
10640}
10641
10642// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10643func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10644	return nil, false
10645}
10646
10647// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10648func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10649	return nil, false
10650}
10651
10652// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10653func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10654	return nil, false
10655}
10656
10657// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10658func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10659	return nil, false
10660}
10661
10662// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10663func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10664	return nil, false
10665}
10666
10667// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10668func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10669	return nil, false
10670}
10671
10672// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10673func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10674	return nil, false
10675}
10676
10677// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10678func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10679	return nil, false
10680}
10681
10682// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10683func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10684	return nil, false
10685}
10686
10687// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10688func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10689	return nil, false
10690}
10691
10692// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10693func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10694	return nil, false
10695}
10696
10697// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10698func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10699	return nil, false
10700}
10701
10702// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10703func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10704	return nil, false
10705}
10706
10707// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10708func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10709	return nil, false
10710}
10711
10712// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10713func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10714	return nil, false
10715}
10716
10717// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10718func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10719	return nil, false
10720}
10721
10722// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10723func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10724	return &crrfse, true
10725}
10726
10727// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10728func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10729	return nil, false
10730}
10731
10732// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10733func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10734	return nil, false
10735}
10736
10737// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
10738func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10739	return &crrfse, true
10740}
10741
10742// ChaosSchedule defines the schedule used by Chaos.
10743type ChaosSchedule struct {
10744	// StartDate - The date and time Chaos will start using this schedule.
10745	StartDate *date.Time `json:"StartDate,omitempty"`
10746	// ExpiryDate - The date and time Chaos will continue to use this schedule until.
10747	ExpiryDate *date.Time `json:"ExpiryDate,omitempty"`
10748	// ChaosParametersDictionary - A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.
10749	ChaosParametersDictionary *[]ChaosParametersDictionaryItem `json:"ChaosParametersDictionary,omitempty"`
10750	// Jobs - A list of all Chaos Schedule Jobs that will be automated by the schedule.
10751	Jobs *[]ChaosScheduleJob `json:"Jobs,omitempty"`
10752}
10753
10754// ChaosScheduleDescription defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule.
10755// The version value wraps back to 0 after surpassing 2,147,483,647.
10756type ChaosScheduleDescription struct {
10757	autorest.Response `json:"-"`
10758	// Version - The version number of the Schedule.
10759	Version *int32 `json:"Version,omitempty"`
10760	// Schedule - Defines the schedule used by Chaos.
10761	Schedule *ChaosSchedule `json:"Schedule,omitempty"`
10762}
10763
10764// ChaosScheduleJob defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.
10765type ChaosScheduleJob struct {
10766	// ChaosParameters - A reference to which Chaos Parameters of the Chaos Schedule to use.
10767	ChaosParameters *string `json:"ChaosParameters,omitempty"`
10768	// Days - Defines the days of the week that a Chaos Schedule Job will run for.
10769	Days *ChaosScheduleJobActiveDaysOfWeek `json:"Days,omitempty"`
10770	// Times - A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.
10771	Times *[]TimeRange `json:"Times,omitempty"`
10772}
10773
10774// ChaosScheduleJobActiveDaysOfWeek defines the days of the week that a Chaos Schedule Job will run for.
10775type ChaosScheduleJobActiveDaysOfWeek struct {
10776	// Sunday - Indicates if the Chaos Schedule Job will run on Sunday
10777	Sunday *bool `json:"Sunday,omitempty"`
10778	// Monday - Indicates if the Chaos Schedule Job will run on Monday
10779	Monday *bool `json:"Monday,omitempty"`
10780	// Tuesday - Indicates if the Chaos Schedule Job will run on Tuesday
10781	Tuesday *bool `json:"Tuesday,omitempty"`
10782	// Wednesday - Indicates if the Chaos Schedule Job will run on Wednesday
10783	Wednesday *bool `json:"Wednesday,omitempty"`
10784	// Thursday - Indicates if the Chaos Schedule Job will run on Thursday
10785	Thursday *bool `json:"Thursday,omitempty"`
10786	// Friday - Indicates if the Chaos Schedule Job will run on Friday
10787	Friday *bool `json:"Friday,omitempty"`
10788	// Saturday - Indicates if the Chaos Schedule Job will run on Saturday
10789	Saturday *bool `json:"Saturday,omitempty"`
10790}
10791
10792// ChaosStartedEvent chaos Started event.
10793type ChaosStartedEvent struct {
10794	// MaxConcurrentFaults - Maximum number of concurrent faults.
10795	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
10796	// TimeToRunInSeconds - Time to run in seconds.
10797	TimeToRunInSeconds *float64 `json:"TimeToRunInSeconds,omitempty"`
10798	// MaxClusterStabilizationTimeoutInSeconds - Maximum timeout for cluster stabilization in seconds.
10799	MaxClusterStabilizationTimeoutInSeconds *float64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
10800	// WaitTimeBetweenIterationsInSeconds - Wait time between iterations in seconds.
10801	WaitTimeBetweenIterationsInSeconds *float64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
10802	// WaitTimeBetweenFautlsInSeconds - Wait time between faults in seconds.
10803	WaitTimeBetweenFautlsInSeconds *float64 `json:"WaitTimeBetweenFautlsInSeconds,omitempty"`
10804	// MoveReplicaFaultEnabled - Indicates MoveReplica fault is enabled.
10805	MoveReplicaFaultEnabled *bool `json:"MoveReplicaFaultEnabled,omitempty"`
10806	// IncludedNodeTypeList - List of included Node types.
10807	IncludedNodeTypeList *string `json:"IncludedNodeTypeList,omitempty"`
10808	// IncludedApplicationList - List of included Applications.
10809	IncludedApplicationList *string `json:"IncludedApplicationList,omitempty"`
10810	// ClusterHealthPolicy - Health policy.
10811	ClusterHealthPolicy *string `json:"ClusterHealthPolicy,omitempty"`
10812	// ChaosContext - Chaos Context.
10813	ChaosContext *string `json:"ChaosContext,omitempty"`
10814	// EventInstanceID - The identifier for the FabricEvent instance.
10815	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10816	// TimeStamp - The time event was logged.
10817	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10818	// HasCorrelatedEvents - Shows there is existing related events available.
10819	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10820	// 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'
10821	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10822}
10823
10824// MarshalJSON is the custom marshaler for ChaosStartedEvent.
10825func (cse ChaosStartedEvent) MarshalJSON() ([]byte, error) {
10826	cse.Kind = KindChaosStarted
10827	objectMap := make(map[string]interface{})
10828	if cse.MaxConcurrentFaults != nil {
10829		objectMap["MaxConcurrentFaults"] = cse.MaxConcurrentFaults
10830	}
10831	if cse.TimeToRunInSeconds != nil {
10832		objectMap["TimeToRunInSeconds"] = cse.TimeToRunInSeconds
10833	}
10834	if cse.MaxClusterStabilizationTimeoutInSeconds != nil {
10835		objectMap["MaxClusterStabilizationTimeoutInSeconds"] = cse.MaxClusterStabilizationTimeoutInSeconds
10836	}
10837	if cse.WaitTimeBetweenIterationsInSeconds != nil {
10838		objectMap["WaitTimeBetweenIterationsInSeconds"] = cse.WaitTimeBetweenIterationsInSeconds
10839	}
10840	if cse.WaitTimeBetweenFautlsInSeconds != nil {
10841		objectMap["WaitTimeBetweenFautlsInSeconds"] = cse.WaitTimeBetweenFautlsInSeconds
10842	}
10843	if cse.MoveReplicaFaultEnabled != nil {
10844		objectMap["MoveReplicaFaultEnabled"] = cse.MoveReplicaFaultEnabled
10845	}
10846	if cse.IncludedNodeTypeList != nil {
10847		objectMap["IncludedNodeTypeList"] = cse.IncludedNodeTypeList
10848	}
10849	if cse.IncludedApplicationList != nil {
10850		objectMap["IncludedApplicationList"] = cse.IncludedApplicationList
10851	}
10852	if cse.ClusterHealthPolicy != nil {
10853		objectMap["ClusterHealthPolicy"] = cse.ClusterHealthPolicy
10854	}
10855	if cse.ChaosContext != nil {
10856		objectMap["ChaosContext"] = cse.ChaosContext
10857	}
10858	if cse.EventInstanceID != nil {
10859		objectMap["EventInstanceId"] = cse.EventInstanceID
10860	}
10861	if cse.TimeStamp != nil {
10862		objectMap["TimeStamp"] = cse.TimeStamp
10863	}
10864	if cse.HasCorrelatedEvents != nil {
10865		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
10866	}
10867	if cse.Kind != "" {
10868		objectMap["Kind"] = cse.Kind
10869	}
10870	return json.Marshal(objectMap)
10871}
10872
10873// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10874func (cse ChaosStartedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10875	return nil, false
10876}
10877
10878// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10879func (cse ChaosStartedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10880	return nil, false
10881}
10882
10883// AsClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10884func (cse ChaosStartedEvent) AsClusterEvent() (*ClusterEvent, bool) {
10885	return nil, false
10886}
10887
10888// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10889func (cse ChaosStartedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10890	return &cse, true
10891}
10892
10893// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10894func (cse ChaosStartedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10895	return nil, false
10896}
10897
10898// AsNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10899func (cse ChaosStartedEvent) AsNodeEvent() (*NodeEvent, bool) {
10900	return nil, false
10901}
10902
10903// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10904func (cse ChaosStartedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10905	return nil, false
10906}
10907
10908// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10909func (cse ChaosStartedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10910	return nil, false
10911}
10912
10913// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10914func (cse ChaosStartedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10915	return nil, false
10916}
10917
10918// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10919func (cse ChaosStartedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10920	return nil, false
10921}
10922
10923// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10924func (cse ChaosStartedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10925	return nil, false
10926}
10927
10928// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10929func (cse ChaosStartedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10930	return nil, false
10931}
10932
10933// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10934func (cse ChaosStartedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10935	return nil, false
10936}
10937
10938// AsServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10939func (cse ChaosStartedEvent) AsServiceEvent() (*ServiceEvent, bool) {
10940	return nil, false
10941}
10942
10943// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10944func (cse ChaosStartedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10945	return nil, false
10946}
10947
10948// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10949func (cse ChaosStartedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10950	return nil, false
10951}
10952
10953// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10954func (cse ChaosStartedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10955	return nil, false
10956}
10957
10958// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10959func (cse ChaosStartedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10960	return nil, false
10961}
10962
10963// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10964func (cse ChaosStartedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10965	return nil, false
10966}
10967
10968// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10969func (cse ChaosStartedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10970	return nil, false
10971}
10972
10973// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10974func (cse ChaosStartedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10975	return nil, false
10976}
10977
10978// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10979func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10980	return nil, false
10981}
10982
10983// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10984func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10985	return nil, false
10986}
10987
10988// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10989func (cse ChaosStartedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10990	return nil, false
10991}
10992
10993// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10994func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10995	return nil, false
10996}
10997
10998// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
10999func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11000	return nil, false
11001}
11002
11003// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11004func (cse ChaosStartedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11005	return nil, false
11006}
11007
11008// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11009func (cse ChaosStartedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11010	return nil, false
11011}
11012
11013// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11014func (cse ChaosStartedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11015	return nil, false
11016}
11017
11018// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11019func (cse ChaosStartedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11020	return nil, false
11021}
11022
11023// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11024func (cse ChaosStartedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11025	return nil, false
11026}
11027
11028// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11029func (cse ChaosStartedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11030	return nil, false
11031}
11032
11033// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11034func (cse ChaosStartedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11035	return nil, false
11036}
11037
11038// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11039func (cse ChaosStartedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11040	return nil, false
11041}
11042
11043// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11044func (cse ChaosStartedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11045	return nil, false
11046}
11047
11048// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11049func (cse ChaosStartedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11050	return nil, false
11051}
11052
11053// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11054func (cse ChaosStartedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11055	return nil, false
11056}
11057
11058// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11059func (cse ChaosStartedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11060	return nil, false
11061}
11062
11063// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11064func (cse ChaosStartedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11065	return nil, false
11066}
11067
11068// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11069func (cse ChaosStartedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11070	return nil, false
11071}
11072
11073// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11074func (cse ChaosStartedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11075	return nil, false
11076}
11077
11078// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11079func (cse ChaosStartedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11080	return nil, false
11081}
11082
11083// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11084func (cse ChaosStartedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11085	return nil, false
11086}
11087
11088// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11089func (cse ChaosStartedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11090	return nil, false
11091}
11092
11093// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11094func (cse ChaosStartedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11095	return nil, false
11096}
11097
11098// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11099func (cse ChaosStartedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11100	return nil, false
11101}
11102
11103// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11104func (cse ChaosStartedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11105	return nil, false
11106}
11107
11108// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11109func (cse ChaosStartedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11110	return nil, false
11111}
11112
11113// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11114func (cse ChaosStartedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11115	return nil, false
11116}
11117
11118// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11119func (cse ChaosStartedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11120	return nil, false
11121}
11122
11123// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11124func (cse ChaosStartedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11125	return nil, false
11126}
11127
11128// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11129func (cse ChaosStartedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11130	return nil, false
11131}
11132
11133// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11134func (cse ChaosStartedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11135	return nil, false
11136}
11137
11138// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11139func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11140	return nil, false
11141}
11142
11143// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11144func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11145	return nil, false
11146}
11147
11148// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11149func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11150	return nil, false
11151}
11152
11153// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11154func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11155	return nil, false
11156}
11157
11158// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11159func (cse ChaosStartedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11160	return nil, false
11161}
11162
11163// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11164func (cse ChaosStartedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11165	return nil, false
11166}
11167
11168// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11169func (cse ChaosStartedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11170	return nil, false
11171}
11172
11173// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11174func (cse ChaosStartedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11175	return nil, false
11176}
11177
11178// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11179func (cse ChaosStartedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11180	return nil, false
11181}
11182
11183// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11184func (cse ChaosStartedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11185	return nil, false
11186}
11187
11188// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11189func (cse ChaosStartedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11190	return nil, false
11191}
11192
11193// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11194func (cse ChaosStartedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11195	return nil, false
11196}
11197
11198// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11199func (cse ChaosStartedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11200	return &cse, true
11201}
11202
11203// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11204func (cse ChaosStartedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11205	return nil, false
11206}
11207
11208// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11209func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11210	return nil, false
11211}
11212
11213// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11214func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11215	return nil, false
11216}
11217
11218// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11219func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11220	return nil, false
11221}
11222
11223// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11224func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11225	return nil, false
11226}
11227
11228// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11229func (cse ChaosStartedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11230	return nil, false
11231}
11232
11233// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11234func (cse ChaosStartedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11235	return nil, false
11236}
11237
11238// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11239func (cse ChaosStartedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11240	return nil, false
11241}
11242
11243// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11244func (cse ChaosStartedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11245	return nil, false
11246}
11247
11248// AsFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11249func (cse ChaosStartedEvent) AsFabricEvent() (*FabricEvent, bool) {
11250	return nil, false
11251}
11252
11253// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
11254func (cse ChaosStartedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11255	return &cse, true
11256}
11257
11258// ChaosStoppedEvent chaos Stopped event.
11259type ChaosStoppedEvent struct {
11260	// Reason - Describes reason.
11261	Reason *string `json:"Reason,omitempty"`
11262	// EventInstanceID - The identifier for the FabricEvent instance.
11263	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
11264	// TimeStamp - The time event was logged.
11265	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
11266	// HasCorrelatedEvents - Shows there is existing related events available.
11267	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
11268	// 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'
11269	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
11270}
11271
11272// MarshalJSON is the custom marshaler for ChaosStoppedEvent.
11273func (cse ChaosStoppedEvent) MarshalJSON() ([]byte, error) {
11274	cse.Kind = KindChaosStopped
11275	objectMap := make(map[string]interface{})
11276	if cse.Reason != nil {
11277		objectMap["Reason"] = cse.Reason
11278	}
11279	if cse.EventInstanceID != nil {
11280		objectMap["EventInstanceId"] = cse.EventInstanceID
11281	}
11282	if cse.TimeStamp != nil {
11283		objectMap["TimeStamp"] = cse.TimeStamp
11284	}
11285	if cse.HasCorrelatedEvents != nil {
11286		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
11287	}
11288	if cse.Kind != "" {
11289		objectMap["Kind"] = cse.Kind
11290	}
11291	return json.Marshal(objectMap)
11292}
11293
11294// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11295func (cse ChaosStoppedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
11296	return nil, false
11297}
11298
11299// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11300func (cse ChaosStoppedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
11301	return nil, false
11302}
11303
11304// AsClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11305func (cse ChaosStoppedEvent) AsClusterEvent() (*ClusterEvent, bool) {
11306	return nil, false
11307}
11308
11309// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11310func (cse ChaosStoppedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
11311	return &cse, true
11312}
11313
11314// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11315func (cse ChaosStoppedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
11316	return nil, false
11317}
11318
11319// AsNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11320func (cse ChaosStoppedEvent) AsNodeEvent() (*NodeEvent, bool) {
11321	return nil, false
11322}
11323
11324// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11325func (cse ChaosStoppedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
11326	return nil, false
11327}
11328
11329// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11330func (cse ChaosStoppedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11331	return nil, false
11332}
11333
11334// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11335func (cse ChaosStoppedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11336	return nil, false
11337}
11338
11339// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11340func (cse ChaosStoppedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11341	return nil, false
11342}
11343
11344// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11345func (cse ChaosStoppedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11346	return nil, false
11347}
11348
11349// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11350func (cse ChaosStoppedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11351	return nil, false
11352}
11353
11354// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11355func (cse ChaosStoppedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11356	return nil, false
11357}
11358
11359// AsServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11360func (cse ChaosStoppedEvent) AsServiceEvent() (*ServiceEvent, bool) {
11361	return nil, false
11362}
11363
11364// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11365func (cse ChaosStoppedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11366	return nil, false
11367}
11368
11369// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11370func (cse ChaosStoppedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11371	return nil, false
11372}
11373
11374// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11375func (cse ChaosStoppedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11376	return nil, false
11377}
11378
11379// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11380func (cse ChaosStoppedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11381	return nil, false
11382}
11383
11384// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11385func (cse ChaosStoppedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11386	return nil, false
11387}
11388
11389// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11390func (cse ChaosStoppedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11391	return nil, false
11392}
11393
11394// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11395func (cse ChaosStoppedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11396	return nil, false
11397}
11398
11399// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11400func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11401	return nil, false
11402}
11403
11404// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11405func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11406	return nil, false
11407}
11408
11409// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11410func (cse ChaosStoppedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11411	return nil, false
11412}
11413
11414// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11415func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
11416	return nil, false
11417}
11418
11419// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11420func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11421	return nil, false
11422}
11423
11424// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11425func (cse ChaosStoppedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11426	return nil, false
11427}
11428
11429// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11430func (cse ChaosStoppedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11431	return nil, false
11432}
11433
11434// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11435func (cse ChaosStoppedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11436	return nil, false
11437}
11438
11439// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11440func (cse ChaosStoppedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11441	return nil, false
11442}
11443
11444// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11445func (cse ChaosStoppedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11446	return nil, false
11447}
11448
11449// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11450func (cse ChaosStoppedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11451	return nil, false
11452}
11453
11454// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11455func (cse ChaosStoppedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11456	return nil, false
11457}
11458
11459// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11460func (cse ChaosStoppedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11461	return nil, false
11462}
11463
11464// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11465func (cse ChaosStoppedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11466	return nil, false
11467}
11468
11469// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11470func (cse ChaosStoppedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11471	return nil, false
11472}
11473
11474// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11475func (cse ChaosStoppedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11476	return nil, false
11477}
11478
11479// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11480func (cse ChaosStoppedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11481	return nil, false
11482}
11483
11484// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11485func (cse ChaosStoppedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11486	return nil, false
11487}
11488
11489// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11490func (cse ChaosStoppedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11491	return nil, false
11492}
11493
11494// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11495func (cse ChaosStoppedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11496	return nil, false
11497}
11498
11499// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11500func (cse ChaosStoppedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11501	return nil, false
11502}
11503
11504// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11505func (cse ChaosStoppedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11506	return nil, false
11507}
11508
11509// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11510func (cse ChaosStoppedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11511	return nil, false
11512}
11513
11514// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11515func (cse ChaosStoppedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11516	return nil, false
11517}
11518
11519// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11520func (cse ChaosStoppedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11521	return nil, false
11522}
11523
11524// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11525func (cse ChaosStoppedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11526	return nil, false
11527}
11528
11529// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11530func (cse ChaosStoppedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11531	return nil, false
11532}
11533
11534// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11535func (cse ChaosStoppedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11536	return nil, false
11537}
11538
11539// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11540func (cse ChaosStoppedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11541	return nil, false
11542}
11543
11544// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11545func (cse ChaosStoppedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11546	return nil, false
11547}
11548
11549// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11550func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11551	return nil, false
11552}
11553
11554// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11555func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11556	return nil, false
11557}
11558
11559// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11560func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11561	return nil, false
11562}
11563
11564// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11565func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11566	return nil, false
11567}
11568
11569// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11570func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11571	return nil, false
11572}
11573
11574// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11575func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11576	return nil, false
11577}
11578
11579// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11580func (cse ChaosStoppedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11581	return nil, false
11582}
11583
11584// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11585func (cse ChaosStoppedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11586	return nil, false
11587}
11588
11589// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11590func (cse ChaosStoppedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11591	return nil, false
11592}
11593
11594// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11595func (cse ChaosStoppedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11596	return nil, false
11597}
11598
11599// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11600func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11601	return nil, false
11602}
11603
11604// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11605func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11606	return nil, false
11607}
11608
11609// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11610func (cse ChaosStoppedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11611	return nil, false
11612}
11613
11614// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11615func (cse ChaosStoppedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11616	return &cse, true
11617}
11618
11619// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11620func (cse ChaosStoppedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11621	return nil, false
11622}
11623
11624// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11625func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11626	return nil, false
11627}
11628
11629// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11630func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11631	return nil, false
11632}
11633
11634// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11635func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11636	return nil, false
11637}
11638
11639// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11640func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11641	return nil, false
11642}
11643
11644// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11645func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11646	return nil, false
11647}
11648
11649// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11650func (cse ChaosStoppedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11651	return nil, false
11652}
11653
11654// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11655func (cse ChaosStoppedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11656	return nil, false
11657}
11658
11659// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11660func (cse ChaosStoppedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11661	return nil, false
11662}
11663
11664// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11665func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11666	return nil, false
11667}
11668
11669// AsFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11670func (cse ChaosStoppedEvent) AsFabricEvent() (*FabricEvent, bool) {
11671	return nil, false
11672}
11673
11674// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
11675func (cse ChaosStoppedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11676	return &cse, true
11677}
11678
11679// ChaosTargetFilter defines all filters for targeted Chaos faults, for example, faulting only certain node
11680// types or faulting only certain applications.
11681// If ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos
11682// faults only the entities that meet the ChaosTargetFilter
11683// specification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is
11684// not possible to specify an intersection
11685// of NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify "fault
11686// this application only when it is on that node type."
11687// Once an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity
11688// cannot be excluded using ChaosTargetFilter. Even if
11689// applicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be
11690// faulted because it happens to be on a node of nodeTypeY that is included
11691// in NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty,
11692// an ArgumentException is thrown.
11693type ChaosTargetFilter struct {
11694	// NodeTypeInclusionList - A list of node types to include in Chaos faults.
11695	// 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.
11696	// 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
11697	// NodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.
11698	// happens to reside on a node of NodeTypeX.
11699	// At most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.
11700	NodeTypeInclusionList *[]string `json:"NodeTypeInclusionList,omitempty"`
11701	// ApplicationInclusionList - A list of application URIs to include in Chaos faults.
11702	// All replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.
11703	// Chaos may restart a code package only if the code package hosts replicas of these applications only.
11704	// 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.
11705	// 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.
11706	// At most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.
11707	ApplicationInclusionList *[]string `json:"ApplicationInclusionList,omitempty"`
11708}
11709
11710// CheckExistsPropertyBatchOperation represents a PropertyBatchOperation that compares the Boolean
11711// existence of a property with the Exists argument.
11712// The PropertyBatchOperation operation fails if the property's existence is not equal to the Exists
11713// argument.
11714// The CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in
11715// the batch.
11716// Note that if one PropertyBatchOperation in a PropertyBatch fails,
11717// the entire batch fails and cannot be committed in a transactional manner.
11718type CheckExistsPropertyBatchOperation struct {
11719	// Exists - Whether or not the property should exist for the operation to pass.
11720	Exists *bool `json:"Exists,omitempty"`
11721	// PropertyName - The name of the Service Fabric property.
11722	PropertyName *string `json:"PropertyName,omitempty"`
11723	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
11724	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
11725}
11726
11727// MarshalJSON is the custom marshaler for CheckExistsPropertyBatchOperation.
11728func (cepbo CheckExistsPropertyBatchOperation) MarshalJSON() ([]byte, error) {
11729	cepbo.Kind = KindCheckExists
11730	objectMap := make(map[string]interface{})
11731	if cepbo.Exists != nil {
11732		objectMap["Exists"] = cepbo.Exists
11733	}
11734	if cepbo.PropertyName != nil {
11735		objectMap["PropertyName"] = cepbo.PropertyName
11736	}
11737	if cepbo.Kind != "" {
11738		objectMap["Kind"] = cepbo.Kind
11739	}
11740	return json.Marshal(objectMap)
11741}
11742
11743// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11744func (cepbo CheckExistsPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
11745	return &cepbo, true
11746}
11747
11748// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11749func (cepbo CheckExistsPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
11750	return nil, false
11751}
11752
11753// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11754func (cepbo CheckExistsPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
11755	return nil, false
11756}
11757
11758// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11759func (cepbo CheckExistsPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
11760	return nil, false
11761}
11762
11763// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11764func (cepbo CheckExistsPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
11765	return nil, false
11766}
11767
11768// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11769func (cepbo CheckExistsPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
11770	return nil, false
11771}
11772
11773// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11774func (cepbo CheckExistsPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
11775	return nil, false
11776}
11777
11778// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
11779func (cepbo CheckExistsPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
11780	return &cepbo, true
11781}
11782
11783// CheckSequencePropertyBatchOperation compares the Sequence Number of a property with the SequenceNumber
11784// argument.
11785// A property's sequence number can be thought of as that property's version.
11786// Every time the property is modified, its sequence number is increased.
11787// The sequence number can be found in a property's metadata.
11788// The comparison fails if the sequence numbers are not equal.
11789// CheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the
11790// batch.
11791// Note that if one PropertyBatchOperation in a PropertyBatch fails,
11792// the entire batch fails and cannot be committed in a transactional manner.
11793type CheckSequencePropertyBatchOperation struct {
11794	// SequenceNumber - The expected sequence number.
11795	SequenceNumber *string `json:"SequenceNumber,omitempty"`
11796	// PropertyName - The name of the Service Fabric property.
11797	PropertyName *string `json:"PropertyName,omitempty"`
11798	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
11799	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
11800}
11801
11802// MarshalJSON is the custom marshaler for CheckSequencePropertyBatchOperation.
11803func (cspbo CheckSequencePropertyBatchOperation) MarshalJSON() ([]byte, error) {
11804	cspbo.Kind = KindCheckSequence
11805	objectMap := make(map[string]interface{})
11806	if cspbo.SequenceNumber != nil {
11807		objectMap["SequenceNumber"] = cspbo.SequenceNumber
11808	}
11809	if cspbo.PropertyName != nil {
11810		objectMap["PropertyName"] = cspbo.PropertyName
11811	}
11812	if cspbo.Kind != "" {
11813		objectMap["Kind"] = cspbo.Kind
11814	}
11815	return json.Marshal(objectMap)
11816}
11817
11818// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11819func (cspbo CheckSequencePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
11820	return nil, false
11821}
11822
11823// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11824func (cspbo CheckSequencePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
11825	return &cspbo, true
11826}
11827
11828// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11829func (cspbo CheckSequencePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
11830	return nil, false
11831}
11832
11833// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11834func (cspbo CheckSequencePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
11835	return nil, false
11836}
11837
11838// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11839func (cspbo CheckSequencePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
11840	return nil, false
11841}
11842
11843// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11844func (cspbo CheckSequencePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
11845	return nil, false
11846}
11847
11848// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11849func (cspbo CheckSequencePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
11850	return nil, false
11851}
11852
11853// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
11854func (cspbo CheckSequencePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
11855	return &cspbo, true
11856}
11857
11858// CheckValuePropertyBatchOperation represents a PropertyBatchOperation that compares the value of the
11859// property with the expected value.
11860// The CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the
11861// batch.
11862// Note that if one PropertyBatchOperation in a PropertyBatch fails,
11863// the entire batch fails and cannot be committed in a transactional manner.
11864type CheckValuePropertyBatchOperation struct {
11865	// Value - The expected property value.
11866	Value BasicPropertyValue `json:"Value,omitempty"`
11867	// PropertyName - The name of the Service Fabric property.
11868	PropertyName *string `json:"PropertyName,omitempty"`
11869	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
11870	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
11871}
11872
11873// MarshalJSON is the custom marshaler for CheckValuePropertyBatchOperation.
11874func (cvpbo CheckValuePropertyBatchOperation) MarshalJSON() ([]byte, error) {
11875	cvpbo.Kind = KindCheckValue
11876	objectMap := make(map[string]interface{})
11877	objectMap["Value"] = cvpbo.Value
11878	if cvpbo.PropertyName != nil {
11879		objectMap["PropertyName"] = cvpbo.PropertyName
11880	}
11881	if cvpbo.Kind != "" {
11882		objectMap["Kind"] = cvpbo.Kind
11883	}
11884	return json.Marshal(objectMap)
11885}
11886
11887// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11888func (cvpbo CheckValuePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
11889	return nil, false
11890}
11891
11892// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11893func (cvpbo CheckValuePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
11894	return nil, false
11895}
11896
11897// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11898func (cvpbo CheckValuePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
11899	return &cvpbo, true
11900}
11901
11902// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11903func (cvpbo CheckValuePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
11904	return nil, false
11905}
11906
11907// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11908func (cvpbo CheckValuePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
11909	return nil, false
11910}
11911
11912// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11913func (cvpbo CheckValuePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
11914	return nil, false
11915}
11916
11917// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11918func (cvpbo CheckValuePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
11919	return nil, false
11920}
11921
11922// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
11923func (cvpbo CheckValuePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
11924	return &cvpbo, true
11925}
11926
11927// UnmarshalJSON is the custom unmarshaler for CheckValuePropertyBatchOperation struct.
11928func (cvpbo *CheckValuePropertyBatchOperation) UnmarshalJSON(body []byte) error {
11929	var m map[string]*json.RawMessage
11930	err := json.Unmarshal(body, &m)
11931	if err != nil {
11932		return err
11933	}
11934	for k, v := range m {
11935		switch k {
11936		case "Value":
11937			if v != nil {
11938				value, err := unmarshalBasicPropertyValue(*v)
11939				if err != nil {
11940					return err
11941				}
11942				cvpbo.Value = value
11943			}
11944		case "PropertyName":
11945			if v != nil {
11946				var propertyName string
11947				err = json.Unmarshal(*v, &propertyName)
11948				if err != nil {
11949					return err
11950				}
11951				cvpbo.PropertyName = &propertyName
11952			}
11953		case "Kind":
11954			if v != nil {
11955				var kind KindBasicPropertyBatchOperation
11956				err = json.Unmarshal(*v, &kind)
11957				if err != nil {
11958					return err
11959				}
11960				cvpbo.Kind = kind
11961			}
11962		}
11963	}
11964
11965	return nil
11966}
11967
11968// ClusterConfiguration information about the standalone cluster configuration.
11969type ClusterConfiguration struct {
11970	autorest.Response `json:"-"`
11971	// ClusterConfiguration - The contents of the cluster configuration file.
11972	ClusterConfiguration *string `json:"ClusterConfiguration,omitempty"`
11973}
11974
11975// ClusterConfigurationUpgradeDescription describes the parameters for a standalone cluster configuration
11976// upgrade.
11977type ClusterConfigurationUpgradeDescription struct {
11978	// ClusterConfig - The cluster configuration.
11979	ClusterConfig *string `json:"ClusterConfig,omitempty"`
11980	// HealthCheckRetryTimeout - The length of time between attempts to perform a health checks if the application or cluster is not healthy.
11981	HealthCheckRetryTimeout *string `json:"HealthCheckRetryTimeout,omitempty"`
11982	// HealthCheckWaitDurationInSeconds - The length of time to wait after completing an upgrade domain before starting the health checks process.
11983	HealthCheckWaitDurationInSeconds *string `json:"HealthCheckWaitDurationInSeconds,omitempty"`
11984	// HealthCheckStableDurationInSeconds - The length of time that the application or cluster must remain healthy.
11985	HealthCheckStableDurationInSeconds *string `json:"HealthCheckStableDurationInSeconds,omitempty"`
11986	// UpgradeDomainTimeoutInSeconds - The timeout for the upgrade domain.
11987	UpgradeDomainTimeoutInSeconds *string `json:"UpgradeDomainTimeoutInSeconds,omitempty"`
11988	// UpgradeTimeoutInSeconds - The upgrade timeout.
11989	UpgradeTimeoutInSeconds *string `json:"UpgradeTimeoutInSeconds,omitempty"`
11990	// MaxPercentUnhealthyApplications - The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.
11991	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
11992	// MaxPercentUnhealthyNodes - The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.
11993	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
11994	// MaxPercentDeltaUnhealthyNodes - The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
11995	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
11996	// MaxPercentUpgradeDomainDeltaUnhealthyNodes - The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
11997	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
11998}
11999
12000// ClusterConfigurationUpgradeStatusInfo information about a standalone cluster configuration upgrade
12001// status.
12002type ClusterConfigurationUpgradeStatusInfo struct {
12003	autorest.Response `json:"-"`
12004	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
12005	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
12006	// ProgressStatus - The cluster manifest version.
12007	ProgressStatus *int32 `json:"ProgressStatus,omitempty"`
12008	// ConfigVersion - The cluster configuration version.
12009	ConfigVersion *string `json:"ConfigVersion,omitempty"`
12010	// Details - The cluster upgrade status details.
12011	Details *string `json:"Details,omitempty"`
12012}
12013
12014// BasicClusterEvent represents the base for all Cluster Events.
12015type BasicClusterEvent interface {
12016	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
12017	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
12018	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
12019	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
12020	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
12021	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
12022	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
12023	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
12024	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
12025	AsClusterEvent() (*ClusterEvent, bool)
12026}
12027
12028// ClusterEvent represents the base for all Cluster Events.
12029type ClusterEvent struct {
12030	// EventInstanceID - The identifier for the FabricEvent instance.
12031	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12032	// TimeStamp - The time event was logged.
12033	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12034	// HasCorrelatedEvents - Shows there is existing related events available.
12035	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12036	// 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'
12037	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12038}
12039
12040func unmarshalBasicClusterEvent(body []byte) (BasicClusterEvent, error) {
12041	var m map[string]interface{}
12042	err := json.Unmarshal(body, &m)
12043	if err != nil {
12044		return nil, err
12045	}
12046
12047	switch m["Kind"] {
12048	case string(KindClusterHealthReportCreated):
12049		var chrce ClusterHealthReportCreatedEvent
12050		err := json.Unmarshal(body, &chrce)
12051		return chrce, err
12052	case string(KindClusterHealthReportExpired):
12053		var chree ClusterHealthReportExpiredEvent
12054		err := json.Unmarshal(body, &chree)
12055		return chree, err
12056	case string(KindClusterUpgradeComplete):
12057		var cuce ClusterUpgradeCompleteEvent
12058		err := json.Unmarshal(body, &cuce)
12059		return cuce, err
12060	case string(KindClusterUpgradeDomainComplete):
12061		var cudce ClusterUpgradeDomainCompleteEvent
12062		err := json.Unmarshal(body, &cudce)
12063		return cudce, err
12064	case string(KindClusterUpgradeRollbackComplete):
12065		var curce ClusterUpgradeRollbackCompleteEvent
12066		err := json.Unmarshal(body, &curce)
12067		return curce, err
12068	case string(KindClusterUpgradeRollbackStart):
12069		var curse ClusterUpgradeRollbackStartEvent
12070		err := json.Unmarshal(body, &curse)
12071		return curse, err
12072	case string(KindClusterUpgradeStart):
12073		var cuse ClusterUpgradeStartEvent
12074		err := json.Unmarshal(body, &cuse)
12075		return cuse, err
12076	case string(KindChaosStopped):
12077		var cse ChaosStoppedEvent
12078		err := json.Unmarshal(body, &cse)
12079		return cse, err
12080	case string(KindChaosStarted):
12081		var cse ChaosStartedEvent
12082		err := json.Unmarshal(body, &cse)
12083		return cse, err
12084	default:
12085		var ce ClusterEvent
12086		err := json.Unmarshal(body, &ce)
12087		return ce, err
12088	}
12089}
12090func unmarshalBasicClusterEventArray(body []byte) ([]BasicClusterEvent, error) {
12091	var rawMessages []*json.RawMessage
12092	err := json.Unmarshal(body, &rawMessages)
12093	if err != nil {
12094		return nil, err
12095	}
12096
12097	ceArray := make([]BasicClusterEvent, len(rawMessages))
12098
12099	for index, rawMessage := range rawMessages {
12100		ce, err := unmarshalBasicClusterEvent(*rawMessage)
12101		if err != nil {
12102			return nil, err
12103		}
12104		ceArray[index] = ce
12105	}
12106	return ceArray, nil
12107}
12108
12109// MarshalJSON is the custom marshaler for ClusterEvent.
12110func (ce ClusterEvent) MarshalJSON() ([]byte, error) {
12111	ce.Kind = KindClusterEvent
12112	objectMap := make(map[string]interface{})
12113	if ce.EventInstanceID != nil {
12114		objectMap["EventInstanceId"] = ce.EventInstanceID
12115	}
12116	if ce.TimeStamp != nil {
12117		objectMap["TimeStamp"] = ce.TimeStamp
12118	}
12119	if ce.HasCorrelatedEvents != nil {
12120		objectMap["HasCorrelatedEvents"] = ce.HasCorrelatedEvents
12121	}
12122	if ce.Kind != "" {
12123		objectMap["Kind"] = ce.Kind
12124	}
12125	return json.Marshal(objectMap)
12126}
12127
12128// AsApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
12129func (ce ClusterEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12130	return nil, false
12131}
12132
12133// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
12134func (ce ClusterEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12135	return nil, false
12136}
12137
12138// AsClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
12139func (ce ClusterEvent) AsClusterEvent() (*ClusterEvent, bool) {
12140	return &ce, true
12141}
12142
12143// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
12144func (ce ClusterEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12145	return &ce, true
12146}
12147
12148// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterEvent.
12149func (ce ClusterEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12150	return nil, false
12151}
12152
12153// AsNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
12154func (ce ClusterEvent) AsNodeEvent() (*NodeEvent, bool) {
12155	return nil, false
12156}
12157
12158// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
12159func (ce ClusterEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12160	return nil, false
12161}
12162
12163// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
12164func (ce ClusterEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12165	return nil, false
12166}
12167
12168// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
12169func (ce ClusterEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12170	return nil, false
12171}
12172
12173// AsPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
12174func (ce ClusterEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12175	return nil, false
12176}
12177
12178// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
12179func (ce ClusterEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12180	return nil, false
12181}
12182
12183// AsReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
12184func (ce ClusterEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12185	return nil, false
12186}
12187
12188// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
12189func (ce ClusterEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12190	return nil, false
12191}
12192
12193// AsServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
12194func (ce ClusterEvent) AsServiceEvent() (*ServiceEvent, bool) {
12195	return nil, false
12196}
12197
12198// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
12199func (ce ClusterEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12200	return nil, false
12201}
12202
12203// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12204func (ce ClusterEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12205	return nil, false
12206}
12207
12208// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12209func (ce ClusterEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12210	return nil, false
12211}
12212
12213// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12214func (ce ClusterEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12215	return nil, false
12216}
12217
12218// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12219func (ce ClusterEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12220	return nil, false
12221}
12222
12223// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12224func (ce ClusterEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12225	return nil, false
12226}
12227
12228// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12229func (ce ClusterEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12230	return nil, false
12231}
12232
12233// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12234func (ce ClusterEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12235	return nil, false
12236}
12237
12238// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12239func (ce ClusterEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12240	return nil, false
12241}
12242
12243// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12244func (ce ClusterEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12245	return nil, false
12246}
12247
12248// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12249func (ce ClusterEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12250	return nil, false
12251}
12252
12253// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12254func (ce ClusterEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12255	return nil, false
12256}
12257
12258// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12259func (ce ClusterEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12260	return nil, false
12261}
12262
12263// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12264func (ce ClusterEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12265	return nil, false
12266}
12267
12268// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterEvent.
12269func (ce ClusterEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12270	return nil, false
12271}
12272
12273// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterEvent.
12274func (ce ClusterEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12275	return nil, false
12276}
12277
12278// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterEvent.
12279func (ce ClusterEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12280	return nil, false
12281}
12282
12283// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterEvent.
12284func (ce ClusterEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12285	return nil, false
12286}
12287
12288// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterEvent.
12289func (ce ClusterEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12290	return nil, false
12291}
12292
12293// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12294func (ce ClusterEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12295	return nil, false
12296}
12297
12298// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12299func (ce ClusterEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12300	return nil, false
12301}
12302
12303// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterEvent.
12304func (ce ClusterEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12305	return nil, false
12306}
12307
12308// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12309func (ce ClusterEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12310	return nil, false
12311}
12312
12313// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12314func (ce ClusterEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12315	return nil, false
12316}
12317
12318// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterEvent.
12319func (ce ClusterEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12320	return nil, false
12321}
12322
12323// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterEvent.
12324func (ce ClusterEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12325	return nil, false
12326}
12327
12328// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterEvent.
12329func (ce ClusterEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12330	return nil, false
12331}
12332
12333// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterEvent.
12334func (ce ClusterEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12335	return nil, false
12336}
12337
12338// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterEvent.
12339func (ce ClusterEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12340	return nil, false
12341}
12342
12343// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12344func (ce ClusterEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12345	return nil, false
12346}
12347
12348// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12349func (ce ClusterEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12350	return nil, false
12351}
12352
12353// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12354func (ce ClusterEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12355	return nil, false
12356}
12357
12358// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
12359func (ce ClusterEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
12360	return nil, false
12361}
12362
12363// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12364func (ce ClusterEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
12365	return nil, false
12366}
12367
12368// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12369func (ce ClusterEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
12370	return nil, false
12371}
12372
12373// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12374func (ce ClusterEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
12375	return nil, false
12376}
12377
12378// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12379func (ce ClusterEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
12380	return nil, false
12381}
12382
12383// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12384func (ce ClusterEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
12385	return nil, false
12386}
12387
12388// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12389func (ce ClusterEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
12390	return nil, false
12391}
12392
12393// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12394func (ce ClusterEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
12395	return nil, false
12396}
12397
12398// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12399func (ce ClusterEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
12400	return nil, false
12401}
12402
12403// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12404func (ce ClusterEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
12405	return nil, false
12406}
12407
12408// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12409func (ce ClusterEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
12410	return nil, false
12411}
12412
12413// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
12414func (ce ClusterEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
12415	return nil, false
12416}
12417
12418// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
12419func (ce ClusterEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
12420	return nil, false
12421}
12422
12423// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12424func (ce ClusterEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
12425	return nil, false
12426}
12427
12428// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12429func (ce ClusterEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12430	return nil, false
12431}
12432
12433// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
12434func (ce ClusterEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12435	return nil, false
12436}
12437
12438// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12439func (ce ClusterEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12440	return nil, false
12441}
12442
12443// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
12444func (ce ClusterEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12445	return nil, false
12446}
12447
12448// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterEvent.
12449func (ce ClusterEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
12450	return nil, false
12451}
12452
12453// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterEvent.
12454func (ce ClusterEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
12455	return nil, false
12456}
12457
12458// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12459func (ce ClusterEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
12460	return nil, false
12461}
12462
12463// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12464func (ce ClusterEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
12465	return nil, false
12466}
12467
12468// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12469func (ce ClusterEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
12470	return nil, false
12471}
12472
12473// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12474func (ce ClusterEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
12475	return nil, false
12476}
12477
12478// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
12479func (ce ClusterEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
12480	return nil, false
12481}
12482
12483// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12484func (ce ClusterEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
12485	return nil, false
12486}
12487
12488// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12489func (ce ClusterEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
12490	return nil, false
12491}
12492
12493// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12494func (ce ClusterEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
12495	return nil, false
12496}
12497
12498// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
12499func (ce ClusterEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
12500	return nil, false
12501}
12502
12503// AsFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
12504func (ce ClusterEvent) AsFabricEvent() (*FabricEvent, bool) {
12505	return nil, false
12506}
12507
12508// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
12509func (ce ClusterEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
12510	return &ce, true
12511}
12512
12513// ClusterHealth represents the health of the cluster.
12514// Contains the cluster aggregated health state, the cluster application and node health states as well as
12515// the health events and the unhealthy evaluations.
12516type ClusterHealth struct {
12517	autorest.Response `json:"-"`
12518	// NodeHealthStates - Cluster node health states as found in the health store.
12519	NodeHealthStates *[]NodeHealthState `json:"NodeHealthStates,omitempty"`
12520	// ApplicationHealthStates - Cluster application health states as found in the health store.
12521	ApplicationHealthStates *[]ApplicationHealthState `json:"ApplicationHealthStates,omitempty"`
12522	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
12523	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
12524	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
12525	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
12526	// HealthEvents - The list of health events reported on the entity.
12527	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
12528	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
12529	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
12530	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
12531	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
12532}
12533
12534// ClusterHealthChunk represents the health chunk of the cluster.
12535// Contains the cluster aggregated health state, and the cluster entities that respect the input filter.
12536type ClusterHealthChunk struct {
12537	autorest.Response `json:"-"`
12538	// HealthState - The HealthState representing the aggregated health state of the cluster computed by Health Manager.
12539	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
12540	// The aggregation is done by applying the desired cluster health policy and the application health policies. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
12541	HealthState HealthState `json:"HealthState,omitempty"`
12542	// NodeHealthStateChunks - The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description.
12543	NodeHealthStateChunks *NodeHealthStateChunkList `json:"NodeHealthStateChunks,omitempty"`
12544	// ApplicationHealthStateChunks - The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description.
12545	ApplicationHealthStateChunks *ApplicationHealthStateChunkList `json:"ApplicationHealthStateChunks,omitempty"`
12546}
12547
12548// ClusterHealthChunkQueryDescription the cluster health chunk query description, which can specify the
12549// health policies to evaluate cluster health and very expressive filters to select which cluster entities
12550// to include in response.
12551type ClusterHealthChunkQueryDescription struct {
12552	// NodeFilters - Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.
12553	// 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.
12554	// The cluster health chunk query may specify multiple node filters.
12555	// 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.
12556	NodeFilters *[]NodeHealthStateFilter `json:"NodeFilters,omitempty"`
12557	// ApplicationFilters - Defines a list of filters that specify which applications to be included in the returned cluster health chunk.
12558	// 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.
12559	// The cluster health chunk query may specify multiple application filters.
12560	// 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.
12561	ApplicationFilters *[]ApplicationHealthStateFilter `json:"ApplicationFilters,omitempty"`
12562	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
12563	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
12564	// ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
12565	ApplicationHealthPolicies *ApplicationHealthPolicies `json:"ApplicationHealthPolicies,omitempty"`
12566}
12567
12568// ClusterHealthPolicies health policies to evaluate cluster health.
12569type ClusterHealthPolicies struct {
12570	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
12571	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
12572	// 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).
12573	// The map is empty by default.
12574	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
12575	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
12576	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
12577}
12578
12579// ClusterHealthPolicy defines a health policy used to evaluate the health of the cluster or of a cluster
12580// node.
12581type ClusterHealthPolicy struct {
12582	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors.
12583	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
12584	// 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.
12585	// The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.
12586	// If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.
12587	// The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.
12588	// The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
12589	// In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.
12590	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
12591	// 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.
12592	// The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.
12593	// If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.
12594	// 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.
12595	// The computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.
12596	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
12597	// ApplicationTypeHealthPolicyMap - Defines a map with max percentage unhealthy applications for specific application types.
12598	// 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.
12599	// The application type health policy map can be used during cluster health evaluation to describe special application types.
12600	// 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.
12601	// The applications of application types specified in the map are not counted against the global pool of applications.
12602	// For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type
12603	// and assign it a value of 0% (that is, do not tolerate any failures).
12604	// All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.
12605	// 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.
12606	ApplicationTypeHealthPolicyMap *[]ApplicationTypeHealthPolicyMapItem `json:"ApplicationTypeHealthPolicyMap,omitempty"`
12607}
12608
12609// ClusterHealthReportCreatedEvent cluster Health Report Created event.
12610type ClusterHealthReportCreatedEvent struct {
12611	// SourceID - Id of report source.
12612	SourceID *string `json:"SourceId,omitempty"`
12613	// Property - Describes the property.
12614	Property *string `json:"Property,omitempty"`
12615	// HealthState - Describes the property health state.
12616	HealthState *string `json:"HealthState,omitempty"`
12617	// TimeToLiveMs - Time to live in milli-seconds.
12618	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
12619	// SequenceNumber - Sequence number of report.
12620	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
12621	// Description - Description of report.
12622	Description *string `json:"Description,omitempty"`
12623	// RemoveWhenExpired - Indicates the removal when it expires.
12624	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
12625	// SourceUtcTimestamp - Source time.
12626	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
12627	// EventInstanceID - The identifier for the FabricEvent instance.
12628	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12629	// TimeStamp - The time event was logged.
12630	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12631	// HasCorrelatedEvents - Shows there is existing related events available.
12632	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12633	// 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'
12634	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12635}
12636
12637// MarshalJSON is the custom marshaler for ClusterHealthReportCreatedEvent.
12638func (chrce ClusterHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
12639	chrce.Kind = KindClusterHealthReportCreated
12640	objectMap := make(map[string]interface{})
12641	if chrce.SourceID != nil {
12642		objectMap["SourceId"] = chrce.SourceID
12643	}
12644	if chrce.Property != nil {
12645		objectMap["Property"] = chrce.Property
12646	}
12647	if chrce.HealthState != nil {
12648		objectMap["HealthState"] = chrce.HealthState
12649	}
12650	if chrce.TimeToLiveMs != nil {
12651		objectMap["TimeToLiveMs"] = chrce.TimeToLiveMs
12652	}
12653	if chrce.SequenceNumber != nil {
12654		objectMap["SequenceNumber"] = chrce.SequenceNumber
12655	}
12656	if chrce.Description != nil {
12657		objectMap["Description"] = chrce.Description
12658	}
12659	if chrce.RemoveWhenExpired != nil {
12660		objectMap["RemoveWhenExpired"] = chrce.RemoveWhenExpired
12661	}
12662	if chrce.SourceUtcTimestamp != nil {
12663		objectMap["SourceUtcTimestamp"] = chrce.SourceUtcTimestamp
12664	}
12665	if chrce.EventInstanceID != nil {
12666		objectMap["EventInstanceId"] = chrce.EventInstanceID
12667	}
12668	if chrce.TimeStamp != nil {
12669		objectMap["TimeStamp"] = chrce.TimeStamp
12670	}
12671	if chrce.HasCorrelatedEvents != nil {
12672		objectMap["HasCorrelatedEvents"] = chrce.HasCorrelatedEvents
12673	}
12674	if chrce.Kind != "" {
12675		objectMap["Kind"] = chrce.Kind
12676	}
12677	return json.Marshal(objectMap)
12678}
12679
12680// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12681func (chrce ClusterHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12682	return nil, false
12683}
12684
12685// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12686func (chrce ClusterHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12687	return nil, false
12688}
12689
12690// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12691func (chrce ClusterHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
12692	return nil, false
12693}
12694
12695// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12696func (chrce ClusterHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12697	return &chrce, true
12698}
12699
12700// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12701func (chrce ClusterHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12702	return nil, false
12703}
12704
12705// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12706func (chrce ClusterHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
12707	return nil, false
12708}
12709
12710// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12711func (chrce ClusterHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12712	return nil, false
12713}
12714
12715// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12716func (chrce ClusterHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12717	return nil, false
12718}
12719
12720// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12721func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12722	return nil, false
12723}
12724
12725// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12726func (chrce ClusterHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12727	return nil, false
12728}
12729
12730// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12731func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12732	return nil, false
12733}
12734
12735// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12736func (chrce ClusterHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12737	return nil, false
12738}
12739
12740// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12741func (chrce ClusterHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12742	return nil, false
12743}
12744
12745// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12746func (chrce ClusterHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
12747	return nil, false
12748}
12749
12750// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12751func (chrce ClusterHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12752	return nil, false
12753}
12754
12755// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12756func (chrce ClusterHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12757	return nil, false
12758}
12759
12760// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12761func (chrce ClusterHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12762	return nil, false
12763}
12764
12765// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12766func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12767	return nil, false
12768}
12769
12770// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12771func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12772	return nil, false
12773}
12774
12775// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12776func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12777	return nil, false
12778}
12779
12780// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12781func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12782	return nil, false
12783}
12784
12785// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12786func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12787	return nil, false
12788}
12789
12790// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12791func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12792	return nil, false
12793}
12794
12795// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12796func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12797	return nil, false
12798}
12799
12800// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12801func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12802	return nil, false
12803}
12804
12805// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12806func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12807	return nil, false
12808}
12809
12810// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12811func (chrce ClusterHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12812	return nil, false
12813}
12814
12815// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12816func (chrce ClusterHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12817	return nil, false
12818}
12819
12820// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12821func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12822	return nil, false
12823}
12824
12825// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12826func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12827	return nil, false
12828}
12829
12830// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12831func (chrce ClusterHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12832	return nil, false
12833}
12834
12835// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12836func (chrce ClusterHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12837	return nil, false
12838}
12839
12840// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12841func (chrce ClusterHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12842	return nil, false
12843}
12844
12845// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12846func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12847	return nil, false
12848}
12849
12850// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12851func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12852	return nil, false
12853}
12854
12855// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12856func (chrce ClusterHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12857	return nil, false
12858}
12859
12860// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12861func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12862	return nil, false
12863}
12864
12865// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12866func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12867	return nil, false
12868}
12869
12870// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12871func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12872	return nil, false
12873}
12874
12875// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12876func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12877	return nil, false
12878}
12879
12880// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12881func (chrce ClusterHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12882	return nil, false
12883}
12884
12885// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12886func (chrce ClusterHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12887	return nil, false
12888}
12889
12890// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12891func (chrce ClusterHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12892	return nil, false
12893}
12894
12895// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12896func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12897	return nil, false
12898}
12899
12900// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12901func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12902	return nil, false
12903}
12904
12905// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12906func (chrce ClusterHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12907	return nil, false
12908}
12909
12910// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12911func (chrce ClusterHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
12912	return nil, false
12913}
12914
12915// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12916func (chrce ClusterHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
12917	return nil, false
12918}
12919
12920// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12921func (chrce ClusterHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
12922	return nil, false
12923}
12924
12925// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12926func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
12927	return nil, false
12928}
12929
12930// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12931func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
12932	return nil, false
12933}
12934
12935// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12936func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
12937	return nil, false
12938}
12939
12940// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12941func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
12942	return nil, false
12943}
12944
12945// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12946func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
12947	return nil, false
12948}
12949
12950// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12951func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
12952	return nil, false
12953}
12954
12955// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12956func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
12957	return nil, false
12958}
12959
12960// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12961func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
12962	return nil, false
12963}
12964
12965// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12966func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
12967	return &chrce, true
12968}
12969
12970// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12971func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
12972	return nil, false
12973}
12974
12975// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12976func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
12977	return nil, false
12978}
12979
12980// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12981func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12982	return nil, false
12983}
12984
12985// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12986func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12987	return nil, false
12988}
12989
12990// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12991func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12992	return nil, false
12993}
12994
12995// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
12996func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12997	return nil, false
12998}
12999
13000// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13001func (chrce ClusterHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13002	return nil, false
13003}
13004
13005// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13006func (chrce ClusterHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13007	return nil, false
13008}
13009
13010// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13011func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13012	return nil, false
13013}
13014
13015// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13016func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13017	return nil, false
13018}
13019
13020// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13021func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13022	return nil, false
13023}
13024
13025// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13026func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13027	return nil, false
13028}
13029
13030// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13031func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13032	return nil, false
13033}
13034
13035// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13036func (chrce ClusterHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13037	return nil, false
13038}
13039
13040// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13041func (chrce ClusterHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13042	return nil, false
13043}
13044
13045// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13046func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13047	return nil, false
13048}
13049
13050// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13051func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13052	return nil, false
13053}
13054
13055// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13056func (chrce ClusterHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
13057	return nil, false
13058}
13059
13060// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
13061func (chrce ClusterHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13062	return &chrce, true
13063}
13064
13065// ClusterHealthReportExpiredEvent cluster Health Report Expired event.
13066type ClusterHealthReportExpiredEvent struct {
13067	// SourceID - Id of report source.
13068	SourceID *string `json:"SourceId,omitempty"`
13069	// Property - Describes the property.
13070	Property *string `json:"Property,omitempty"`
13071	// HealthState - Describes the property health state.
13072	HealthState *string `json:"HealthState,omitempty"`
13073	// TimeToLiveMs - Time to live in milli-seconds.
13074	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
13075	// SequenceNumber - Sequence number of report.
13076	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
13077	// Description - Description of report.
13078	Description *string `json:"Description,omitempty"`
13079	// RemoveWhenExpired - Indicates the removal when it expires.
13080	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
13081	// SourceUtcTimestamp - Source time.
13082	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
13083	// EventInstanceID - The identifier for the FabricEvent instance.
13084	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13085	// TimeStamp - The time event was logged.
13086	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13087	// HasCorrelatedEvents - Shows there is existing related events available.
13088	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13089	// 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'
13090	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13091}
13092
13093// MarshalJSON is the custom marshaler for ClusterHealthReportExpiredEvent.
13094func (chree ClusterHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
13095	chree.Kind = KindClusterHealthReportExpired
13096	objectMap := make(map[string]interface{})
13097	if chree.SourceID != nil {
13098		objectMap["SourceId"] = chree.SourceID
13099	}
13100	if chree.Property != nil {
13101		objectMap["Property"] = chree.Property
13102	}
13103	if chree.HealthState != nil {
13104		objectMap["HealthState"] = chree.HealthState
13105	}
13106	if chree.TimeToLiveMs != nil {
13107		objectMap["TimeToLiveMs"] = chree.TimeToLiveMs
13108	}
13109	if chree.SequenceNumber != nil {
13110		objectMap["SequenceNumber"] = chree.SequenceNumber
13111	}
13112	if chree.Description != nil {
13113		objectMap["Description"] = chree.Description
13114	}
13115	if chree.RemoveWhenExpired != nil {
13116		objectMap["RemoveWhenExpired"] = chree.RemoveWhenExpired
13117	}
13118	if chree.SourceUtcTimestamp != nil {
13119		objectMap["SourceUtcTimestamp"] = chree.SourceUtcTimestamp
13120	}
13121	if chree.EventInstanceID != nil {
13122		objectMap["EventInstanceId"] = chree.EventInstanceID
13123	}
13124	if chree.TimeStamp != nil {
13125		objectMap["TimeStamp"] = chree.TimeStamp
13126	}
13127	if chree.HasCorrelatedEvents != nil {
13128		objectMap["HasCorrelatedEvents"] = chree.HasCorrelatedEvents
13129	}
13130	if chree.Kind != "" {
13131		objectMap["Kind"] = chree.Kind
13132	}
13133	return json.Marshal(objectMap)
13134}
13135
13136// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13137func (chree ClusterHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13138	return nil, false
13139}
13140
13141// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13142func (chree ClusterHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13143	return nil, false
13144}
13145
13146// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13147func (chree ClusterHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
13148	return nil, false
13149}
13150
13151// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13152func (chree ClusterHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13153	return &chree, true
13154}
13155
13156// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13157func (chree ClusterHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13158	return nil, false
13159}
13160
13161// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13162func (chree ClusterHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
13163	return nil, false
13164}
13165
13166// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13167func (chree ClusterHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13168	return nil, false
13169}
13170
13171// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13172func (chree ClusterHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13173	return nil, false
13174}
13175
13176// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13177func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13178	return nil, false
13179}
13180
13181// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13182func (chree ClusterHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13183	return nil, false
13184}
13185
13186// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13187func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13188	return nil, false
13189}
13190
13191// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13192func (chree ClusterHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13193	return nil, false
13194}
13195
13196// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13197func (chree ClusterHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13198	return nil, false
13199}
13200
13201// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13202func (chree ClusterHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
13203	return nil, false
13204}
13205
13206// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13207func (chree ClusterHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13208	return nil, false
13209}
13210
13211// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13212func (chree ClusterHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13213	return nil, false
13214}
13215
13216// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13217func (chree ClusterHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13218	return nil, false
13219}
13220
13221// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13222func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13223	return nil, false
13224}
13225
13226// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13227func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13228	return nil, false
13229}
13230
13231// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13232func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13233	return nil, false
13234}
13235
13236// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13237func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13238	return nil, false
13239}
13240
13241// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13242func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13243	return nil, false
13244}
13245
13246// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13247func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13248	return nil, false
13249}
13250
13251// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13252func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13253	return nil, false
13254}
13255
13256// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13257func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13258	return nil, false
13259}
13260
13261// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13262func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13263	return nil, false
13264}
13265
13266// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13267func (chree ClusterHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13268	return nil, false
13269}
13270
13271// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13272func (chree ClusterHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13273	return nil, false
13274}
13275
13276// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13277func (chree ClusterHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13278	return nil, false
13279}
13280
13281// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13282func (chree ClusterHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13283	return nil, false
13284}
13285
13286// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13287func (chree ClusterHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13288	return nil, false
13289}
13290
13291// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13292func (chree ClusterHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13293	return nil, false
13294}
13295
13296// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13297func (chree ClusterHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13298	return nil, false
13299}
13300
13301// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13302func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13303	return nil, false
13304}
13305
13306// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13307func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13308	return nil, false
13309}
13310
13311// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13312func (chree ClusterHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13313	return nil, false
13314}
13315
13316// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13317func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13318	return nil, false
13319}
13320
13321// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13322func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13323	return nil, false
13324}
13325
13326// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13327func (chree ClusterHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13328	return nil, false
13329}
13330
13331// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13332func (chree ClusterHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13333	return nil, false
13334}
13335
13336// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13337func (chree ClusterHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13338	return nil, false
13339}
13340
13341// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13342func (chree ClusterHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13343	return nil, false
13344}
13345
13346// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13347func (chree ClusterHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13348	return nil, false
13349}
13350
13351// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13352func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13353	return nil, false
13354}
13355
13356// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13357func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13358	return nil, false
13359}
13360
13361// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13362func (chree ClusterHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13363	return nil, false
13364}
13365
13366// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13367func (chree ClusterHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13368	return nil, false
13369}
13370
13371// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13372func (chree ClusterHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13373	return nil, false
13374}
13375
13376// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13377func (chree ClusterHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13378	return nil, false
13379}
13380
13381// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13382func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13383	return nil, false
13384}
13385
13386// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13387func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13388	return nil, false
13389}
13390
13391// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13392func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13393	return nil, false
13394}
13395
13396// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13397func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13398	return nil, false
13399}
13400
13401// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13402func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13403	return nil, false
13404}
13405
13406// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13407func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13408	return nil, false
13409}
13410
13411// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13412func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13413	return nil, false
13414}
13415
13416// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13417func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13418	return nil, false
13419}
13420
13421// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13422func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13423	return nil, false
13424}
13425
13426// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13427func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13428	return &chree, true
13429}
13430
13431// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13432func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13433	return nil, false
13434}
13435
13436// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13437func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13438	return nil, false
13439}
13440
13441// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13442func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13443	return nil, false
13444}
13445
13446// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13447func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13448	return nil, false
13449}
13450
13451// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13452func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13453	return nil, false
13454}
13455
13456// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13457func (chree ClusterHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13458	return nil, false
13459}
13460
13461// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13462func (chree ClusterHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13463	return nil, false
13464}
13465
13466// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13467func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13468	return nil, false
13469}
13470
13471// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13472func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13473	return nil, false
13474}
13475
13476// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13477func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13478	return nil, false
13479}
13480
13481// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13482func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13483	return nil, false
13484}
13485
13486// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13487func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13488	return nil, false
13489}
13490
13491// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13492func (chree ClusterHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13493	return nil, false
13494}
13495
13496// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13497func (chree ClusterHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13498	return nil, false
13499}
13500
13501// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13502func (chree ClusterHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13503	return nil, false
13504}
13505
13506// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13507func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13508	return nil, false
13509}
13510
13511// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13512func (chree ClusterHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
13513	return nil, false
13514}
13515
13516// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
13517func (chree ClusterHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13518	return &chree, true
13519}
13520
13521// ClusterManifest information about the cluster manifest.
13522type ClusterManifest struct {
13523	autorest.Response `json:"-"`
13524	// Manifest - The contents of the cluster manifest file.
13525	Manifest *string `json:"Manifest,omitempty"`
13526}
13527
13528// ClusterUpgradeCompleteEvent cluster Upgrade Complete event.
13529type ClusterUpgradeCompleteEvent struct {
13530	// TargetClusterVersion - Target Cluster version.
13531	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
13532	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
13533	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
13534	// EventInstanceID - The identifier for the FabricEvent instance.
13535	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13536	// TimeStamp - The time event was logged.
13537	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13538	// HasCorrelatedEvents - Shows there is existing related events available.
13539	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13540	// 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'
13541	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13542}
13543
13544// MarshalJSON is the custom marshaler for ClusterUpgradeCompleteEvent.
13545func (cuce ClusterUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
13546	cuce.Kind = KindClusterUpgradeComplete
13547	objectMap := make(map[string]interface{})
13548	if cuce.TargetClusterVersion != nil {
13549		objectMap["TargetClusterVersion"] = cuce.TargetClusterVersion
13550	}
13551	if cuce.OverallUpgradeElapsedTimeInMs != nil {
13552		objectMap["OverallUpgradeElapsedTimeInMs"] = cuce.OverallUpgradeElapsedTimeInMs
13553	}
13554	if cuce.EventInstanceID != nil {
13555		objectMap["EventInstanceId"] = cuce.EventInstanceID
13556	}
13557	if cuce.TimeStamp != nil {
13558		objectMap["TimeStamp"] = cuce.TimeStamp
13559	}
13560	if cuce.HasCorrelatedEvents != nil {
13561		objectMap["HasCorrelatedEvents"] = cuce.HasCorrelatedEvents
13562	}
13563	if cuce.Kind != "" {
13564		objectMap["Kind"] = cuce.Kind
13565	}
13566	return json.Marshal(objectMap)
13567}
13568
13569// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13570func (cuce ClusterUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13571	return nil, false
13572}
13573
13574// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13575func (cuce ClusterUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13576	return nil, false
13577}
13578
13579// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13580func (cuce ClusterUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
13581	return nil, false
13582}
13583
13584// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13585func (cuce ClusterUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13586	return &cuce, true
13587}
13588
13589// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13590func (cuce ClusterUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13591	return nil, false
13592}
13593
13594// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13595func (cuce ClusterUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
13596	return nil, false
13597}
13598
13599// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13600func (cuce ClusterUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13601	return nil, false
13602}
13603
13604// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13605func (cuce ClusterUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13606	return nil, false
13607}
13608
13609// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13610func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13611	return nil, false
13612}
13613
13614// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13615func (cuce ClusterUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13616	return nil, false
13617}
13618
13619// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13620func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13621	return nil, false
13622}
13623
13624// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13625func (cuce ClusterUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13626	return nil, false
13627}
13628
13629// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13630func (cuce ClusterUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13631	return nil, false
13632}
13633
13634// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13635func (cuce ClusterUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
13636	return nil, false
13637}
13638
13639// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13640func (cuce ClusterUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13641	return nil, false
13642}
13643
13644// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13645func (cuce ClusterUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13646	return nil, false
13647}
13648
13649// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13650func (cuce ClusterUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13651	return nil, false
13652}
13653
13654// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13655func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13656	return nil, false
13657}
13658
13659// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13660func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13661	return nil, false
13662}
13663
13664// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13665func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13666	return nil, false
13667}
13668
13669// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13670func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13671	return nil, false
13672}
13673
13674// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13675func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13676	return nil, false
13677}
13678
13679// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13680func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13681	return nil, false
13682}
13683
13684// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13685func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13686	return nil, false
13687}
13688
13689// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13690func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13691	return nil, false
13692}
13693
13694// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13695func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13696	return nil, false
13697}
13698
13699// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13700func (cuce ClusterUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13701	return nil, false
13702}
13703
13704// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13705func (cuce ClusterUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13706	return nil, false
13707}
13708
13709// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13710func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13711	return nil, false
13712}
13713
13714// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13715func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13716	return nil, false
13717}
13718
13719// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13720func (cuce ClusterUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13721	return nil, false
13722}
13723
13724// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13725func (cuce ClusterUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13726	return nil, false
13727}
13728
13729// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13730func (cuce ClusterUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13731	return nil, false
13732}
13733
13734// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13735func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13736	return nil, false
13737}
13738
13739// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13740func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13741	return nil, false
13742}
13743
13744// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13745func (cuce ClusterUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13746	return nil, false
13747}
13748
13749// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13750func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13751	return nil, false
13752}
13753
13754// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13755func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13756	return nil, false
13757}
13758
13759// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13760func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13761	return nil, false
13762}
13763
13764// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13765func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13766	return nil, false
13767}
13768
13769// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13770func (cuce ClusterUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13771	return nil, false
13772}
13773
13774// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13775func (cuce ClusterUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13776	return nil, false
13777}
13778
13779// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13780func (cuce ClusterUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13781	return nil, false
13782}
13783
13784// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13785func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13786	return nil, false
13787}
13788
13789// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13790func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13791	return nil, false
13792}
13793
13794// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13795func (cuce ClusterUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13796	return nil, false
13797}
13798
13799// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13800func (cuce ClusterUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13801	return nil, false
13802}
13803
13804// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13805func (cuce ClusterUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13806	return nil, false
13807}
13808
13809// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13810func (cuce ClusterUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13811	return nil, false
13812}
13813
13814// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13815func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13816	return nil, false
13817}
13818
13819// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13820func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13821	return nil, false
13822}
13823
13824// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13825func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13826	return nil, false
13827}
13828
13829// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13830func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13831	return nil, false
13832}
13833
13834// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13835func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13836	return nil, false
13837}
13838
13839// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13840func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13841	return nil, false
13842}
13843
13844// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13845func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13846	return nil, false
13847}
13848
13849// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13850func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13851	return nil, false
13852}
13853
13854// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13855func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13856	return nil, false
13857}
13858
13859// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13860func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13861	return nil, false
13862}
13863
13864// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13865func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13866	return &cuce, true
13867}
13868
13869// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13870func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13871	return nil, false
13872}
13873
13874// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13875func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13876	return nil, false
13877}
13878
13879// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13880func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13881	return nil, false
13882}
13883
13884// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13885func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13886	return nil, false
13887}
13888
13889// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13890func (cuce ClusterUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13891	return nil, false
13892}
13893
13894// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13895func (cuce ClusterUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13896	return nil, false
13897}
13898
13899// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13900func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13901	return nil, false
13902}
13903
13904// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13905func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13906	return nil, false
13907}
13908
13909// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13910func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13911	return nil, false
13912}
13913
13914// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13915func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13916	return nil, false
13917}
13918
13919// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13920func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13921	return nil, false
13922}
13923
13924// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13925func (cuce ClusterUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13926	return nil, false
13927}
13928
13929// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13930func (cuce ClusterUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13931	return nil, false
13932}
13933
13934// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13935func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13936	return nil, false
13937}
13938
13939// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13940func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13941	return nil, false
13942}
13943
13944// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13945func (cuce ClusterUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
13946	return nil, false
13947}
13948
13949// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
13950func (cuce ClusterUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13951	return &cuce, true
13952}
13953
13954// ClusterUpgradeDescriptionObject represents a ServiceFabric cluster upgrade
13955type ClusterUpgradeDescriptionObject struct {
13956	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
13957	ConfigVersion *string `json:"ConfigVersion,omitempty"`
13958	// CodeVersion - The ServiceFabric code version of the cluster.
13959	CodeVersion *string `json:"CodeVersion,omitempty"`
13960	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
13961	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
13962	// 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'
13963	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
13964	// 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).
13965	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
13966	// 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).
13967	ForceRestart *bool `json:"ForceRestart,omitempty"`
13968	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
13969	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
13970	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
13971	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
13972	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
13973	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
13974	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
13975	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
13976	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
13977	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
13978	// 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).
13979	// The map is empty by default.
13980	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
13981}
13982
13983// ClusterUpgradeDomainCompleteEvent cluster Upgrade Domain Complete event.
13984type ClusterUpgradeDomainCompleteEvent struct {
13985	// TargetClusterVersion - Target Cluster version.
13986	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
13987	// UpgradeState - State of upgrade.
13988	UpgradeState *string `json:"UpgradeState,omitempty"`
13989	// UpgradeDomains - Upgrade domains.
13990	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
13991	// UpgradeDomainElapsedTimeInMs - Duration of domain upgrade in milli-seconds.
13992	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
13993	// EventInstanceID - The identifier for the FabricEvent instance.
13994	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13995	// TimeStamp - The time event was logged.
13996	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13997	// HasCorrelatedEvents - Shows there is existing related events available.
13998	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13999	// 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'
14000	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14001}
14002
14003// MarshalJSON is the custom marshaler for ClusterUpgradeDomainCompleteEvent.
14004func (cudce ClusterUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
14005	cudce.Kind = KindClusterUpgradeDomainComplete
14006	objectMap := make(map[string]interface{})
14007	if cudce.TargetClusterVersion != nil {
14008		objectMap["TargetClusterVersion"] = cudce.TargetClusterVersion
14009	}
14010	if cudce.UpgradeState != nil {
14011		objectMap["UpgradeState"] = cudce.UpgradeState
14012	}
14013	if cudce.UpgradeDomains != nil {
14014		objectMap["UpgradeDomains"] = cudce.UpgradeDomains
14015	}
14016	if cudce.UpgradeDomainElapsedTimeInMs != nil {
14017		objectMap["UpgradeDomainElapsedTimeInMs"] = cudce.UpgradeDomainElapsedTimeInMs
14018	}
14019	if cudce.EventInstanceID != nil {
14020		objectMap["EventInstanceId"] = cudce.EventInstanceID
14021	}
14022	if cudce.TimeStamp != nil {
14023		objectMap["TimeStamp"] = cudce.TimeStamp
14024	}
14025	if cudce.HasCorrelatedEvents != nil {
14026		objectMap["HasCorrelatedEvents"] = cudce.HasCorrelatedEvents
14027	}
14028	if cudce.Kind != "" {
14029		objectMap["Kind"] = cudce.Kind
14030	}
14031	return json.Marshal(objectMap)
14032}
14033
14034// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14035func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14036	return nil, false
14037}
14038
14039// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14040func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14041	return nil, false
14042}
14043
14044// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14045func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
14046	return nil, false
14047}
14048
14049// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14050func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14051	return &cudce, true
14052}
14053
14054// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14055func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14056	return nil, false
14057}
14058
14059// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14060func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
14061	return nil, false
14062}
14063
14064// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14065func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14066	return nil, false
14067}
14068
14069// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14070func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14071	return nil, false
14072}
14073
14074// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14075func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14076	return nil, false
14077}
14078
14079// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14080func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14081	return nil, false
14082}
14083
14084// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14085func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14086	return nil, false
14087}
14088
14089// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14090func (cudce ClusterUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14091	return nil, false
14092}
14093
14094// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14095func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14096	return nil, false
14097}
14098
14099// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14100func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
14101	return nil, false
14102}
14103
14104// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14105func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14106	return nil, false
14107}
14108
14109// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14110func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14111	return nil, false
14112}
14113
14114// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14115func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14116	return nil, false
14117}
14118
14119// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14120func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14121	return nil, false
14122}
14123
14124// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14125func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14126	return nil, false
14127}
14128
14129// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14130func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14131	return nil, false
14132}
14133
14134// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14135func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14136	return nil, false
14137}
14138
14139// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14140func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14141	return nil, false
14142}
14143
14144// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14145func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14146	return nil, false
14147}
14148
14149// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14150func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14151	return nil, false
14152}
14153
14154// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14155func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14156	return nil, false
14157}
14158
14159// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14160func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14161	return nil, false
14162}
14163
14164// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14165func (cudce ClusterUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14166	return nil, false
14167}
14168
14169// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14170func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14171	return nil, false
14172}
14173
14174// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14175func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14176	return nil, false
14177}
14178
14179// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14180func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14181	return nil, false
14182}
14183
14184// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14185func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14186	return nil, false
14187}
14188
14189// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14190func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14191	return nil, false
14192}
14193
14194// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14195func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14196	return nil, false
14197}
14198
14199// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14200func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14201	return nil, false
14202}
14203
14204// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14205func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14206	return nil, false
14207}
14208
14209// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14210func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14211	return nil, false
14212}
14213
14214// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14215func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14216	return nil, false
14217}
14218
14219// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14220func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14221	return nil, false
14222}
14223
14224// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14225func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14226	return nil, false
14227}
14228
14229// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14230func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14231	return nil, false
14232}
14233
14234// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14235func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14236	return nil, false
14237}
14238
14239// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14240func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14241	return nil, false
14242}
14243
14244// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14245func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14246	return nil, false
14247}
14248
14249// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14250func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14251	return nil, false
14252}
14253
14254// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14255func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14256	return nil, false
14257}
14258
14259// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14260func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14261	return nil, false
14262}
14263
14264// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14265func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14266	return nil, false
14267}
14268
14269// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14270func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14271	return nil, false
14272}
14273
14274// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14275func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14276	return nil, false
14277}
14278
14279// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14280func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14281	return nil, false
14282}
14283
14284// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14285func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14286	return nil, false
14287}
14288
14289// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14290func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14291	return nil, false
14292}
14293
14294// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14295func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14296	return nil, false
14297}
14298
14299// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14300func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14301	return nil, false
14302}
14303
14304// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14305func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14306	return nil, false
14307}
14308
14309// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14310func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14311	return nil, false
14312}
14313
14314// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14315func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14316	return nil, false
14317}
14318
14319// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14320func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14321	return nil, false
14322}
14323
14324// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14325func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14326	return nil, false
14327}
14328
14329// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14330func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14331	return nil, false
14332}
14333
14334// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14335func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14336	return &cudce, true
14337}
14338
14339// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14340func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14341	return nil, false
14342}
14343
14344// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14345func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14346	return nil, false
14347}
14348
14349// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14350func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14351	return nil, false
14352}
14353
14354// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14355func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14356	return nil, false
14357}
14358
14359// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14360func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14361	return nil, false
14362}
14363
14364// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14365func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14366	return nil, false
14367}
14368
14369// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14370func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14371	return nil, false
14372}
14373
14374// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14375func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14376	return nil, false
14377}
14378
14379// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14380func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14381	return nil, false
14382}
14383
14384// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14385func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14386	return nil, false
14387}
14388
14389// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14390func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14391	return nil, false
14392}
14393
14394// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14395func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14396	return nil, false
14397}
14398
14399// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14400func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14401	return nil, false
14402}
14403
14404// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14405func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14406	return nil, false
14407}
14408
14409// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14410func (cudce ClusterUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
14411	return nil, false
14412}
14413
14414// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
14415func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14416	return &cudce, true
14417}
14418
14419// ClusterUpgradeHealthPolicyObject defines a health policy used to evaluate the health of the cluster
14420// during a cluster upgrade.
14421type ClusterUpgradeHealthPolicyObject struct {
14422	// 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%.
14423	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
14424	// 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%.
14425	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
14426}
14427
14428// ClusterUpgradeProgressObject information about a cluster upgrade.
14429type ClusterUpgradeProgressObject struct {
14430	autorest.Response `json:"-"`
14431	// CodeVersion - The ServiceFabric code version of the cluster.
14432	CodeVersion *string `json:"CodeVersion,omitempty"`
14433	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
14434	ConfigVersion *string `json:"ConfigVersion,omitempty"`
14435	// UpgradeDomains - List of upgrade domains and their statuses.
14436	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
14437	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
14438	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
14439	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
14440	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
14441	// 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'
14442	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
14443	// UpgradeDescription - Represents a ServiceFabric cluster upgrade
14444	UpgradeDescription *ClusterUpgradeDescriptionObject `json:"UpgradeDescription,omitempty"`
14445	// UpgradeDurationInMilliseconds - The estimated elapsed time spent processing the current overall upgrade.
14446	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
14447	// UpgradeDomainDurationInMilliseconds - The estimated elapsed time spent processing the current upgrade domain.
14448	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
14449	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
14450	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
14451	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
14452	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
14453	// StartTimestampUtc - The start time of the upgrade in UTC.
14454	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
14455	// FailureTimestampUtc - The failure time of the upgrade in UTC.
14456	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
14457	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
14458	FailureReason FailureReason `json:"FailureReason,omitempty"`
14459	// UpgradeDomainProgressAtFailure - The detailed upgrade progress for nodes in the current upgrade domain at the point of failure.
14460	UpgradeDomainProgressAtFailure *FailedUpgradeDomainProgressObject `json:"UpgradeDomainProgressAtFailure,omitempty"`
14461}
14462
14463// ClusterUpgradeRollbackCompleteEvent cluster Upgrade Rollback Complete event.
14464type ClusterUpgradeRollbackCompleteEvent struct {
14465	// TargetClusterVersion - Target Cluster version.
14466	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
14467	// FailureReason - Describes failure.
14468	FailureReason *string `json:"FailureReason,omitempty"`
14469	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
14470	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
14471	// EventInstanceID - The identifier for the FabricEvent instance.
14472	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
14473	// TimeStamp - The time event was logged.
14474	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
14475	// HasCorrelatedEvents - Shows there is existing related events available.
14476	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
14477	// 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'
14478	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14479}
14480
14481// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackCompleteEvent.
14482func (curce ClusterUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
14483	curce.Kind = KindClusterUpgradeRollbackComplete
14484	objectMap := make(map[string]interface{})
14485	if curce.TargetClusterVersion != nil {
14486		objectMap["TargetClusterVersion"] = curce.TargetClusterVersion
14487	}
14488	if curce.FailureReason != nil {
14489		objectMap["FailureReason"] = curce.FailureReason
14490	}
14491	if curce.OverallUpgradeElapsedTimeInMs != nil {
14492		objectMap["OverallUpgradeElapsedTimeInMs"] = curce.OverallUpgradeElapsedTimeInMs
14493	}
14494	if curce.EventInstanceID != nil {
14495		objectMap["EventInstanceId"] = curce.EventInstanceID
14496	}
14497	if curce.TimeStamp != nil {
14498		objectMap["TimeStamp"] = curce.TimeStamp
14499	}
14500	if curce.HasCorrelatedEvents != nil {
14501		objectMap["HasCorrelatedEvents"] = curce.HasCorrelatedEvents
14502	}
14503	if curce.Kind != "" {
14504		objectMap["Kind"] = curce.Kind
14505	}
14506	return json.Marshal(objectMap)
14507}
14508
14509// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14510func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14511	return nil, false
14512}
14513
14514// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14515func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14516	return nil, false
14517}
14518
14519// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14520func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
14521	return nil, false
14522}
14523
14524// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14525func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14526	return &curce, true
14527}
14528
14529// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14530func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14531	return nil, false
14532}
14533
14534// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14535func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
14536	return nil, false
14537}
14538
14539// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14540func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14541	return nil, false
14542}
14543
14544// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14545func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14546	return nil, false
14547}
14548
14549// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14550func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14551	return nil, false
14552}
14553
14554// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14555func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14556	return nil, false
14557}
14558
14559// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14560func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14561	return nil, false
14562}
14563
14564// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14565func (curce ClusterUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14566	return nil, false
14567}
14568
14569// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14570func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14571	return nil, false
14572}
14573
14574// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14575func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
14576	return nil, false
14577}
14578
14579// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14580func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14581	return nil, false
14582}
14583
14584// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14585func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14586	return nil, false
14587}
14588
14589// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14590func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14591	return nil, false
14592}
14593
14594// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14595func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14596	return nil, false
14597}
14598
14599// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14600func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14601	return nil, false
14602}
14603
14604// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14605func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14606	return nil, false
14607}
14608
14609// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14610func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14611	return nil, false
14612}
14613
14614// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14615func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14616	return nil, false
14617}
14618
14619// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14620func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14621	return nil, false
14622}
14623
14624// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14625func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14626	return nil, false
14627}
14628
14629// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14630func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14631	return nil, false
14632}
14633
14634// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14635func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14636	return nil, false
14637}
14638
14639// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14640func (curce ClusterUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14641	return nil, false
14642}
14643
14644// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14645func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14646	return nil, false
14647}
14648
14649// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14650func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14651	return nil, false
14652}
14653
14654// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14655func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14656	return nil, false
14657}
14658
14659// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14660func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14661	return nil, false
14662}
14663
14664// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14665func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14666	return nil, false
14667}
14668
14669// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14670func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14671	return nil, false
14672}
14673
14674// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14675func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14676	return nil, false
14677}
14678
14679// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14680func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14681	return nil, false
14682}
14683
14684// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14685func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14686	return nil, false
14687}
14688
14689// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14690func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14691	return nil, false
14692}
14693
14694// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14695func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14696	return nil, false
14697}
14698
14699// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14700func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14701	return nil, false
14702}
14703
14704// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14705func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14706	return nil, false
14707}
14708
14709// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14710func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14711	return nil, false
14712}
14713
14714// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14715func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14716	return nil, false
14717}
14718
14719// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14720func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14721	return nil, false
14722}
14723
14724// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14725func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14726	return nil, false
14727}
14728
14729// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14730func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14731	return nil, false
14732}
14733
14734// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14735func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14736	return nil, false
14737}
14738
14739// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14740func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14741	return nil, false
14742}
14743
14744// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14745func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14746	return nil, false
14747}
14748
14749// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14750func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14751	return nil, false
14752}
14753
14754// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14755func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14756	return nil, false
14757}
14758
14759// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14760func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14761	return nil, false
14762}
14763
14764// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14765func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14766	return nil, false
14767}
14768
14769// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14770func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14771	return nil, false
14772}
14773
14774// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14775func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14776	return nil, false
14777}
14778
14779// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14780func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14781	return nil, false
14782}
14783
14784// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14785func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14786	return nil, false
14787}
14788
14789// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14790func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14791	return nil, false
14792}
14793
14794// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14795func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14796	return nil, false
14797}
14798
14799// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14800func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14801	return nil, false
14802}
14803
14804// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14805func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14806	return nil, false
14807}
14808
14809// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14810func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14811	return nil, false
14812}
14813
14814// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14815func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14816	return &curce, true
14817}
14818
14819// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14820func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14821	return nil, false
14822}
14823
14824// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14825func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14826	return nil, false
14827}
14828
14829// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14830func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14831	return nil, false
14832}
14833
14834// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14835func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14836	return nil, false
14837}
14838
14839// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14840func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14841	return nil, false
14842}
14843
14844// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14845func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14846	return nil, false
14847}
14848
14849// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14850func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14851	return nil, false
14852}
14853
14854// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14855func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14856	return nil, false
14857}
14858
14859// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14860func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14861	return nil, false
14862}
14863
14864// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14865func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14866	return nil, false
14867}
14868
14869// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14870func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14871	return nil, false
14872}
14873
14874// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14875func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14876	return nil, false
14877}
14878
14879// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14880func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14881	return nil, false
14882}
14883
14884// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14885func (curce ClusterUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
14886	return nil, false
14887}
14888
14889// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
14890func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14891	return &curce, true
14892}
14893
14894// ClusterUpgradeRollbackStartEvent cluster Upgrade Rollback Start event.
14895type ClusterUpgradeRollbackStartEvent struct {
14896	// TargetClusterVersion - Target Cluster version.
14897	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
14898	// FailureReason - Describes failure.
14899	FailureReason *string `json:"FailureReason,omitempty"`
14900	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
14901	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
14902	// EventInstanceID - The identifier for the FabricEvent instance.
14903	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
14904	// TimeStamp - The time event was logged.
14905	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
14906	// HasCorrelatedEvents - Shows there is existing related events available.
14907	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
14908	// 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'
14909	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14910}
14911
14912// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackStartEvent.
14913func (curse ClusterUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
14914	curse.Kind = KindClusterUpgradeRollbackStart
14915	objectMap := make(map[string]interface{})
14916	if curse.TargetClusterVersion != nil {
14917		objectMap["TargetClusterVersion"] = curse.TargetClusterVersion
14918	}
14919	if curse.FailureReason != nil {
14920		objectMap["FailureReason"] = curse.FailureReason
14921	}
14922	if curse.OverallUpgradeElapsedTimeInMs != nil {
14923		objectMap["OverallUpgradeElapsedTimeInMs"] = curse.OverallUpgradeElapsedTimeInMs
14924	}
14925	if curse.EventInstanceID != nil {
14926		objectMap["EventInstanceId"] = curse.EventInstanceID
14927	}
14928	if curse.TimeStamp != nil {
14929		objectMap["TimeStamp"] = curse.TimeStamp
14930	}
14931	if curse.HasCorrelatedEvents != nil {
14932		objectMap["HasCorrelatedEvents"] = curse.HasCorrelatedEvents
14933	}
14934	if curse.Kind != "" {
14935		objectMap["Kind"] = curse.Kind
14936	}
14937	return json.Marshal(objectMap)
14938}
14939
14940// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14941func (curse ClusterUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14942	return nil, false
14943}
14944
14945// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14946func (curse ClusterUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14947	return nil, false
14948}
14949
14950// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14951func (curse ClusterUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
14952	return nil, false
14953}
14954
14955// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14956func (curse ClusterUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14957	return &curse, true
14958}
14959
14960// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14961func (curse ClusterUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14962	return nil, false
14963}
14964
14965// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14966func (curse ClusterUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
14967	return nil, false
14968}
14969
14970// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14971func (curse ClusterUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14972	return nil, false
14973}
14974
14975// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14976func (curse ClusterUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14977	return nil, false
14978}
14979
14980// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14981func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14982	return nil, false
14983}
14984
14985// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14986func (curse ClusterUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14987	return nil, false
14988}
14989
14990// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14991func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14992	return nil, false
14993}
14994
14995// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
14996func (curse ClusterUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14997	return nil, false
14998}
14999
15000// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15001func (curse ClusterUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
15002	return nil, false
15003}
15004
15005// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15006func (curse ClusterUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
15007	return nil, false
15008}
15009
15010// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15011func (curse ClusterUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
15012	return nil, false
15013}
15014
15015// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15016func (curse ClusterUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
15017	return nil, false
15018}
15019
15020// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15021func (curse ClusterUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
15022	return nil, false
15023}
15024
15025// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15026func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
15027	return nil, false
15028}
15029
15030// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15031func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
15032	return nil, false
15033}
15034
15035// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15036func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
15037	return nil, false
15038}
15039
15040// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15041func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
15042	return nil, false
15043}
15044
15045// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15046func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
15047	return nil, false
15048}
15049
15050// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15051func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
15052	return nil, false
15053}
15054
15055// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15056func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
15057	return nil, false
15058}
15059
15060// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15061func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
15062	return nil, false
15063}
15064
15065// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15066func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
15067	return nil, false
15068}
15069
15070// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15071func (curse ClusterUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
15072	return nil, false
15073}
15074
15075// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15076func (curse ClusterUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
15077	return nil, false
15078}
15079
15080// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15081func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
15082	return nil, false
15083}
15084
15085// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15086func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
15087	return nil, false
15088}
15089
15090// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15091func (curse ClusterUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
15092	return nil, false
15093}
15094
15095// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15096func (curse ClusterUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
15097	return nil, false
15098}
15099
15100// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15101func (curse ClusterUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
15102	return nil, false
15103}
15104
15105// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15106func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
15107	return nil, false
15108}
15109
15110// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15111func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
15112	return nil, false
15113}
15114
15115// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15116func (curse ClusterUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
15117	return nil, false
15118}
15119
15120// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15121func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
15122	return nil, false
15123}
15124
15125// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15126func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
15127	return nil, false
15128}
15129
15130// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15131func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
15132	return nil, false
15133}
15134
15135// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15136func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
15137	return nil, false
15138}
15139
15140// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15141func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
15142	return nil, false
15143}
15144
15145// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15146func (curse ClusterUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
15147	return nil, false
15148}
15149
15150// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15151func (curse ClusterUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
15152	return nil, false
15153}
15154
15155// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15156func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
15157	return nil, false
15158}
15159
15160// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15161func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
15162	return nil, false
15163}
15164
15165// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15166func (curse ClusterUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
15167	return nil, false
15168}
15169
15170// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15171func (curse ClusterUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
15172	return nil, false
15173}
15174
15175// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15176func (curse ClusterUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
15177	return nil, false
15178}
15179
15180// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15181func (curse ClusterUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
15182	return nil, false
15183}
15184
15185// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15186func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
15187	return nil, false
15188}
15189
15190// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15191func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
15192	return nil, false
15193}
15194
15195// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15196func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
15197	return nil, false
15198}
15199
15200// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15201func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
15202	return nil, false
15203}
15204
15205// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15206func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
15207	return nil, false
15208}
15209
15210// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15211func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
15212	return nil, false
15213}
15214
15215// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15216func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
15217	return nil, false
15218}
15219
15220// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15221func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
15222	return nil, false
15223}
15224
15225// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15226func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
15227	return nil, false
15228}
15229
15230// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15231func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
15232	return nil, false
15233}
15234
15235// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15236func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
15237	return nil, false
15238}
15239
15240// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15241func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
15242	return nil, false
15243}
15244
15245// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15246func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
15247	return nil, false
15248}
15249
15250// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15251func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
15252	return &curse, true
15253}
15254
15255// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15256func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
15257	return nil, false
15258}
15259
15260// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15261func (curse ClusterUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
15262	return nil, false
15263}
15264
15265// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15266func (curse ClusterUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
15267	return nil, false
15268}
15269
15270// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15271func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
15272	return nil, false
15273}
15274
15275// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15276func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
15277	return nil, false
15278}
15279
15280// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15281func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
15282	return nil, false
15283}
15284
15285// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15286func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
15287	return nil, false
15288}
15289
15290// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15291func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
15292	return nil, false
15293}
15294
15295// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15296func (curse ClusterUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
15297	return nil, false
15298}
15299
15300// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15301func (curse ClusterUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
15302	return nil, false
15303}
15304
15305// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15306func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
15307	return nil, false
15308}
15309
15310// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15311func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
15312	return nil, false
15313}
15314
15315// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15316func (curse ClusterUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
15317	return nil, false
15318}
15319
15320// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
15321func (curse ClusterUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
15322	return &curse, true
15323}
15324
15325// ClusterUpgradeStartEvent cluster Upgrade Start event.
15326type ClusterUpgradeStartEvent struct {
15327	// CurrentClusterVersion - Current Cluster version.
15328	CurrentClusterVersion *string `json:"CurrentClusterVersion,omitempty"`
15329	// TargetClusterVersion - Target Cluster version.
15330	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
15331	// UpgradeType - Type of upgrade.
15332	UpgradeType *string `json:"UpgradeType,omitempty"`
15333	// RollingUpgradeMode - Mode of upgrade.
15334	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
15335	// FailureAction - Action if failed.
15336	FailureAction *string `json:"FailureAction,omitempty"`
15337	// EventInstanceID - The identifier for the FabricEvent instance.
15338	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15339	// TimeStamp - The time event was logged.
15340	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15341	// HasCorrelatedEvents - Shows there is existing related events available.
15342	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15343	// 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'
15344	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15345}
15346
15347// MarshalJSON is the custom marshaler for ClusterUpgradeStartEvent.
15348func (cuse ClusterUpgradeStartEvent) MarshalJSON() ([]byte, error) {
15349	cuse.Kind = KindClusterUpgradeStart
15350	objectMap := make(map[string]interface{})
15351	if cuse.CurrentClusterVersion != nil {
15352		objectMap["CurrentClusterVersion"] = cuse.CurrentClusterVersion
15353	}
15354	if cuse.TargetClusterVersion != nil {
15355		objectMap["TargetClusterVersion"] = cuse.TargetClusterVersion
15356	}
15357	if cuse.UpgradeType != nil {
15358		objectMap["UpgradeType"] = cuse.UpgradeType
15359	}
15360	if cuse.RollingUpgradeMode != nil {
15361		objectMap["RollingUpgradeMode"] = cuse.RollingUpgradeMode
15362	}
15363	if cuse.FailureAction != nil {
15364		objectMap["FailureAction"] = cuse.FailureAction
15365	}
15366	if cuse.EventInstanceID != nil {
15367		objectMap["EventInstanceId"] = cuse.EventInstanceID
15368	}
15369	if cuse.TimeStamp != nil {
15370		objectMap["TimeStamp"] = cuse.TimeStamp
15371	}
15372	if cuse.HasCorrelatedEvents != nil {
15373		objectMap["HasCorrelatedEvents"] = cuse.HasCorrelatedEvents
15374	}
15375	if cuse.Kind != "" {
15376		objectMap["Kind"] = cuse.Kind
15377	}
15378	return json.Marshal(objectMap)
15379}
15380
15381// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15382func (cuse ClusterUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
15383	return nil, false
15384}
15385
15386// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15387func (cuse ClusterUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
15388	return nil, false
15389}
15390
15391// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15392func (cuse ClusterUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
15393	return nil, false
15394}
15395
15396// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15397func (cuse ClusterUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
15398	return &cuse, true
15399}
15400
15401// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15402func (cuse ClusterUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
15403	return nil, false
15404}
15405
15406// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15407func (cuse ClusterUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
15408	return nil, false
15409}
15410
15411// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15412func (cuse ClusterUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
15413	return nil, false
15414}
15415
15416// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15417func (cuse ClusterUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
15418	return nil, false
15419}
15420
15421// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15422func (cuse ClusterUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
15423	return nil, false
15424}
15425
15426// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15427func (cuse ClusterUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
15428	return nil, false
15429}
15430
15431// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15432func (cuse ClusterUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
15433	return nil, false
15434}
15435
15436// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15437func (cuse ClusterUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
15438	return nil, false
15439}
15440
15441// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15442func (cuse ClusterUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
15443	return nil, false
15444}
15445
15446// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15447func (cuse ClusterUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
15448	return nil, false
15449}
15450
15451// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15452func (cuse ClusterUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
15453	return nil, false
15454}
15455
15456// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15457func (cuse ClusterUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
15458	return nil, false
15459}
15460
15461// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15462func (cuse ClusterUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
15463	return nil, false
15464}
15465
15466// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15467func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
15468	return nil, false
15469}
15470
15471// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15472func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
15473	return nil, false
15474}
15475
15476// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15477func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
15478	return nil, false
15479}
15480
15481// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15482func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
15483	return nil, false
15484}
15485
15486// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15487func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
15488	return nil, false
15489}
15490
15491// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15492func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
15493	return nil, false
15494}
15495
15496// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15497func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
15498	return nil, false
15499}
15500
15501// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15502func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
15503	return nil, false
15504}
15505
15506// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15507func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
15508	return nil, false
15509}
15510
15511// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15512func (cuse ClusterUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
15513	return nil, false
15514}
15515
15516// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15517func (cuse ClusterUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
15518	return nil, false
15519}
15520
15521// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15522func (cuse ClusterUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
15523	return nil, false
15524}
15525
15526// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15527func (cuse ClusterUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
15528	return nil, false
15529}
15530
15531// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15532func (cuse ClusterUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
15533	return nil, false
15534}
15535
15536// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15537func (cuse ClusterUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
15538	return nil, false
15539}
15540
15541// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15542func (cuse ClusterUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
15543	return nil, false
15544}
15545
15546// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15547func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
15548	return nil, false
15549}
15550
15551// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15552func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
15553	return nil, false
15554}
15555
15556// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15557func (cuse ClusterUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
15558	return nil, false
15559}
15560
15561// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15562func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
15563	return nil, false
15564}
15565
15566// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15567func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
15568	return nil, false
15569}
15570
15571// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15572func (cuse ClusterUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
15573	return nil, false
15574}
15575
15576// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15577func (cuse ClusterUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
15578	return nil, false
15579}
15580
15581// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15582func (cuse ClusterUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
15583	return nil, false
15584}
15585
15586// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15587func (cuse ClusterUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
15588	return nil, false
15589}
15590
15591// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15592func (cuse ClusterUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
15593	return nil, false
15594}
15595
15596// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15597func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
15598	return nil, false
15599}
15600
15601// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15602func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
15603	return nil, false
15604}
15605
15606// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15607func (cuse ClusterUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
15608	return nil, false
15609}
15610
15611// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15612func (cuse ClusterUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
15613	return nil, false
15614}
15615
15616// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15617func (cuse ClusterUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
15618	return nil, false
15619}
15620
15621// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15622func (cuse ClusterUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
15623	return nil, false
15624}
15625
15626// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15627func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
15628	return nil, false
15629}
15630
15631// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15632func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
15633	return nil, false
15634}
15635
15636// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15637func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
15638	return nil, false
15639}
15640
15641// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15642func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
15643	return nil, false
15644}
15645
15646// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15647func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
15648	return nil, false
15649}
15650
15651// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15652func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
15653	return nil, false
15654}
15655
15656// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15657func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
15658	return nil, false
15659}
15660
15661// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15662func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
15663	return nil, false
15664}
15665
15666// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15667func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
15668	return nil, false
15669}
15670
15671// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15672func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
15673	return nil, false
15674}
15675
15676// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15677func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
15678	return nil, false
15679}
15680
15681// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15682func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
15683	return nil, false
15684}
15685
15686// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15687func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
15688	return nil, false
15689}
15690
15691// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15692func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
15693	return nil, false
15694}
15695
15696// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15697func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
15698	return &cuse, true
15699}
15700
15701// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15702func (cuse ClusterUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
15703	return nil, false
15704}
15705
15706// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15707func (cuse ClusterUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
15708	return nil, false
15709}
15710
15711// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15712func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
15713	return nil, false
15714}
15715
15716// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15717func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
15718	return nil, false
15719}
15720
15721// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15722func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
15723	return nil, false
15724}
15725
15726// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15727func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
15728	return nil, false
15729}
15730
15731// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15732func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
15733	return nil, false
15734}
15735
15736// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15737func (cuse ClusterUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
15738	return nil, false
15739}
15740
15741// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15742func (cuse ClusterUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
15743	return nil, false
15744}
15745
15746// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15747func (cuse ClusterUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
15748	return nil, false
15749}
15750
15751// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15752func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
15753	return nil, false
15754}
15755
15756// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15757func (cuse ClusterUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
15758	return nil, false
15759}
15760
15761// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
15762func (cuse ClusterUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
15763	return &cuse, true
15764}
15765
15766// CodePackageEntryPoint information about setup or main entry point of a code package deployed on a
15767// Service Fabric node.
15768type CodePackageEntryPoint struct {
15769	// EntryPointLocation - The location of entry point executable on the node.
15770	EntryPointLocation *string `json:"EntryPointLocation,omitempty"`
15771	// ProcessID - The process ID of the entry point.
15772	ProcessID *string `json:"ProcessId,omitempty"`
15773	// RunAsUserName - The user name under which entry point executable is run on the node.
15774	RunAsUserName *string `json:"RunAsUserName,omitempty"`
15775	// CodePackageEntryPointStatistics - Statistics about setup or main entry point  of a code package deployed on a Service Fabric node.
15776	CodePackageEntryPointStatistics *CodePackageEntryPointStatistics `json:"CodePackageEntryPointStatistics,omitempty"`
15777	// 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'
15778	Status EntryPointStatus `json:"Status,omitempty"`
15779	// NextActivationTime - The time (in UTC) when the entry point executable will be run next.
15780	NextActivationTime *date.Time `json:"NextActivationTime,omitempty"`
15781	// 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.
15782	InstanceID *string `json:"InstanceId,omitempty"`
15783}
15784
15785// CodePackageEntryPointStatistics statistics about setup or main entry point  of a code package deployed
15786// on a Service Fabric node.
15787type CodePackageEntryPointStatistics struct {
15788	// LastExitCode - The last exit code of the entry point.
15789	LastExitCode *string `json:"LastExitCode,omitempty"`
15790	// LastActivationTime - The last time (in UTC) when Service Fabric attempted to run the entry point.
15791	LastActivationTime *date.Time `json:"LastActivationTime,omitempty"`
15792	// LastExitTime - The last time (in UTC) when the entry point finished running.
15793	LastExitTime *date.Time `json:"LastExitTime,omitempty"`
15794	// LastSuccessfulActivationTime - The last time (in UTC) when the entry point ran successfully.
15795	LastSuccessfulActivationTime *date.Time `json:"LastSuccessfulActivationTime,omitempty"`
15796	// LastSuccessfulExitTime - The last time (in UTC) when the entry point finished running gracefully.
15797	LastSuccessfulExitTime *date.Time `json:"LastSuccessfulExitTime,omitempty"`
15798	// ActivationCount - Number of times the entry point has run.
15799	ActivationCount *string `json:"ActivationCount,omitempty"`
15800	// ActivationFailureCount - Number of times the entry point failed to run.
15801	ActivationFailureCount *string `json:"ActivationFailureCount,omitempty"`
15802	// ContinuousActivationFailureCount - Number of times the entry point continuously failed to run.
15803	ContinuousActivationFailureCount *string `json:"ContinuousActivationFailureCount,omitempty"`
15804	// ExitCount - Number of times the entry point finished running.
15805	ExitCount *string `json:"ExitCount,omitempty"`
15806	// ExitFailureCount - Number of times the entry point failed to exit gracefully.
15807	ExitFailureCount *string `json:"ExitFailureCount,omitempty"`
15808	// ContinuousExitFailureCount - Number of times the entry point continuously failed to exit gracefully.
15809	ContinuousExitFailureCount *string `json:"ContinuousExitFailureCount,omitempty"`
15810}
15811
15812// ComposeDeploymentStatusInfo information about a Service Fabric compose deployment.
15813type ComposeDeploymentStatusInfo struct {
15814	autorest.Response `json:"-"`
15815	// Name - The name of the deployment.
15816	Name *string `json:"Name,omitempty"`
15817	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
15818	ApplicationName *string `json:"ApplicationName,omitempty"`
15819	// Status - The status of the compose deployment. Possible values include: 'ComposeDeploymentStatusInvalid', 'ComposeDeploymentStatusProvisioning', 'ComposeDeploymentStatusCreating', 'ComposeDeploymentStatusReady', 'ComposeDeploymentStatusUnprovisioning', 'ComposeDeploymentStatusDeleting', 'ComposeDeploymentStatusFailed', 'ComposeDeploymentStatusUpgrading'
15820	Status ComposeDeploymentStatus `json:"Status,omitempty"`
15821	// StatusDetails - The status details of compose deployment including failure message.
15822	StatusDetails *string `json:"StatusDetails,omitempty"`
15823}
15824
15825// ComposeDeploymentUpgradeDescription describes the parameters for a compose deployment upgrade.
15826type ComposeDeploymentUpgradeDescription struct {
15827	// DeploymentName - The name of the deployment.
15828	DeploymentName *string `json:"DeploymentName,omitempty"`
15829	// ComposeFileContent - The content of the compose file that describes the deployment to create.
15830	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
15831	// RegistryCredential - Credential information to connect to container registry.
15832	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
15833	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
15834	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
15835	// 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'
15836	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
15837	// 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).
15838	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
15839	// 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).
15840	ForceRestart *bool `json:"ForceRestart,omitempty"`
15841	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
15842	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
15843	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
15844	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
15845}
15846
15847// ComposeDeploymentUpgradeProgressInfo describes the parameters for a compose deployment upgrade.
15848type ComposeDeploymentUpgradeProgressInfo struct {
15849	autorest.Response `json:"-"`
15850	// DeploymentName - The name of the target deployment.
15851	DeploymentName *string `json:"DeploymentName,omitempty"`
15852	// ApplicationName - The name of the target application, including the 'fabric:' URI scheme.
15853	ApplicationName *string `json:"ApplicationName,omitempty"`
15854	// UpgradeState - The state of the compose deployment upgrade. Possible values include: 'ComposeDeploymentUpgradeStateInvalid', 'ComposeDeploymentUpgradeStateProvisioningTarget', 'ComposeDeploymentUpgradeStateRollingForwardInProgress', 'ComposeDeploymentUpgradeStateRollingForwardPending', 'ComposeDeploymentUpgradeStateUnprovisioningCurrent', 'ComposeDeploymentUpgradeStateRollingForwardCompleted', 'ComposeDeploymentUpgradeStateRollingBackInProgress', 'ComposeDeploymentUpgradeStateUnprovisioningTarget', 'ComposeDeploymentUpgradeStateRollingBackCompleted', 'ComposeDeploymentUpgradeStateFailed'
15855	UpgradeState ComposeDeploymentUpgradeState `json:"UpgradeState,omitempty"`
15856	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
15857	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
15858	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
15859	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
15860	// 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'
15861	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
15862	// 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).
15863	ForceRestart *bool `json:"ForceRestart,omitempty"`
15864	// 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).
15865	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
15866	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
15867	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
15868	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
15869	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
15870	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
15871	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
15872	// 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.
15873	UpgradeDuration *string `json:"UpgradeDuration,omitempty"`
15874	// 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.
15875	CurrentUpgradeDomainDuration *string `json:"CurrentUpgradeDomainDuration,omitempty"`
15876	// ApplicationUnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
15877	ApplicationUnhealthyEvaluations *[]HealthEvaluationWrapper `json:"ApplicationUnhealthyEvaluations,omitempty"`
15878	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
15879	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
15880	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
15881	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
15882	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
15883	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
15884	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
15885	FailureReason FailureReason `json:"FailureReason,omitempty"`
15886	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
15887	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
15888	// ApplicationUpgradeStatusDetails - Additional details of application upgrade including failure message.
15889	ApplicationUpgradeStatusDetails *string `json:"ApplicationUpgradeStatusDetails,omitempty"`
15890}
15891
15892// ContainerAPIRequestBody parameters for making container API call.
15893type ContainerAPIRequestBody struct {
15894	// HTTPVerb - HTTP verb of container REST API, defaults to "GET"
15895	HTTPVerb *string `json:"HttpVerb,omitempty"`
15896	// URIPath - URI path of container REST API
15897	URIPath *string `json:"UriPath,omitempty"`
15898	// ContentType - Content type of container REST API request, defaults to "application/json"
15899	ContentType *string `json:"Content-Type,omitempty"`
15900	// Body - HTTP request body of container REST API
15901	Body *string `json:"Body,omitempty"`
15902}
15903
15904// ContainerAPIResponse response body that wraps container API result.
15905type ContainerAPIResponse struct {
15906	autorest.Response `json:"-"`
15907	// ContainerAPIResult - Container API result.
15908	ContainerAPIResult *ContainerAPIResult `json:"ContainerApiResult,omitempty"`
15909}
15910
15911// ContainerAPIResult container API result.
15912type ContainerAPIResult struct {
15913	// Status - HTTP status code returned by the target container API
15914	Status *int32 `json:"Status,omitempty"`
15915	// ContentType - HTTP content type
15916	ContentType *string `json:"Content-Type,omitempty"`
15917	// ContentEncoding - HTTP content encoding
15918	ContentEncoding *string `json:"Content-Encoding,omitempty"`
15919	// Body - container API result body
15920	Body *string `json:"Body,omitempty"`
15921}
15922
15923// ContainerDeactivatedEvent container Deactivated event.
15924type ContainerDeactivatedEvent struct {
15925	// ServiceName - Name of Service.
15926	ServiceName *string `json:"ServiceName,omitempty"`
15927	// ServicePackageName - Name of Service package.
15928	ServicePackageName *string `json:"ServicePackageName,omitempty"`
15929	// ServicePackageActivationID - Activation Id of Service package.
15930	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
15931	// IsExclusive - Indicates IsExclusive flag.
15932	IsExclusive *bool `json:"IsExclusive,omitempty"`
15933	// CodePackageName - Name of Code package.
15934	CodePackageName *string `json:"CodePackageName,omitempty"`
15935	// EntryPointType - Type of EntryPoint.
15936	EntryPointType *string `json:"EntryPointType,omitempty"`
15937	// ImageName - Name of Container image.
15938	ImageName *string `json:"ImageName,omitempty"`
15939	// ContainerName - Name of Container.
15940	ContainerName *string `json:"ContainerName,omitempty"`
15941	// HostID - Host Id.
15942	HostID *string `json:"HostId,omitempty"`
15943	// ExitCode - Exit code of process.
15944	ExitCode *int64 `json:"ExitCode,omitempty"`
15945	// UnexpectedTermination - Indicates if termination is unexpected.
15946	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
15947	// StartTime - Start time of process.
15948	StartTime *date.Time `json:"StartTime,omitempty"`
15949	// 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.
15950	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
15951	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
15952	ApplicationID *string `json:"ApplicationId,omitempty"`
15953	// EventInstanceID - The identifier for the FabricEvent instance.
15954	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15955	// TimeStamp - The time event was logged.
15956	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15957	// HasCorrelatedEvents - Shows there is existing related events available.
15958	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15959	// 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'
15960	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15961}
15962
15963// MarshalJSON is the custom marshaler for ContainerDeactivatedEvent.
15964func (cde ContainerDeactivatedEvent) MarshalJSON() ([]byte, error) {
15965	cde.Kind = KindContainerDeactivated
15966	objectMap := make(map[string]interface{})
15967	if cde.ServiceName != nil {
15968		objectMap["ServiceName"] = cde.ServiceName
15969	}
15970	if cde.ServicePackageName != nil {
15971		objectMap["ServicePackageName"] = cde.ServicePackageName
15972	}
15973	if cde.ServicePackageActivationID != nil {
15974		objectMap["ServicePackageActivationId"] = cde.ServicePackageActivationID
15975	}
15976	if cde.IsExclusive != nil {
15977		objectMap["IsExclusive"] = cde.IsExclusive
15978	}
15979	if cde.CodePackageName != nil {
15980		objectMap["CodePackageName"] = cde.CodePackageName
15981	}
15982	if cde.EntryPointType != nil {
15983		objectMap["EntryPointType"] = cde.EntryPointType
15984	}
15985	if cde.ImageName != nil {
15986		objectMap["ImageName"] = cde.ImageName
15987	}
15988	if cde.ContainerName != nil {
15989		objectMap["ContainerName"] = cde.ContainerName
15990	}
15991	if cde.HostID != nil {
15992		objectMap["HostId"] = cde.HostID
15993	}
15994	if cde.ExitCode != nil {
15995		objectMap["ExitCode"] = cde.ExitCode
15996	}
15997	if cde.UnexpectedTermination != nil {
15998		objectMap["UnexpectedTermination"] = cde.UnexpectedTermination
15999	}
16000	if cde.StartTime != nil {
16001		objectMap["StartTime"] = cde.StartTime
16002	}
16003	if cde.ApplicationID != nil {
16004		objectMap["ApplicationId"] = cde.ApplicationID
16005	}
16006	if cde.EventInstanceID != nil {
16007		objectMap["EventInstanceId"] = cde.EventInstanceID
16008	}
16009	if cde.TimeStamp != nil {
16010		objectMap["TimeStamp"] = cde.TimeStamp
16011	}
16012	if cde.HasCorrelatedEvents != nil {
16013		objectMap["HasCorrelatedEvents"] = cde.HasCorrelatedEvents
16014	}
16015	if cde.Kind != "" {
16016		objectMap["Kind"] = cde.Kind
16017	}
16018	return json.Marshal(objectMap)
16019}
16020
16021// AsApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16022func (cde ContainerDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16023	return nil, false
16024}
16025
16026// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16027func (cde ContainerDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16028	return &cde, true
16029}
16030
16031// AsClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16032func (cde ContainerDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
16033	return nil, false
16034}
16035
16036// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16037func (cde ContainerDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16038	return nil, false
16039}
16040
16041// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16042func (cde ContainerDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16043	return nil, false
16044}
16045
16046// AsNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16047func (cde ContainerDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
16048	return nil, false
16049}
16050
16051// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16052func (cde ContainerDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16053	return nil, false
16054}
16055
16056// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16057func (cde ContainerDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16058	return nil, false
16059}
16060
16061// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16062func (cde ContainerDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16063	return nil, false
16064}
16065
16066// AsPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16067func (cde ContainerDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16068	return nil, false
16069}
16070
16071// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16072func (cde ContainerDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16073	return nil, false
16074}
16075
16076// AsReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16077func (cde ContainerDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16078	return nil, false
16079}
16080
16081// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16082func (cde ContainerDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16083	return nil, false
16084}
16085
16086// AsServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16087func (cde ContainerDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
16088	return nil, false
16089}
16090
16091// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16092func (cde ContainerDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16093	return nil, false
16094}
16095
16096// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16097func (cde ContainerDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16098	return nil, false
16099}
16100
16101// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16102func (cde ContainerDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16103	return nil, false
16104}
16105
16106// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16107func (cde ContainerDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16108	return nil, false
16109}
16110
16111// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16112func (cde ContainerDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16113	return nil, false
16114}
16115
16116// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16117func (cde ContainerDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16118	return nil, false
16119}
16120
16121// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16122func (cde ContainerDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16123	return nil, false
16124}
16125
16126// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16127func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16128	return nil, false
16129}
16130
16131// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16132func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16133	return nil, false
16134}
16135
16136// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16137func (cde ContainerDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16138	return nil, false
16139}
16140
16141// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16142func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16143	return nil, false
16144}
16145
16146// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16147func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16148	return nil, false
16149}
16150
16151// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16152func (cde ContainerDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16153	return nil, false
16154}
16155
16156// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16157func (cde ContainerDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16158	return &cde, true
16159}
16160
16161// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16162func (cde ContainerDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16163	return nil, false
16164}
16165
16166// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16167func (cde ContainerDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16168	return nil, false
16169}
16170
16171// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16172func (cde ContainerDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16173	return nil, false
16174}
16175
16176// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16177func (cde ContainerDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16178	return nil, false
16179}
16180
16181// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16182func (cde ContainerDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16183	return nil, false
16184}
16185
16186// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16187func (cde ContainerDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16188	return nil, false
16189}
16190
16191// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16192func (cde ContainerDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16193	return nil, false
16194}
16195
16196// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16197func (cde ContainerDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16198	return nil, false
16199}
16200
16201// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16202func (cde ContainerDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16203	return nil, false
16204}
16205
16206// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16207func (cde ContainerDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16208	return nil, false
16209}
16210
16211// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16212func (cde ContainerDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16213	return nil, false
16214}
16215
16216// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16217func (cde ContainerDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16218	return nil, false
16219}
16220
16221// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16222func (cde ContainerDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16223	return nil, false
16224}
16225
16226// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16227func (cde ContainerDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16228	return nil, false
16229}
16230
16231// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16232func (cde ContainerDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16233	return nil, false
16234}
16235
16236// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16237func (cde ContainerDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16238	return nil, false
16239}
16240
16241// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16242func (cde ContainerDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16243	return nil, false
16244}
16245
16246// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16247func (cde ContainerDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16248	return nil, false
16249}
16250
16251// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16252func (cde ContainerDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16253	return nil, false
16254}
16255
16256// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16257func (cde ContainerDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16258	return nil, false
16259}
16260
16261// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16262func (cde ContainerDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16263	return nil, false
16264}
16265
16266// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16267func (cde ContainerDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16268	return nil, false
16269}
16270
16271// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16272func (cde ContainerDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16273	return nil, false
16274}
16275
16276// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16277func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16278	return nil, false
16279}
16280
16281// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16282func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16283	return nil, false
16284}
16285
16286// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16287func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16288	return nil, false
16289}
16290
16291// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16292func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16293	return nil, false
16294}
16295
16296// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16297func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16298	return nil, false
16299}
16300
16301// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16302func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16303	return nil, false
16304}
16305
16306// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16307func (cde ContainerDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16308	return nil, false
16309}
16310
16311// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16312func (cde ContainerDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16313	return nil, false
16314}
16315
16316// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16317func (cde ContainerDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16318	return nil, false
16319}
16320
16321// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16322func (cde ContainerDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16323	return nil, false
16324}
16325
16326// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16327func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16328	return nil, false
16329}
16330
16331// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16332func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16333	return nil, false
16334}
16335
16336// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16337func (cde ContainerDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16338	return nil, false
16339}
16340
16341// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16342func (cde ContainerDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16343	return nil, false
16344}
16345
16346// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16347func (cde ContainerDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16348	return nil, false
16349}
16350
16351// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16352func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16353	return nil, false
16354}
16355
16356// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16357func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16358	return nil, false
16359}
16360
16361// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16362func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16363	return nil, false
16364}
16365
16366// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16367func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16368	return nil, false
16369}
16370
16371// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16372func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16373	return nil, false
16374}
16375
16376// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16377func (cde ContainerDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16378	return nil, false
16379}
16380
16381// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16382func (cde ContainerDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16383	return nil, false
16384}
16385
16386// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16387func (cde ContainerDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16388	return nil, false
16389}
16390
16391// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16392func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16393	return nil, false
16394}
16395
16396// AsFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16397func (cde ContainerDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
16398	return nil, false
16399}
16400
16401// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
16402func (cde ContainerDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
16403	return &cde, true
16404}
16405
16406// ContainerInstanceEvent represents the base for all Container Events.
16407type ContainerInstanceEvent struct {
16408	// EventInstanceID - The identifier for the FabricEvent instance.
16409	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
16410	// TimeStamp - The time event was logged.
16411	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
16412	// HasCorrelatedEvents - Shows there is existing related events available.
16413	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
16414	// 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'
16415	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
16416}
16417
16418// MarshalJSON is the custom marshaler for ContainerInstanceEvent.
16419func (cie ContainerInstanceEvent) MarshalJSON() ([]byte, error) {
16420	cie.Kind = KindContainerInstanceEvent
16421	objectMap := make(map[string]interface{})
16422	if cie.EventInstanceID != nil {
16423		objectMap["EventInstanceId"] = cie.EventInstanceID
16424	}
16425	if cie.TimeStamp != nil {
16426		objectMap["TimeStamp"] = cie.TimeStamp
16427	}
16428	if cie.HasCorrelatedEvents != nil {
16429		objectMap["HasCorrelatedEvents"] = cie.HasCorrelatedEvents
16430	}
16431	if cie.Kind != "" {
16432		objectMap["Kind"] = cie.Kind
16433	}
16434	return json.Marshal(objectMap)
16435}
16436
16437// AsApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16438func (cie ContainerInstanceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16439	return nil, false
16440}
16441
16442// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16443func (cie ContainerInstanceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16444	return nil, false
16445}
16446
16447// AsClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16448func (cie ContainerInstanceEvent) AsClusterEvent() (*ClusterEvent, bool) {
16449	return nil, false
16450}
16451
16452// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16453func (cie ContainerInstanceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16454	return nil, false
16455}
16456
16457// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16458func (cie ContainerInstanceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16459	return &cie, true
16460}
16461
16462// AsNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16463func (cie ContainerInstanceEvent) AsNodeEvent() (*NodeEvent, bool) {
16464	return nil, false
16465}
16466
16467// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16468func (cie ContainerInstanceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16469	return nil, false
16470}
16471
16472// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16473func (cie ContainerInstanceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16474	return nil, false
16475}
16476
16477// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16478func (cie ContainerInstanceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16479	return nil, false
16480}
16481
16482// AsPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16483func (cie ContainerInstanceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16484	return nil, false
16485}
16486
16487// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16488func (cie ContainerInstanceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16489	return nil, false
16490}
16491
16492// AsReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16493func (cie ContainerInstanceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16494	return nil, false
16495}
16496
16497// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16498func (cie ContainerInstanceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16499	return nil, false
16500}
16501
16502// AsServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16503func (cie ContainerInstanceEvent) AsServiceEvent() (*ServiceEvent, bool) {
16504	return nil, false
16505}
16506
16507// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16508func (cie ContainerInstanceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16509	return nil, false
16510}
16511
16512// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16513func (cie ContainerInstanceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16514	return nil, false
16515}
16516
16517// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16518func (cie ContainerInstanceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16519	return nil, false
16520}
16521
16522// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16523func (cie ContainerInstanceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16524	return nil, false
16525}
16526
16527// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16528func (cie ContainerInstanceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16529	return nil, false
16530}
16531
16532// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16533func (cie ContainerInstanceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16534	return nil, false
16535}
16536
16537// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16538func (cie ContainerInstanceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16539	return nil, false
16540}
16541
16542// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16543func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16544	return nil, false
16545}
16546
16547// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16548func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16549	return nil, false
16550}
16551
16552// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16553func (cie ContainerInstanceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16554	return nil, false
16555}
16556
16557// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16558func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16559	return nil, false
16560}
16561
16562// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16563func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16564	return nil, false
16565}
16566
16567// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16568func (cie ContainerInstanceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16569	return nil, false
16570}
16571
16572// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16573func (cie ContainerInstanceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16574	return nil, false
16575}
16576
16577// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16578func (cie ContainerInstanceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16579	return nil, false
16580}
16581
16582// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16583func (cie ContainerInstanceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16584	return nil, false
16585}
16586
16587// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16588func (cie ContainerInstanceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16589	return nil, false
16590}
16591
16592// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16593func (cie ContainerInstanceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16594	return nil, false
16595}
16596
16597// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16598func (cie ContainerInstanceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16599	return nil, false
16600}
16601
16602// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16603func (cie ContainerInstanceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16604	return nil, false
16605}
16606
16607// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16608func (cie ContainerInstanceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16609	return nil, false
16610}
16611
16612// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16613func (cie ContainerInstanceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16614	return nil, false
16615}
16616
16617// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16618func (cie ContainerInstanceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16619	return nil, false
16620}
16621
16622// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16623func (cie ContainerInstanceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16624	return nil, false
16625}
16626
16627// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16628func (cie ContainerInstanceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16629	return nil, false
16630}
16631
16632// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16633func (cie ContainerInstanceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16634	return nil, false
16635}
16636
16637// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16638func (cie ContainerInstanceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16639	return nil, false
16640}
16641
16642// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16643func (cie ContainerInstanceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16644	return nil, false
16645}
16646
16647// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16648func (cie ContainerInstanceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16649	return nil, false
16650}
16651
16652// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16653func (cie ContainerInstanceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16654	return nil, false
16655}
16656
16657// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16658func (cie ContainerInstanceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16659	return nil, false
16660}
16661
16662// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16663func (cie ContainerInstanceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16664	return nil, false
16665}
16666
16667// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16668func (cie ContainerInstanceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16669	return nil, false
16670}
16671
16672// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16673func (cie ContainerInstanceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16674	return nil, false
16675}
16676
16677// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16678func (cie ContainerInstanceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16679	return nil, false
16680}
16681
16682// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16683func (cie ContainerInstanceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16684	return nil, false
16685}
16686
16687// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16688func (cie ContainerInstanceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16689	return nil, false
16690}
16691
16692// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16693func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16694	return nil, false
16695}
16696
16697// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16698func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16699	return nil, false
16700}
16701
16702// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16703func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16704	return nil, false
16705}
16706
16707// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16708func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16709	return nil, false
16710}
16711
16712// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16713func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16714	return nil, false
16715}
16716
16717// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16718func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16719	return nil, false
16720}
16721
16722// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16723func (cie ContainerInstanceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16724	return nil, false
16725}
16726
16727// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16728func (cie ContainerInstanceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16729	return nil, false
16730}
16731
16732// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16733func (cie ContainerInstanceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16734	return nil, false
16735}
16736
16737// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16738func (cie ContainerInstanceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16739	return nil, false
16740}
16741
16742// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16743func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16744	return nil, false
16745}
16746
16747// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16748func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16749	return nil, false
16750}
16751
16752// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16753func (cie ContainerInstanceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16754	return nil, false
16755}
16756
16757// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16758func (cie ContainerInstanceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16759	return nil, false
16760}
16761
16762// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16763func (cie ContainerInstanceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16764	return nil, false
16765}
16766
16767// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16768func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16769	return nil, false
16770}
16771
16772// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16773func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16774	return nil, false
16775}
16776
16777// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16778func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16779	return nil, false
16780}
16781
16782// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16783func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16784	return nil, false
16785}
16786
16787// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16788func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16789	return nil, false
16790}
16791
16792// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16793func (cie ContainerInstanceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16794	return nil, false
16795}
16796
16797// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16798func (cie ContainerInstanceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16799	return nil, false
16800}
16801
16802// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16803func (cie ContainerInstanceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16804	return nil, false
16805}
16806
16807// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16808func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16809	return nil, false
16810}
16811
16812// AsFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16813func (cie ContainerInstanceEvent) AsFabricEvent() (*FabricEvent, bool) {
16814	return nil, false
16815}
16816
16817// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
16818func (cie ContainerInstanceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
16819	return &cie, true
16820}
16821
16822// ContainerLogs container logs.
16823type ContainerLogs struct {
16824	autorest.Response `json:"-"`
16825	// Content - Container logs.
16826	Content *string `json:"Content,omitempty"`
16827}
16828
16829// CreateComposeDeploymentDescription defines description for creating a Service Fabric compose deployment.
16830type CreateComposeDeploymentDescription struct {
16831	// DeploymentName - The name of the deployment.
16832	DeploymentName *string `json:"DeploymentName,omitempty"`
16833	// ComposeFileContent - The content of the compose file that describes the deployment to create.
16834	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
16835	// RegistryCredential - Credential information to connect to container registry.
16836	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
16837}
16838
16839// CurrentUpgradeDomainProgressInfo information about the current in-progress upgrade domain.
16840type CurrentUpgradeDomainProgressInfo struct {
16841	// DomainName - The name of the upgrade domain
16842	DomainName *string `json:"DomainName,omitempty"`
16843	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
16844	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
16845}
16846
16847// DeactivationIntentDescription describes the intent or reason for deactivating the node.
16848type DeactivationIntentDescription struct {
16849	// DeactivationIntent - Describes the intent or reason for deactivating the node. The possible values are following. Possible values include: 'Pause', 'Restart', 'RemoveData'
16850	DeactivationIntent DeactivationIntent `json:"DeactivationIntent,omitempty"`
16851}
16852
16853// DeletePropertyBatchOperation represents a PropertyBatchOperation that deletes a specified property if it
16854// exists.
16855// Note that if one PropertyBatchOperation in a PropertyBatch fails,
16856// the entire batch fails and cannot be committed in a transactional manner.
16857type DeletePropertyBatchOperation struct {
16858	// PropertyName - The name of the Service Fabric property.
16859	PropertyName *string `json:"PropertyName,omitempty"`
16860	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
16861	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
16862}
16863
16864// MarshalJSON is the custom marshaler for DeletePropertyBatchOperation.
16865func (dpbo DeletePropertyBatchOperation) MarshalJSON() ([]byte, error) {
16866	dpbo.Kind = KindDelete
16867	objectMap := make(map[string]interface{})
16868	if dpbo.PropertyName != nil {
16869		objectMap["PropertyName"] = dpbo.PropertyName
16870	}
16871	if dpbo.Kind != "" {
16872		objectMap["Kind"] = dpbo.Kind
16873	}
16874	return json.Marshal(objectMap)
16875}
16876
16877// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16878func (dpbo DeletePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
16879	return nil, false
16880}
16881
16882// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16883func (dpbo DeletePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
16884	return nil, false
16885}
16886
16887// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16888func (dpbo DeletePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
16889	return nil, false
16890}
16891
16892// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16893func (dpbo DeletePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
16894	return &dpbo, true
16895}
16896
16897// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16898func (dpbo DeletePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
16899	return nil, false
16900}
16901
16902// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16903func (dpbo DeletePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
16904	return nil, false
16905}
16906
16907// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16908func (dpbo DeletePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
16909	return nil, false
16910}
16911
16912// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
16913func (dpbo DeletePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
16914	return &dpbo, true
16915}
16916
16917// DeltaNodesCheckHealthEvaluation represents health evaluation for delta nodes, containing health
16918// evaluations for each unhealthy node that impacted current aggregated health state.
16919// Can be returned during cluster upgrade when the aggregated health state of the cluster is Warning or
16920// Error.
16921type DeltaNodesCheckHealthEvaluation struct {
16922	// BaselineErrorCount - Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
16923	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
16924	// BaselineTotalCount - Total number of nodes in the health store at the beginning of the cluster upgrade.
16925	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
16926	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
16927	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
16928	// TotalCount - Total number of nodes in the health store.
16929	TotalCount *int64 `json:"TotalCount,omitempty"`
16930	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state.
16931	// Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
16932	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
16933	// 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'
16934	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
16935	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
16936	Description *string `json:"Description,omitempty"`
16937	// 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'
16938	Kind Kind `json:"Kind,omitempty"`
16939}
16940
16941// MarshalJSON is the custom marshaler for DeltaNodesCheckHealthEvaluation.
16942func (dnche DeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
16943	dnche.Kind = KindDeltaNodesCheck
16944	objectMap := make(map[string]interface{})
16945	if dnche.BaselineErrorCount != nil {
16946		objectMap["BaselineErrorCount"] = dnche.BaselineErrorCount
16947	}
16948	if dnche.BaselineTotalCount != nil {
16949		objectMap["BaselineTotalCount"] = dnche.BaselineTotalCount
16950	}
16951	if dnche.MaxPercentDeltaUnhealthyNodes != nil {
16952		objectMap["MaxPercentDeltaUnhealthyNodes"] = dnche.MaxPercentDeltaUnhealthyNodes
16953	}
16954	if dnche.TotalCount != nil {
16955		objectMap["TotalCount"] = dnche.TotalCount
16956	}
16957	if dnche.UnhealthyEvaluations != nil {
16958		objectMap["UnhealthyEvaluations"] = dnche.UnhealthyEvaluations
16959	}
16960	if dnche.AggregatedHealthState != "" {
16961		objectMap["AggregatedHealthState"] = dnche.AggregatedHealthState
16962	}
16963	if dnche.Description != nil {
16964		objectMap["Description"] = dnche.Description
16965	}
16966	if dnche.Kind != "" {
16967		objectMap["Kind"] = dnche.Kind
16968	}
16969	return json.Marshal(objectMap)
16970}
16971
16972// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
16973func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
16974	return nil, false
16975}
16976
16977// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
16978func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
16979	return nil, false
16980}
16981
16982// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
16983func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
16984	return nil, false
16985}
16986
16987// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
16988func (dnche DeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
16989	return &dnche, true
16990}
16991
16992// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
16993func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
16994	return nil, false
16995}
16996
16997// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
16998func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
16999	return nil, false
17000}
17001
17002// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17003func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
17004	return nil, false
17005}
17006
17007// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17008func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
17009	return nil, false
17010}
17011
17012// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17013func (dnche DeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
17014	return nil, false
17015}
17016
17017// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17018func (dnche DeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
17019	return nil, false
17020}
17021
17022// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17023func (dnche DeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
17024	return nil, false
17025}
17026
17027// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17028func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
17029	return nil, false
17030}
17031
17032// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17033func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
17034	return nil, false
17035}
17036
17037// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17038func (dnche DeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
17039	return nil, false
17040}
17041
17042// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17043func (dnche DeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
17044	return nil, false
17045}
17046
17047// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17048func (dnche DeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
17049	return nil, false
17050}
17051
17052// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17053func (dnche DeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
17054	return nil, false
17055}
17056
17057// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17058func (dnche DeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
17059	return nil, false
17060}
17061
17062// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17063func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
17064	return nil, false
17065}
17066
17067// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17068func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
17069	return nil, false
17070}
17071
17072// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17073func (dnche DeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
17074	return nil, false
17075}
17076
17077// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
17078func (dnche DeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
17079	return &dnche, true
17080}
17081
17082// DeployedApplicationHealth information about the health of an application deployed on a Service Fabric
17083// node.
17084type DeployedApplicationHealth struct {
17085	autorest.Response `json:"-"`
17086	// Name - Name of the application deployed on the node whose health information is described by this object.
17087	Name *string `json:"Name,omitempty"`
17088	// NodeName - Name of the node where this application is deployed.
17089	NodeName *string `json:"NodeName,omitempty"`
17090	// DeployedServicePackageHealthStates - Deployed service package health states for the current deployed application as found in the health store.
17091	DeployedServicePackageHealthStates *[]DeployedServicePackageHealthState `json:"DeployedServicePackageHealthStates,omitempty"`
17092	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
17093	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
17094	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
17095	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
17096	// HealthEvents - The list of health events reported on the entity.
17097	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
17098	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
17099	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
17100	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
17101	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
17102}
17103
17104// DeployedApplicationHealthEvaluation represents health evaluation for a deployed application, containing
17105// information about the data and the algorithm used by the health store to evaluate health.
17106type DeployedApplicationHealthEvaluation struct {
17107	// NodeName - Name of the node where the application is deployed to.
17108	NodeName *string `json:"NodeName,omitempty"`
17109	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
17110	ApplicationName *string `json:"ApplicationName,omitempty"`
17111	// UnhealthyEvaluations - List of  unhealthy evaluations that led to the current aggregated health state of the deployed application.
17112	// The types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation.
17113	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
17114	// 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'
17115	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
17116	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
17117	Description *string `json:"Description,omitempty"`
17118	// 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'
17119	Kind Kind `json:"Kind,omitempty"`
17120}
17121
17122// MarshalJSON is the custom marshaler for DeployedApplicationHealthEvaluation.
17123func (dahe DeployedApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
17124	dahe.Kind = KindDeployedApplication
17125	objectMap := make(map[string]interface{})
17126	if dahe.NodeName != nil {
17127		objectMap["NodeName"] = dahe.NodeName
17128	}
17129	if dahe.ApplicationName != nil {
17130		objectMap["ApplicationName"] = dahe.ApplicationName
17131	}
17132	if dahe.UnhealthyEvaluations != nil {
17133		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
17134	}
17135	if dahe.AggregatedHealthState != "" {
17136		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
17137	}
17138	if dahe.Description != nil {
17139		objectMap["Description"] = dahe.Description
17140	}
17141	if dahe.Kind != "" {
17142		objectMap["Kind"] = dahe.Kind
17143	}
17144	return json.Marshal(objectMap)
17145}
17146
17147// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17148func (dahe DeployedApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
17149	return nil, false
17150}
17151
17152// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17153func (dahe DeployedApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
17154	return nil, false
17155}
17156
17157// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17158func (dahe DeployedApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
17159	return nil, false
17160}
17161
17162// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17163func (dahe DeployedApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
17164	return nil, false
17165}
17166
17167// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17168func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
17169	return &dahe, true
17170}
17171
17172// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17173func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
17174	return nil, false
17175}
17176
17177// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17178func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
17179	return nil, false
17180}
17181
17182// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17183func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
17184	return nil, false
17185}
17186
17187// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17188func (dahe DeployedApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
17189	return nil, false
17190}
17191
17192// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17193func (dahe DeployedApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
17194	return nil, false
17195}
17196
17197// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17198func (dahe DeployedApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
17199	return nil, false
17200}
17201
17202// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17203func (dahe DeployedApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
17204	return nil, false
17205}
17206
17207// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17208func (dahe DeployedApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
17209	return nil, false
17210}
17211
17212// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17213func (dahe DeployedApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
17214	return nil, false
17215}
17216
17217// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17218func (dahe DeployedApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
17219	return nil, false
17220}
17221
17222// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17223func (dahe DeployedApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
17224	return nil, false
17225}
17226
17227// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17228func (dahe DeployedApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
17229	return nil, false
17230}
17231
17232// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17233func (dahe DeployedApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
17234	return nil, false
17235}
17236
17237// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17238func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
17239	return nil, false
17240}
17241
17242// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17243func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
17244	return nil, false
17245}
17246
17247// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17248func (dahe DeployedApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
17249	return nil, false
17250}
17251
17252// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
17253func (dahe DeployedApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
17254	return &dahe, true
17255}
17256
17257// DeployedApplicationHealthReportCreatedEvent deployed Application Health Report Created event.
17258type DeployedApplicationHealthReportCreatedEvent struct {
17259	// ApplicationInstanceID - Id of Application instance.
17260	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
17261	// NodeName - The name of a Service Fabric node.
17262	NodeName *string `json:"NodeName,omitempty"`
17263	// SourceID - Id of report source.
17264	SourceID *string `json:"SourceId,omitempty"`
17265	// Property - Describes the property.
17266	Property *string `json:"Property,omitempty"`
17267	// HealthState - Describes the property health state.
17268	HealthState *string `json:"HealthState,omitempty"`
17269	// TimeToLiveMs - Time to live in milli-seconds.
17270	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
17271	// SequenceNumber - Sequence number of report.
17272	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
17273	// Description - Description of report.
17274	Description *string `json:"Description,omitempty"`
17275	// RemoveWhenExpired - Indicates the removal when it expires.
17276	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
17277	// SourceUtcTimestamp - Source time.
17278	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
17279	// 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.
17280	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
17281	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
17282	ApplicationID *string `json:"ApplicationId,omitempty"`
17283	// EventInstanceID - The identifier for the FabricEvent instance.
17284	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17285	// TimeStamp - The time event was logged.
17286	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17287	// HasCorrelatedEvents - Shows there is existing related events available.
17288	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17289	// 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'
17290	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17291}
17292
17293// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportCreatedEvent.
17294func (dahrce DeployedApplicationHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
17295	dahrce.Kind = KindDeployedApplicationHealthReportCreated
17296	objectMap := make(map[string]interface{})
17297	if dahrce.ApplicationInstanceID != nil {
17298		objectMap["ApplicationInstanceId"] = dahrce.ApplicationInstanceID
17299	}
17300	if dahrce.NodeName != nil {
17301		objectMap["NodeName"] = dahrce.NodeName
17302	}
17303	if dahrce.SourceID != nil {
17304		objectMap["SourceId"] = dahrce.SourceID
17305	}
17306	if dahrce.Property != nil {
17307		objectMap["Property"] = dahrce.Property
17308	}
17309	if dahrce.HealthState != nil {
17310		objectMap["HealthState"] = dahrce.HealthState
17311	}
17312	if dahrce.TimeToLiveMs != nil {
17313		objectMap["TimeToLiveMs"] = dahrce.TimeToLiveMs
17314	}
17315	if dahrce.SequenceNumber != nil {
17316		objectMap["SequenceNumber"] = dahrce.SequenceNumber
17317	}
17318	if dahrce.Description != nil {
17319		objectMap["Description"] = dahrce.Description
17320	}
17321	if dahrce.RemoveWhenExpired != nil {
17322		objectMap["RemoveWhenExpired"] = dahrce.RemoveWhenExpired
17323	}
17324	if dahrce.SourceUtcTimestamp != nil {
17325		objectMap["SourceUtcTimestamp"] = dahrce.SourceUtcTimestamp
17326	}
17327	if dahrce.ApplicationID != nil {
17328		objectMap["ApplicationId"] = dahrce.ApplicationID
17329	}
17330	if dahrce.EventInstanceID != nil {
17331		objectMap["EventInstanceId"] = dahrce.EventInstanceID
17332	}
17333	if dahrce.TimeStamp != nil {
17334		objectMap["TimeStamp"] = dahrce.TimeStamp
17335	}
17336	if dahrce.HasCorrelatedEvents != nil {
17337		objectMap["HasCorrelatedEvents"] = dahrce.HasCorrelatedEvents
17338	}
17339	if dahrce.Kind != "" {
17340		objectMap["Kind"] = dahrce.Kind
17341	}
17342	return json.Marshal(objectMap)
17343}
17344
17345// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17346func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
17347	return nil, false
17348}
17349
17350// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17351func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
17352	return &dahrce, true
17353}
17354
17355// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17356func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
17357	return nil, false
17358}
17359
17360// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17361func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
17362	return nil, false
17363}
17364
17365// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17366func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
17367	return nil, false
17368}
17369
17370// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17371func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
17372	return nil, false
17373}
17374
17375// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17376func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
17377	return nil, false
17378}
17379
17380// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17381func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
17382	return nil, false
17383}
17384
17385// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17386func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
17387	return nil, false
17388}
17389
17390// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17391func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
17392	return nil, false
17393}
17394
17395// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17396func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
17397	return nil, false
17398}
17399
17400// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17401func (dahrce DeployedApplicationHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
17402	return nil, false
17403}
17404
17405// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17406func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
17407	return nil, false
17408}
17409
17410// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17411func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
17412	return nil, false
17413}
17414
17415// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17416func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
17417	return nil, false
17418}
17419
17420// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17421func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
17422	return nil, false
17423}
17424
17425// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17426func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
17427	return nil, false
17428}
17429
17430// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17431func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
17432	return nil, false
17433}
17434
17435// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17436func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
17437	return nil, false
17438}
17439
17440// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17441func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
17442	return nil, false
17443}
17444
17445// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17446func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
17447	return nil, false
17448}
17449
17450// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17451func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
17452	return nil, false
17453}
17454
17455// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17456func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
17457	return nil, false
17458}
17459
17460// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17461func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
17462	return nil, false
17463}
17464
17465// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17466func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
17467	return &dahrce, true
17468}
17469
17470// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17471func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
17472	return nil, false
17473}
17474
17475// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17476func (dahrce DeployedApplicationHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
17477	return nil, false
17478}
17479
17480// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17481func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
17482	return nil, false
17483}
17484
17485// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17486func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17487	return nil, false
17488}
17489
17490// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17491func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17492	return nil, false
17493}
17494
17495// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17496func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17497	return nil, false
17498}
17499
17500// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17501func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17502	return nil, false
17503}
17504
17505// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17506func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17507	return nil, false
17508}
17509
17510// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17511func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17512	return nil, false
17513}
17514
17515// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17516func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17517	return nil, false
17518}
17519
17520// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17521func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17522	return nil, false
17523}
17524
17525// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17526func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
17527	return nil, false
17528}
17529
17530// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17531func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
17532	return nil, false
17533}
17534
17535// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17536func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
17537	return nil, false
17538}
17539
17540// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17541func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
17542	return nil, false
17543}
17544
17545// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17546func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
17547	return nil, false
17548}
17549
17550// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17551func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
17552	return nil, false
17553}
17554
17555// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17556func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
17557	return nil, false
17558}
17559
17560// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17561func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
17562	return nil, false
17563}
17564
17565// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17566func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
17567	return nil, false
17568}
17569
17570// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17571func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
17572	return nil, false
17573}
17574
17575// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17576func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
17577	return nil, false
17578}
17579
17580// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17581func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
17582	return nil, false
17583}
17584
17585// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17586func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
17587	return nil, false
17588}
17589
17590// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17591func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
17592	return nil, false
17593}
17594
17595// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17596func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
17597	return nil, false
17598}
17599
17600// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17601func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
17602	return nil, false
17603}
17604
17605// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17606func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
17607	return nil, false
17608}
17609
17610// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17611func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
17612	return nil, false
17613}
17614
17615// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17616func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
17617	return nil, false
17618}
17619
17620// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17621func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
17622	return nil, false
17623}
17624
17625// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17626func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
17627	return nil, false
17628}
17629
17630// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17631func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
17632	return nil, false
17633}
17634
17635// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17636func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
17637	return nil, false
17638}
17639
17640// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17641func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
17642	return nil, false
17643}
17644
17645// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17646func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
17647	return nil, false
17648}
17649
17650// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17651func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
17652	return nil, false
17653}
17654
17655// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17656func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
17657	return nil, false
17658}
17659
17660// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17661func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
17662	return nil, false
17663}
17664
17665// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17666func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
17667	return nil, false
17668}
17669
17670// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17671func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
17672	return nil, false
17673}
17674
17675// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17676func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
17677	return nil, false
17678}
17679
17680// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17681func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
17682	return nil, false
17683}
17684
17685// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17686func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
17687	return nil, false
17688}
17689
17690// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17691func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
17692	return nil, false
17693}
17694
17695// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17696func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
17697	return nil, false
17698}
17699
17700// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17701func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
17702	return nil, false
17703}
17704
17705// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17706func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
17707	return nil, false
17708}
17709
17710// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17711func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
17712	return nil, false
17713}
17714
17715// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17716func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
17717	return nil, false
17718}
17719
17720// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17721func (dahrce DeployedApplicationHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
17722	return nil, false
17723}
17724
17725// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
17726func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17727	return &dahrce, true
17728}
17729
17730// DeployedApplicationHealthReportExpiredEvent deployed Application Health Report Expired event.
17731type DeployedApplicationHealthReportExpiredEvent struct {
17732	// ApplicationInstanceID - Id of Application instance.
17733	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
17734	// NodeName - The name of a Service Fabric node.
17735	NodeName *string `json:"NodeName,omitempty"`
17736	// SourceID - Id of report source.
17737	SourceID *string `json:"SourceId,omitempty"`
17738	// Property - Describes the property.
17739	Property *string `json:"Property,omitempty"`
17740	// HealthState - Describes the property health state.
17741	HealthState *string `json:"HealthState,omitempty"`
17742	// TimeToLiveMs - Time to live in milli-seconds.
17743	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
17744	// SequenceNumber - Sequence number of report.
17745	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
17746	// Description - Description of report.
17747	Description *string `json:"Description,omitempty"`
17748	// RemoveWhenExpired - Indicates the removal when it expires.
17749	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
17750	// SourceUtcTimestamp - Source time.
17751	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
17752	// 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.
17753	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
17754	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
17755	ApplicationID *string `json:"ApplicationId,omitempty"`
17756	// EventInstanceID - The identifier for the FabricEvent instance.
17757	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17758	// TimeStamp - The time event was logged.
17759	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17760	// HasCorrelatedEvents - Shows there is existing related events available.
17761	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17762	// 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'
17763	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17764}
17765
17766// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportExpiredEvent.
17767func (dahree DeployedApplicationHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
17768	dahree.Kind = KindDeployedApplicationHealthReportExpired
17769	objectMap := make(map[string]interface{})
17770	if dahree.ApplicationInstanceID != nil {
17771		objectMap["ApplicationInstanceId"] = dahree.ApplicationInstanceID
17772	}
17773	if dahree.NodeName != nil {
17774		objectMap["NodeName"] = dahree.NodeName
17775	}
17776	if dahree.SourceID != nil {
17777		objectMap["SourceId"] = dahree.SourceID
17778	}
17779	if dahree.Property != nil {
17780		objectMap["Property"] = dahree.Property
17781	}
17782	if dahree.HealthState != nil {
17783		objectMap["HealthState"] = dahree.HealthState
17784	}
17785	if dahree.TimeToLiveMs != nil {
17786		objectMap["TimeToLiveMs"] = dahree.TimeToLiveMs
17787	}
17788	if dahree.SequenceNumber != nil {
17789		objectMap["SequenceNumber"] = dahree.SequenceNumber
17790	}
17791	if dahree.Description != nil {
17792		objectMap["Description"] = dahree.Description
17793	}
17794	if dahree.RemoveWhenExpired != nil {
17795		objectMap["RemoveWhenExpired"] = dahree.RemoveWhenExpired
17796	}
17797	if dahree.SourceUtcTimestamp != nil {
17798		objectMap["SourceUtcTimestamp"] = dahree.SourceUtcTimestamp
17799	}
17800	if dahree.ApplicationID != nil {
17801		objectMap["ApplicationId"] = dahree.ApplicationID
17802	}
17803	if dahree.EventInstanceID != nil {
17804		objectMap["EventInstanceId"] = dahree.EventInstanceID
17805	}
17806	if dahree.TimeStamp != nil {
17807		objectMap["TimeStamp"] = dahree.TimeStamp
17808	}
17809	if dahree.HasCorrelatedEvents != nil {
17810		objectMap["HasCorrelatedEvents"] = dahree.HasCorrelatedEvents
17811	}
17812	if dahree.Kind != "" {
17813		objectMap["Kind"] = dahree.Kind
17814	}
17815	return json.Marshal(objectMap)
17816}
17817
17818// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17819func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
17820	return nil, false
17821}
17822
17823// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17824func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
17825	return &dahree, true
17826}
17827
17828// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17829func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
17830	return nil, false
17831}
17832
17833// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17834func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
17835	return nil, false
17836}
17837
17838// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17839func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
17840	return nil, false
17841}
17842
17843// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17844func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
17845	return nil, false
17846}
17847
17848// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17849func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
17850	return nil, false
17851}
17852
17853// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17854func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
17855	return nil, false
17856}
17857
17858// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17859func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
17860	return nil, false
17861}
17862
17863// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17864func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
17865	return nil, false
17866}
17867
17868// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17869func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
17870	return nil, false
17871}
17872
17873// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17874func (dahree DeployedApplicationHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
17875	return nil, false
17876}
17877
17878// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17879func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
17880	return nil, false
17881}
17882
17883// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17884func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
17885	return nil, false
17886}
17887
17888// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17889func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
17890	return nil, false
17891}
17892
17893// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17894func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
17895	return nil, false
17896}
17897
17898// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17899func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
17900	return nil, false
17901}
17902
17903// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17904func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
17905	return nil, false
17906}
17907
17908// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17909func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
17910	return nil, false
17911}
17912
17913// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17914func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
17915	return nil, false
17916}
17917
17918// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17919func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
17920	return nil, false
17921}
17922
17923// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17924func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
17925	return nil, false
17926}
17927
17928// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17929func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
17930	return nil, false
17931}
17932
17933// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17934func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
17935	return nil, false
17936}
17937
17938// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17939func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
17940	return nil, false
17941}
17942
17943// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17944func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
17945	return &dahree, true
17946}
17947
17948// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17949func (dahree DeployedApplicationHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
17950	return nil, false
17951}
17952
17953// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17954func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
17955	return nil, false
17956}
17957
17958// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17959func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17960	return nil, false
17961}
17962
17963// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17964func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17965	return nil, false
17966}
17967
17968// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17969func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17970	return nil, false
17971}
17972
17973// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17974func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17975	return nil, false
17976}
17977
17978// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17979func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17980	return nil, false
17981}
17982
17983// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17984func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17985	return nil, false
17986}
17987
17988// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17989func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17990	return nil, false
17991}
17992
17993// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17994func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17995	return nil, false
17996}
17997
17998// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
17999func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18000	return nil, false
18001}
18002
18003// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18004func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18005	return nil, false
18006}
18007
18008// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18009func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18010	return nil, false
18011}
18012
18013// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18014func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18015	return nil, false
18016}
18017
18018// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18019func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18020	return nil, false
18021}
18022
18023// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18024func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18025	return nil, false
18026}
18027
18028// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18029func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18030	return nil, false
18031}
18032
18033// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18034func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18035	return nil, false
18036}
18037
18038// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18039func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18040	return nil, false
18041}
18042
18043// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18044func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18045	return nil, false
18046}
18047
18048// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18049func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18050	return nil, false
18051}
18052
18053// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18054func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18055	return nil, false
18056}
18057
18058// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18059func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18060	return nil, false
18061}
18062
18063// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18064func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18065	return nil, false
18066}
18067
18068// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18069func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18070	return nil, false
18071}
18072
18073// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18074func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18075	return nil, false
18076}
18077
18078// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18079func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18080	return nil, false
18081}
18082
18083// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18084func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18085	return nil, false
18086}
18087
18088// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18089func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18090	return nil, false
18091}
18092
18093// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18094func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18095	return nil, false
18096}
18097
18098// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18099func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18100	return nil, false
18101}
18102
18103// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18104func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18105	return nil, false
18106}
18107
18108// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18109func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18110	return nil, false
18111}
18112
18113// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18114func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18115	return nil, false
18116}
18117
18118// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18119func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18120	return nil, false
18121}
18122
18123// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18124func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18125	return nil, false
18126}
18127
18128// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18129func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18130	return nil, false
18131}
18132
18133// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18134func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18135	return nil, false
18136}
18137
18138// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18139func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18140	return nil, false
18141}
18142
18143// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18144func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
18145	return nil, false
18146}
18147
18148// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18149func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
18150	return nil, false
18151}
18152
18153// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18154func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
18155	return nil, false
18156}
18157
18158// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18159func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
18160	return nil, false
18161}
18162
18163// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18164func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
18165	return nil, false
18166}
18167
18168// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18169func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
18170	return nil, false
18171}
18172
18173// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18174func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
18175	return nil, false
18176}
18177
18178// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18179func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
18180	return nil, false
18181}
18182
18183// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18184func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
18185	return nil, false
18186}
18187
18188// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18189func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
18190	return nil, false
18191}
18192
18193// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18194func (dahree DeployedApplicationHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
18195	return nil, false
18196}
18197
18198// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
18199func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
18200	return &dahree, true
18201}
18202
18203// DeployedApplicationHealthState represents the health state of a deployed application, which contains the
18204// entity identifier and the aggregated health state.
18205type DeployedApplicationHealthState struct {
18206	// NodeName - Name of the node on which the service package is deployed.
18207	NodeName *string `json:"NodeName,omitempty"`
18208	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
18209	ApplicationName *string `json:"ApplicationName,omitempty"`
18210	// 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'
18211	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
18212}
18213
18214// DeployedApplicationHealthStateChunk represents the health state chunk of a deployed application, which
18215// contains the node where the application is deployed, the aggregated health state and any deployed
18216// service packages that respect the chunk query description filters.
18217type DeployedApplicationHealthStateChunk struct {
18218	// NodeName - The name of node where the application is deployed.
18219	NodeName *string `json:"NodeName,omitempty"`
18220	// 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.
18221	DeployedServicePackageHealthStateChunks *DeployedServicePackageHealthStateChunkList `json:"DeployedServicePackageHealthStateChunks,omitempty"`
18222	// 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'
18223	HealthState HealthState `json:"HealthState,omitempty"`
18224}
18225
18226// DeployedApplicationHealthStateChunkList the list of deployed application health state chunks that
18227// respect the input filters in the chunk query. Returned by get cluster health state chunks query.
18228type DeployedApplicationHealthStateChunkList struct {
18229	// Items - The list of deployed application health state chunks that respect the input filters in the chunk query.
18230	Items *[]DeployedApplicationHealthStateChunk `json:"Items,omitempty"`
18231}
18232
18233// DeployedApplicationHealthStateFilter defines matching criteria to determine whether a deployed
18234// application should be included as a child of an application in the cluster health chunk.
18235// The deployed applications are only returned if the parent application matches a filter specified in the
18236// cluster health chunk query description.
18237// One filter can match zero, one or multiple deployed applications, depending on its properties.
18238type DeployedApplicationHealthStateFilter struct {
18239	// NodeNameFilter - The name of the node where the application is deployed in order to match the filter.
18240	// If specified, the filter is applied only to the application deployed on the specified node.
18241	// 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.
18242	// Otherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.
18243	// 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.
18244	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
18245	// HealthStateFilter - The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.
18246	// 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.
18247	// 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.
18248	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
18249	// For example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).
18250	// - Default - Default value. Matches any HealthState. The value is zero.
18251	// - 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.
18252	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
18253	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
18254	// - Error - Filter that matches input with HealthState value Error. The value is 8.
18255	// - All - Filter that matches input with any HealthState value. The value is 65535.
18256	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
18257	// 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.
18258	// 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.
18259	// The deployed application filter may specify multiple deployed service package filters.
18260	// 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.
18261	DeployedServicePackageFilters *[]DeployedServicePackageHealthStateFilter `json:"DeployedServicePackageFilters,omitempty"`
18262}
18263
18264// DeployedApplicationInfo information about application deployed on the node.
18265type DeployedApplicationInfo struct {
18266	autorest.Response `json:"-"`
18267	// 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.
18268	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
18269	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
18270	ID *string `json:"Id,omitempty"`
18271	// Name - The name of the application, including the 'fabric:' URI scheme.
18272	Name *string `json:"Name,omitempty"`
18273	// TypeName - The application type name as defined in the application manifest.
18274	TypeName *string `json:"TypeName,omitempty"`
18275	// Status - The status of the application deployed on the node. Following are the possible values. Possible values include: 'DeployedApplicationStatusInvalid', 'DeployedApplicationStatusDownloading', 'DeployedApplicationStatusActivating', 'DeployedApplicationStatusActive', 'DeployedApplicationStatusUpgrading', 'DeployedApplicationStatusDeactivating'
18276	Status DeployedApplicationStatus `json:"Status,omitempty"`
18277	// WorkDirectory - The work directory of the application on the node. The work directory can be used to store application data.
18278	WorkDirectory *string `json:"WorkDirectory,omitempty"`
18279	// LogDirectory - The log directory of the application on the node. The log directory can be used to store application logs.
18280	LogDirectory *string `json:"LogDirectory,omitempty"`
18281	// 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.
18282	TempDirectory *string `json:"TempDirectory,omitempty"`
18283	// 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'
18284	HealthState HealthState `json:"HealthState,omitempty"`
18285}
18286
18287// DeployedApplicationsHealthEvaluation represents health evaluation for deployed applications, containing
18288// health evaluations for each unhealthy deployed application that impacted current aggregated health
18289// state.
18290// Can be returned when evaluating application health and the aggregated health state is either Error or
18291// Warning.
18292type DeployedApplicationsHealthEvaluation struct {
18293	// MaxPercentUnhealthyDeployedApplications - Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy.
18294	MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"`
18295	// TotalCount - Total number of deployed applications of the application in the health store.
18296	TotalCount *int64 `json:"TotalCount,omitempty"`
18297	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health.
18298	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
18299	// 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'
18300	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
18301	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
18302	Description *string `json:"Description,omitempty"`
18303	// 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'
18304	Kind Kind `json:"Kind,omitempty"`
18305}
18306
18307// MarshalJSON is the custom marshaler for DeployedApplicationsHealthEvaluation.
18308func (dahe DeployedApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
18309	dahe.Kind = KindDeployedApplications
18310	objectMap := make(map[string]interface{})
18311	if dahe.MaxPercentUnhealthyDeployedApplications != nil {
18312		objectMap["MaxPercentUnhealthyDeployedApplications"] = dahe.MaxPercentUnhealthyDeployedApplications
18313	}
18314	if dahe.TotalCount != nil {
18315		objectMap["TotalCount"] = dahe.TotalCount
18316	}
18317	if dahe.UnhealthyEvaluations != nil {
18318		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
18319	}
18320	if dahe.AggregatedHealthState != "" {
18321		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
18322	}
18323	if dahe.Description != nil {
18324		objectMap["Description"] = dahe.Description
18325	}
18326	if dahe.Kind != "" {
18327		objectMap["Kind"] = dahe.Kind
18328	}
18329	return json.Marshal(objectMap)
18330}
18331
18332// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18333func (dahe DeployedApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
18334	return nil, false
18335}
18336
18337// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18338func (dahe DeployedApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
18339	return nil, false
18340}
18341
18342// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18343func (dahe DeployedApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
18344	return nil, false
18345}
18346
18347// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18348func (dahe DeployedApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
18349	return nil, false
18350}
18351
18352// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18353func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
18354	return nil, false
18355}
18356
18357// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18358func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
18359	return &dahe, true
18360}
18361
18362// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18363func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
18364	return nil, false
18365}
18366
18367// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18368func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
18369	return nil, false
18370}
18371
18372// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18373func (dahe DeployedApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
18374	return nil, false
18375}
18376
18377// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18378func (dahe DeployedApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
18379	return nil, false
18380}
18381
18382// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18383func (dahe DeployedApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
18384	return nil, false
18385}
18386
18387// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18388func (dahe DeployedApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
18389	return nil, false
18390}
18391
18392// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18393func (dahe DeployedApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
18394	return nil, false
18395}
18396
18397// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18398func (dahe DeployedApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
18399	return nil, false
18400}
18401
18402// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18403func (dahe DeployedApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
18404	return nil, false
18405}
18406
18407// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18408func (dahe DeployedApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
18409	return nil, false
18410}
18411
18412// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18413func (dahe DeployedApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
18414	return nil, false
18415}
18416
18417// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18418func (dahe DeployedApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
18419	return nil, false
18420}
18421
18422// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18423func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
18424	return nil, false
18425}
18426
18427// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18428func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
18429	return nil, false
18430}
18431
18432// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18433func (dahe DeployedApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
18434	return nil, false
18435}
18436
18437// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
18438func (dahe DeployedApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
18439	return &dahe, true
18440}
18441
18442// DeployedCodePackageInfo information about code package deployed on a Service Fabric node.
18443type DeployedCodePackageInfo struct {
18444	// Name - The name of the code package.
18445	Name *string `json:"Name,omitempty"`
18446	// Version - The version of the code package specified in service manifest.
18447	Version *string `json:"Version,omitempty"`
18448	// ServiceManifestName - The name of service manifest that specified this code package.
18449	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
18450	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
18451	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
18452	// is always an empty string.
18453	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
18454	// 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'
18455	HostType HostType `json:"HostType,omitempty"`
18456	// 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'
18457	HostIsolationMode HostIsolationMode `json:"HostIsolationMode,omitempty"`
18458	// 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'
18459	Status DeploymentStatus `json:"Status,omitempty"`
18460	// RunFrequencyInterval - The interval at which code package is run. This is used for periodic code package.
18461	RunFrequencyInterval *string `json:"RunFrequencyInterval,omitempty"`
18462	// SetupEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
18463	SetupEntryPoint *CodePackageEntryPoint `json:"SetupEntryPoint,omitempty"`
18464	// MainEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
18465	MainEntryPoint *CodePackageEntryPoint `json:"MainEntryPoint,omitempty"`
18466}
18467
18468// DeployedServiceHealthReportCreatedEvent deployed Service Health Report Created event.
18469type DeployedServiceHealthReportCreatedEvent struct {
18470	// ServiceManifestName - Service manifest name.
18471	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
18472	// ServicePackageInstanceID - Id of Service package instance.
18473	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
18474	// ServicePackageActivationID - Id of Service package activation.
18475	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
18476	// NodeName - The name of a Service Fabric node.
18477	NodeName *string `json:"NodeName,omitempty"`
18478	// SourceID - Id of report source.
18479	SourceID *string `json:"SourceId,omitempty"`
18480	// Property - Describes the property.
18481	Property *string `json:"Property,omitempty"`
18482	// HealthState - Describes the property health state.
18483	HealthState *string `json:"HealthState,omitempty"`
18484	// TTLTimespan - Time to live in milli-seconds.
18485	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
18486	// SequenceNumber - Sequence number of report.
18487	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
18488	// Description - Description of report.
18489	Description *string `json:"Description,omitempty"`
18490	// RemoveWhenExpired - Indicates the removal when it expires.
18491	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
18492	// SourceUtcTimestamp - Source time.
18493	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
18494	// 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.
18495	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
18496	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
18497	ApplicationID *string `json:"ApplicationId,omitempty"`
18498	// EventInstanceID - The identifier for the FabricEvent instance.
18499	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
18500	// TimeStamp - The time event was logged.
18501	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
18502	// HasCorrelatedEvents - Shows there is existing related events available.
18503	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
18504	// 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'
18505	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
18506}
18507
18508// MarshalJSON is the custom marshaler for DeployedServiceHealthReportCreatedEvent.
18509func (dshrce DeployedServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
18510	dshrce.Kind = KindDeployedServiceHealthReportCreated
18511	objectMap := make(map[string]interface{})
18512	if dshrce.ServiceManifestName != nil {
18513		objectMap["ServiceManifestName"] = dshrce.ServiceManifestName
18514	}
18515	if dshrce.ServicePackageInstanceID != nil {
18516		objectMap["ServicePackageInstanceId"] = dshrce.ServicePackageInstanceID
18517	}
18518	if dshrce.ServicePackageActivationID != nil {
18519		objectMap["ServicePackageActivationId"] = dshrce.ServicePackageActivationID
18520	}
18521	if dshrce.NodeName != nil {
18522		objectMap["NodeName"] = dshrce.NodeName
18523	}
18524	if dshrce.SourceID != nil {
18525		objectMap["SourceId"] = dshrce.SourceID
18526	}
18527	if dshrce.Property != nil {
18528		objectMap["Property"] = dshrce.Property
18529	}
18530	if dshrce.HealthState != nil {
18531		objectMap["HealthState"] = dshrce.HealthState
18532	}
18533	if dshrce.TTLTimespan != nil {
18534		objectMap["TTLTimespan"] = dshrce.TTLTimespan
18535	}
18536	if dshrce.SequenceNumber != nil {
18537		objectMap["SequenceNumber"] = dshrce.SequenceNumber
18538	}
18539	if dshrce.Description != nil {
18540		objectMap["Description"] = dshrce.Description
18541	}
18542	if dshrce.RemoveWhenExpired != nil {
18543		objectMap["RemoveWhenExpired"] = dshrce.RemoveWhenExpired
18544	}
18545	if dshrce.SourceUtcTimestamp != nil {
18546		objectMap["SourceUtcTimestamp"] = dshrce.SourceUtcTimestamp
18547	}
18548	if dshrce.ApplicationID != nil {
18549		objectMap["ApplicationId"] = dshrce.ApplicationID
18550	}
18551	if dshrce.EventInstanceID != nil {
18552		objectMap["EventInstanceId"] = dshrce.EventInstanceID
18553	}
18554	if dshrce.TimeStamp != nil {
18555		objectMap["TimeStamp"] = dshrce.TimeStamp
18556	}
18557	if dshrce.HasCorrelatedEvents != nil {
18558		objectMap["HasCorrelatedEvents"] = dshrce.HasCorrelatedEvents
18559	}
18560	if dshrce.Kind != "" {
18561		objectMap["Kind"] = dshrce.Kind
18562	}
18563	return json.Marshal(objectMap)
18564}
18565
18566// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18567func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
18568	return nil, false
18569}
18570
18571// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18572func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
18573	return &dshrce, true
18574}
18575
18576// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18577func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
18578	return nil, false
18579}
18580
18581// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18582func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
18583	return nil, false
18584}
18585
18586// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18587func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
18588	return nil, false
18589}
18590
18591// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18592func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
18593	return nil, false
18594}
18595
18596// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18597func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
18598	return nil, false
18599}
18600
18601// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18602func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
18603	return nil, false
18604}
18605
18606// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18607func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
18608	return nil, false
18609}
18610
18611// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18612func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
18613	return nil, false
18614}
18615
18616// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18617func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
18618	return nil, false
18619}
18620
18621// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18622func (dshrce DeployedServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
18623	return nil, false
18624}
18625
18626// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18627func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
18628	return nil, false
18629}
18630
18631// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18632func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
18633	return nil, false
18634}
18635
18636// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18637func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
18638	return nil, false
18639}
18640
18641// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18642func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
18643	return nil, false
18644}
18645
18646// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18647func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
18648	return nil, false
18649}
18650
18651// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18652func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
18653	return nil, false
18654}
18655
18656// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18657func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
18658	return nil, false
18659}
18660
18661// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18662func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
18663	return nil, false
18664}
18665
18666// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18667func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
18668	return nil, false
18669}
18670
18671// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18672func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
18673	return nil, false
18674}
18675
18676// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18677func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
18678	return nil, false
18679}
18680
18681// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18682func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
18683	return nil, false
18684}
18685
18686// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18687func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
18688	return nil, false
18689}
18690
18691// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18692func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
18693	return nil, false
18694}
18695
18696// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18697func (dshrce DeployedServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
18698	return nil, false
18699}
18700
18701// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18702func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
18703	return nil, false
18704}
18705
18706// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18707func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
18708	return nil, false
18709}
18710
18711// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18712func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
18713	return nil, false
18714}
18715
18716// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18717func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
18718	return nil, false
18719}
18720
18721// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18722func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
18723	return nil, false
18724}
18725
18726// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18727func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
18728	return nil, false
18729}
18730
18731// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18732func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
18733	return nil, false
18734}
18735
18736// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18737func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
18738	return nil, false
18739}
18740
18741// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18742func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
18743	return nil, false
18744}
18745
18746// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18747func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18748	return nil, false
18749}
18750
18751// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18752func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18753	return nil, false
18754}
18755
18756// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18757func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18758	return nil, false
18759}
18760
18761// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18762func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18763	return nil, false
18764}
18765
18766// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18767func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18768	return nil, false
18769}
18770
18771// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18772func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18773	return nil, false
18774}
18775
18776// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18777func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18778	return nil, false
18779}
18780
18781// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18782func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18783	return nil, false
18784}
18785
18786// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18787func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18788	return nil, false
18789}
18790
18791// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18792func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18793	return nil, false
18794}
18795
18796// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18797func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18798	return nil, false
18799}
18800
18801// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18802func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18803	return nil, false
18804}
18805
18806// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18807func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18808	return nil, false
18809}
18810
18811// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18812func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18813	return nil, false
18814}
18815
18816// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18817func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18818	return nil, false
18819}
18820
18821// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18822func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18823	return &dshrce, true
18824}
18825
18826// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18827func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18828	return nil, false
18829}
18830
18831// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18832func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18833	return nil, false
18834}
18835
18836// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18837func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18838	return nil, false
18839}
18840
18841// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18842func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18843	return nil, false
18844}
18845
18846// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18847func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18848	return nil, false
18849}
18850
18851// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18852func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18853	return nil, false
18854}
18855
18856// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18857func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18858	return nil, false
18859}
18860
18861// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18862func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18863	return nil, false
18864}
18865
18866// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18867func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18868	return nil, false
18869}
18870
18871// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18872func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18873	return nil, false
18874}
18875
18876// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18877func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18878	return nil, false
18879}
18880
18881// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18882func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18883	return nil, false
18884}
18885
18886// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18887func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18888	return nil, false
18889}
18890
18891// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18892func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
18893	return nil, false
18894}
18895
18896// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18897func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
18898	return nil, false
18899}
18900
18901// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18902func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
18903	return nil, false
18904}
18905
18906// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18907func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
18908	return nil, false
18909}
18910
18911// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18912func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
18913	return nil, false
18914}
18915
18916// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18917func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
18918	return nil, false
18919}
18920
18921// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18922func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
18923	return nil, false
18924}
18925
18926// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18927func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
18928	return nil, false
18929}
18930
18931// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18932func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
18933	return nil, false
18934}
18935
18936// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18937func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
18938	return nil, false
18939}
18940
18941// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18942func (dshrce DeployedServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
18943	return nil, false
18944}
18945
18946// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
18947func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
18948	return &dshrce, true
18949}
18950
18951// DeployedServiceHealthReportExpiredEvent deployed Service Health Report Expired event.
18952type DeployedServiceHealthReportExpiredEvent struct {
18953	// ServiceManifest - Service manifest name.
18954	ServiceManifest *string `json:"ServiceManifest,omitempty"`
18955	// ServicePackageInstanceID - Id of Service package instance.
18956	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
18957	// ServicePackageActivationID - Id of Service package activation.
18958	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
18959	// NodeName - The name of a Service Fabric node.
18960	NodeName *string `json:"NodeName,omitempty"`
18961	// SourceID - Id of report source.
18962	SourceID *string `json:"SourceId,omitempty"`
18963	// Property - Describes the property.
18964	Property *string `json:"Property,omitempty"`
18965	// HealthState - Describes the property health state.
18966	HealthState *string `json:"HealthState,omitempty"`
18967	// TTLTimespan - Time to live in milli-seconds.
18968	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
18969	// SequenceNumber - Sequence number of report.
18970	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
18971	// Description - Description of report.
18972	Description *string `json:"Description,omitempty"`
18973	// RemoveWhenExpired - Indicates the removal when it expires.
18974	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
18975	// SourceUtcTimestamp - Source time.
18976	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
18977	// 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.
18978	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
18979	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
18980	ApplicationID *string `json:"ApplicationId,omitempty"`
18981	// EventInstanceID - The identifier for the FabricEvent instance.
18982	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
18983	// TimeStamp - The time event was logged.
18984	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
18985	// HasCorrelatedEvents - Shows there is existing related events available.
18986	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
18987	// 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'
18988	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
18989}
18990
18991// MarshalJSON is the custom marshaler for DeployedServiceHealthReportExpiredEvent.
18992func (dshree DeployedServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
18993	dshree.Kind = KindDeployedServiceHealthReportExpired
18994	objectMap := make(map[string]interface{})
18995	if dshree.ServiceManifest != nil {
18996		objectMap["ServiceManifest"] = dshree.ServiceManifest
18997	}
18998	if dshree.ServicePackageInstanceID != nil {
18999		objectMap["ServicePackageInstanceId"] = dshree.ServicePackageInstanceID
19000	}
19001	if dshree.ServicePackageActivationID != nil {
19002		objectMap["ServicePackageActivationId"] = dshree.ServicePackageActivationID
19003	}
19004	if dshree.NodeName != nil {
19005		objectMap["NodeName"] = dshree.NodeName
19006	}
19007	if dshree.SourceID != nil {
19008		objectMap["SourceId"] = dshree.SourceID
19009	}
19010	if dshree.Property != nil {
19011		objectMap["Property"] = dshree.Property
19012	}
19013	if dshree.HealthState != nil {
19014		objectMap["HealthState"] = dshree.HealthState
19015	}
19016	if dshree.TTLTimespan != nil {
19017		objectMap["TTLTimespan"] = dshree.TTLTimespan
19018	}
19019	if dshree.SequenceNumber != nil {
19020		objectMap["SequenceNumber"] = dshree.SequenceNumber
19021	}
19022	if dshree.Description != nil {
19023		objectMap["Description"] = dshree.Description
19024	}
19025	if dshree.RemoveWhenExpired != nil {
19026		objectMap["RemoveWhenExpired"] = dshree.RemoveWhenExpired
19027	}
19028	if dshree.SourceUtcTimestamp != nil {
19029		objectMap["SourceUtcTimestamp"] = dshree.SourceUtcTimestamp
19030	}
19031	if dshree.ApplicationID != nil {
19032		objectMap["ApplicationId"] = dshree.ApplicationID
19033	}
19034	if dshree.EventInstanceID != nil {
19035		objectMap["EventInstanceId"] = dshree.EventInstanceID
19036	}
19037	if dshree.TimeStamp != nil {
19038		objectMap["TimeStamp"] = dshree.TimeStamp
19039	}
19040	if dshree.HasCorrelatedEvents != nil {
19041		objectMap["HasCorrelatedEvents"] = dshree.HasCorrelatedEvents
19042	}
19043	if dshree.Kind != "" {
19044		objectMap["Kind"] = dshree.Kind
19045	}
19046	return json.Marshal(objectMap)
19047}
19048
19049// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19050func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
19051	return nil, false
19052}
19053
19054// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19055func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
19056	return &dshree, true
19057}
19058
19059// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19060func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
19061	return nil, false
19062}
19063
19064// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19065func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
19066	return nil, false
19067}
19068
19069// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19070func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
19071	return nil, false
19072}
19073
19074// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19075func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
19076	return nil, false
19077}
19078
19079// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19080func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
19081	return nil, false
19082}
19083
19084// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19085func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
19086	return nil, false
19087}
19088
19089// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19090func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
19091	return nil, false
19092}
19093
19094// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19095func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
19096	return nil, false
19097}
19098
19099// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19100func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
19101	return nil, false
19102}
19103
19104// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19105func (dshree DeployedServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
19106	return nil, false
19107}
19108
19109// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19110func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
19111	return nil, false
19112}
19113
19114// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19115func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
19116	return nil, false
19117}
19118
19119// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19120func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
19121	return nil, false
19122}
19123
19124// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19125func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
19126	return nil, false
19127}
19128
19129// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19130func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
19131	return nil, false
19132}
19133
19134// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19135func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
19136	return nil, false
19137}
19138
19139// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19140func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
19141	return nil, false
19142}
19143
19144// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19145func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
19146	return nil, false
19147}
19148
19149// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19150func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
19151	return nil, false
19152}
19153
19154// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19155func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
19156	return nil, false
19157}
19158
19159// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19160func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
19161	return nil, false
19162}
19163
19164// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19165func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
19166	return nil, false
19167}
19168
19169// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19170func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
19171	return nil, false
19172}
19173
19174// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19175func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
19176	return nil, false
19177}
19178
19179// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19180func (dshree DeployedServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
19181	return nil, false
19182}
19183
19184// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19185func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
19186	return nil, false
19187}
19188
19189// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19190func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
19191	return nil, false
19192}
19193
19194// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19195func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
19196	return nil, false
19197}
19198
19199// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19200func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
19201	return nil, false
19202}
19203
19204// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19205func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
19206	return nil, false
19207}
19208
19209// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19210func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
19211	return nil, false
19212}
19213
19214// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19215func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
19216	return nil, false
19217}
19218
19219// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19220func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
19221	return nil, false
19222}
19223
19224// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19225func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
19226	return nil, false
19227}
19228
19229// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19230func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
19231	return nil, false
19232}
19233
19234// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19235func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
19236	return nil, false
19237}
19238
19239// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19240func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
19241	return nil, false
19242}
19243
19244// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19245func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
19246	return nil, false
19247}
19248
19249// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19250func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
19251	return nil, false
19252}
19253
19254// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19255func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
19256	return nil, false
19257}
19258
19259// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19260func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
19261	return nil, false
19262}
19263
19264// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19265func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
19266	return nil, false
19267}
19268
19269// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19270func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
19271	return nil, false
19272}
19273
19274// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19275func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
19276	return nil, false
19277}
19278
19279// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19280func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
19281	return nil, false
19282}
19283
19284// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19285func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
19286	return nil, false
19287}
19288
19289// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19290func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
19291	return nil, false
19292}
19293
19294// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19295func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
19296	return nil, false
19297}
19298
19299// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19300func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
19301	return nil, false
19302}
19303
19304// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19305func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
19306	return nil, false
19307}
19308
19309// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19310func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
19311	return &dshree, true
19312}
19313
19314// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19315func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
19316	return nil, false
19317}
19318
19319// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19320func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
19321	return nil, false
19322}
19323
19324// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19325func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
19326	return nil, false
19327}
19328
19329// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19330func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
19331	return nil, false
19332}
19333
19334// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19335func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
19336	return nil, false
19337}
19338
19339// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19340func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
19341	return nil, false
19342}
19343
19344// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19345func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
19346	return nil, false
19347}
19348
19349// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19350func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
19351	return nil, false
19352}
19353
19354// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19355func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
19356	return nil, false
19357}
19358
19359// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19360func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
19361	return nil, false
19362}
19363
19364// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19365func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
19366	return nil, false
19367}
19368
19369// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19370func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
19371	return nil, false
19372}
19373
19374// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19375func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
19376	return nil, false
19377}
19378
19379// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19380func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
19381	return nil, false
19382}
19383
19384// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19385func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
19386	return nil, false
19387}
19388
19389// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19390func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
19391	return nil, false
19392}
19393
19394// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19395func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
19396	return nil, false
19397}
19398
19399// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19400func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
19401	return nil, false
19402}
19403
19404// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19405func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
19406	return nil, false
19407}
19408
19409// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19410func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
19411	return nil, false
19412}
19413
19414// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19415func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
19416	return nil, false
19417}
19418
19419// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19420func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
19421	return nil, false
19422}
19423
19424// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19425func (dshree DeployedServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
19426	return nil, false
19427}
19428
19429// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
19430func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
19431	return &dshree, true
19432}
19433
19434// DeployedServicePackageHealth information about the health of a service package for a specific
19435// application deployed on a Service Fabric node.
19436type DeployedServicePackageHealth struct {
19437	autorest.Response `json:"-"`
19438	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
19439	ApplicationName *string `json:"ApplicationName,omitempty"`
19440	// ServiceManifestName - Name of the service manifest.
19441	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19442	// NodeName - Name of the node where this service package is deployed.
19443	NodeName *string `json:"NodeName,omitempty"`
19444	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
19445	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
19446	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
19447	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19448	// HealthEvents - The list of health events reported on the entity.
19449	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
19450	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
19451	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
19452	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
19453	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
19454}
19455
19456// DeployedServicePackageHealthEvaluation represents health evaluation for a deployed service package,
19457// containing information about the data and the algorithm used by health store to evaluate health. The
19458// evaluation is returned only when the aggregated health state is either Error or Warning.
19459type DeployedServicePackageHealthEvaluation struct {
19460	// NodeName - The name of a Service Fabric node.
19461	NodeName *string `json:"NodeName,omitempty"`
19462	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
19463	ApplicationName *string `json:"ApplicationName,omitempty"`
19464	// ServiceManifestName - The name of the service manifest.
19465	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19466	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation.
19467	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
19468	// 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'
19469	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19470	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
19471	Description *string `json:"Description,omitempty"`
19472	// 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'
19473	Kind Kind `json:"Kind,omitempty"`
19474}
19475
19476// MarshalJSON is the custom marshaler for DeployedServicePackageHealthEvaluation.
19477func (dsphe DeployedServicePackageHealthEvaluation) MarshalJSON() ([]byte, error) {
19478	dsphe.Kind = KindDeployedServicePackage
19479	objectMap := make(map[string]interface{})
19480	if dsphe.NodeName != nil {
19481		objectMap["NodeName"] = dsphe.NodeName
19482	}
19483	if dsphe.ApplicationName != nil {
19484		objectMap["ApplicationName"] = dsphe.ApplicationName
19485	}
19486	if dsphe.ServiceManifestName != nil {
19487		objectMap["ServiceManifestName"] = dsphe.ServiceManifestName
19488	}
19489	if dsphe.UnhealthyEvaluations != nil {
19490		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
19491	}
19492	if dsphe.AggregatedHealthState != "" {
19493		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
19494	}
19495	if dsphe.Description != nil {
19496		objectMap["Description"] = dsphe.Description
19497	}
19498	if dsphe.Kind != "" {
19499		objectMap["Kind"] = dsphe.Kind
19500	}
19501	return json.Marshal(objectMap)
19502}
19503
19504// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19505func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
19506	return nil, false
19507}
19508
19509// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19510func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
19511	return nil, false
19512}
19513
19514// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19515func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
19516	return nil, false
19517}
19518
19519// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19520func (dsphe DeployedServicePackageHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
19521	return nil, false
19522}
19523
19524// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19525func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
19526	return nil, false
19527}
19528
19529// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19530func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
19531	return nil, false
19532}
19533
19534// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19535func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
19536	return &dsphe, true
19537}
19538
19539// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19540func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
19541	return nil, false
19542}
19543
19544// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19545func (dsphe DeployedServicePackageHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
19546	return nil, false
19547}
19548
19549// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19550func (dsphe DeployedServicePackageHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
19551	return nil, false
19552}
19553
19554// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19555func (dsphe DeployedServicePackageHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
19556	return nil, false
19557}
19558
19559// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19560func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
19561	return nil, false
19562}
19563
19564// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19565func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
19566	return nil, false
19567}
19568
19569// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19570func (dsphe DeployedServicePackageHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
19571	return nil, false
19572}
19573
19574// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19575func (dsphe DeployedServicePackageHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
19576	return nil, false
19577}
19578
19579// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19580func (dsphe DeployedServicePackageHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
19581	return nil, false
19582}
19583
19584// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19585func (dsphe DeployedServicePackageHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
19586	return nil, false
19587}
19588
19589// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19590func (dsphe DeployedServicePackageHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
19591	return nil, false
19592}
19593
19594// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19595func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
19596	return nil, false
19597}
19598
19599// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19600func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
19601	return nil, false
19602}
19603
19604// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19605func (dsphe DeployedServicePackageHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
19606	return nil, false
19607}
19608
19609// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
19610func (dsphe DeployedServicePackageHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
19611	return &dsphe, true
19612}
19613
19614// DeployedServicePackageHealthState represents the health state of a deployed service package, containing
19615// the entity identifier and the aggregated health state.
19616type DeployedServicePackageHealthState struct {
19617	// NodeName - Name of the node on which the service package is deployed.
19618	NodeName *string `json:"NodeName,omitempty"`
19619	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
19620	ApplicationName *string `json:"ApplicationName,omitempty"`
19621	// ServiceManifestName - Name of the manifest describing the service package.
19622	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19623	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
19624	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
19625	// is always an empty string.
19626	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19627	// 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'
19628	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19629}
19630
19631// DeployedServicePackageHealthStateChunk represents the health state chunk of a deployed service package,
19632// which contains the service manifest name and the service package aggregated health state.
19633type DeployedServicePackageHealthStateChunk struct {
19634	// ServiceManifestName - The name of the service manifest.
19635	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19636	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
19637	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
19638	// is always an empty string.
19639	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19640	// 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'
19641	HealthState HealthState `json:"HealthState,omitempty"`
19642}
19643
19644// DeployedServicePackageHealthStateChunkList the list of deployed service package health state chunks that
19645// respect the input filters in the chunk query. Returned by get cluster health state chunks query.
19646type DeployedServicePackageHealthStateChunkList struct {
19647	// Items - The list of deployed service package health state chunks that respect the input filters in the chunk query.
19648	Items *[]DeployedServicePackageHealthStateChunk `json:"Items,omitempty"`
19649}
19650
19651// DeployedServicePackageHealthStateFilter defines matching criteria to determine whether a deployed
19652// service package should be included as a child of a deployed application in the cluster health chunk.
19653// The deployed service packages are only returned if the parent entities match a filter specified in the
19654// cluster health chunk query description. The parent deployed application and its parent application must
19655// be included in the cluster health chunk.
19656// One filter can match zero, one or multiple deployed service packages, depending on its properties.
19657type DeployedServicePackageHealthStateFilter struct {
19658	// ServiceManifestNameFilter - The name of the service manifest which identifies the deployed service packages that matches the filter.
19659	// If specified, the filter is applied only to the specified deployed service packages, if any.
19660	// If no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.
19661	// If any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.
19662	// 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.
19663	ServiceManifestNameFilter *string `json:"ServiceManifestNameFilter,omitempty"`
19664	// ServicePackageActivationIDFilter - The activation ID of a deployed service package that matches the filter.
19665	// If not specified, the filter applies to all deployed service packages that match the other parameters.
19666	// If specified, the filter matches only the deployed service package with the specified activation ID.
19667	ServicePackageActivationIDFilter *string `json:"ServicePackageActivationIdFilter,omitempty"`
19668	// 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.
19669	// 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.
19670	// 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.
19671	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
19672	// For example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).
19673	// - Default - Default value. Matches any HealthState. The value is zero.
19674	// - 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.
19675	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
19676	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
19677	// - Error - Filter that matches input with HealthState value Error. The value is 8.
19678	// - All - Filter that matches input with any HealthState value. The value is 65535.
19679	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
19680}
19681
19682// DeployedServicePackageInfo information about service package deployed on a Service Fabric node.
19683type DeployedServicePackageInfo struct {
19684	// Name - The name of the service package as specified in the service manifest.
19685	Name *string `json:"Name,omitempty"`
19686	// Version - The version of the service package specified in service manifest.
19687	Version *string `json:"Version,omitempty"`
19688	// 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'
19689	Status DeploymentStatus `json:"Status,omitempty"`
19690	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
19691	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
19692	// is always an empty string.
19693	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19694}
19695
19696// DeployedServicePackagesHealthEvaluation represents health evaluation for deployed service packages,
19697// containing health evaluations for each unhealthy deployed service package that impacted current
19698// aggregated health state. Can be returned when evaluating deployed application health and the aggregated
19699// health state is either Error or Warning.
19700type DeployedServicePackagesHealthEvaluation struct {
19701	// TotalCount - Total number of deployed service packages of the deployed application in the health store.
19702	TotalCount *int64 `json:"TotalCount,omitempty"`
19703	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health.
19704	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
19705	// 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'
19706	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
19707	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
19708	Description *string `json:"Description,omitempty"`
19709	// 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'
19710	Kind Kind `json:"Kind,omitempty"`
19711}
19712
19713// MarshalJSON is the custom marshaler for DeployedServicePackagesHealthEvaluation.
19714func (dsphe DeployedServicePackagesHealthEvaluation) MarshalJSON() ([]byte, error) {
19715	dsphe.Kind = KindDeployedServicePackages
19716	objectMap := make(map[string]interface{})
19717	if dsphe.TotalCount != nil {
19718		objectMap["TotalCount"] = dsphe.TotalCount
19719	}
19720	if dsphe.UnhealthyEvaluations != nil {
19721		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
19722	}
19723	if dsphe.AggregatedHealthState != "" {
19724		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
19725	}
19726	if dsphe.Description != nil {
19727		objectMap["Description"] = dsphe.Description
19728	}
19729	if dsphe.Kind != "" {
19730		objectMap["Kind"] = dsphe.Kind
19731	}
19732	return json.Marshal(objectMap)
19733}
19734
19735// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19736func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
19737	return nil, false
19738}
19739
19740// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19741func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
19742	return nil, false
19743}
19744
19745// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19746func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
19747	return nil, false
19748}
19749
19750// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19751func (dsphe DeployedServicePackagesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
19752	return nil, false
19753}
19754
19755// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19756func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
19757	return nil, false
19758}
19759
19760// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19761func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
19762	return nil, false
19763}
19764
19765// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19766func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
19767	return nil, false
19768}
19769
19770// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19771func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
19772	return &dsphe, true
19773}
19774
19775// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19776func (dsphe DeployedServicePackagesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
19777	return nil, false
19778}
19779
19780// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19781func (dsphe DeployedServicePackagesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
19782	return nil, false
19783}
19784
19785// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19786func (dsphe DeployedServicePackagesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
19787	return nil, false
19788}
19789
19790// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19791func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
19792	return nil, false
19793}
19794
19795// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19796func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
19797	return nil, false
19798}
19799
19800// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19801func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
19802	return nil, false
19803}
19804
19805// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19806func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
19807	return nil, false
19808}
19809
19810// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19811func (dsphe DeployedServicePackagesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
19812	return nil, false
19813}
19814
19815// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19816func (dsphe DeployedServicePackagesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
19817	return nil, false
19818}
19819
19820// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19821func (dsphe DeployedServicePackagesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
19822	return nil, false
19823}
19824
19825// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19826func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
19827	return nil, false
19828}
19829
19830// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19831func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
19832	return nil, false
19833}
19834
19835// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19836func (dsphe DeployedServicePackagesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
19837	return nil, false
19838}
19839
19840// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
19841func (dsphe DeployedServicePackagesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
19842	return &dsphe, true
19843}
19844
19845// BasicDeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
19846type BasicDeployedServiceReplicaDetailInfo interface {
19847	AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool)
19848	AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool)
19849	AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool)
19850}
19851
19852// DeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
19853type DeployedServiceReplicaDetailInfo struct {
19854	autorest.Response `json:"-"`
19855	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
19856	ServiceName *string `json:"ServiceName,omitempty"`
19857	// 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.
19858	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
19859	// 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'
19860	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
19861	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
19862	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
19863	// ReportedLoad - List of load reported by replica.
19864	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
19865	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
19866	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
19867}
19868
19869func unmarshalBasicDeployedServiceReplicaDetailInfo(body []byte) (BasicDeployedServiceReplicaDetailInfo, error) {
19870	var m map[string]interface{}
19871	err := json.Unmarshal(body, &m)
19872	if err != nil {
19873		return nil, err
19874	}
19875
19876	switch m["ServiceKind"] {
19877	case string(ServiceKindStateful1):
19878		var dssrdi DeployedStatefulServiceReplicaDetailInfo
19879		err := json.Unmarshal(body, &dssrdi)
19880		return dssrdi, err
19881	case string(ServiceKindStateless1):
19882		var dssidi DeployedStatelessServiceInstanceDetailInfo
19883		err := json.Unmarshal(body, &dssidi)
19884		return dssidi, err
19885	default:
19886		var dsrdi DeployedServiceReplicaDetailInfo
19887		err := json.Unmarshal(body, &dsrdi)
19888		return dsrdi, err
19889	}
19890}
19891func unmarshalBasicDeployedServiceReplicaDetailInfoArray(body []byte) ([]BasicDeployedServiceReplicaDetailInfo, error) {
19892	var rawMessages []*json.RawMessage
19893	err := json.Unmarshal(body, &rawMessages)
19894	if err != nil {
19895		return nil, err
19896	}
19897
19898	dsrdiArray := make([]BasicDeployedServiceReplicaDetailInfo, len(rawMessages))
19899
19900	for index, rawMessage := range rawMessages {
19901		dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(*rawMessage)
19902		if err != nil {
19903			return nil, err
19904		}
19905		dsrdiArray[index] = dsrdi
19906	}
19907	return dsrdiArray, nil
19908}
19909
19910// MarshalJSON is the custom marshaler for DeployedServiceReplicaDetailInfo.
19911func (dsrdi DeployedServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
19912	dsrdi.ServiceKind = ServiceKindDeployedServiceReplicaDetailInfo
19913	objectMap := make(map[string]interface{})
19914	if dsrdi.ServiceName != nil {
19915		objectMap["ServiceName"] = dsrdi.ServiceName
19916	}
19917	if dsrdi.PartitionID != nil {
19918		objectMap["PartitionId"] = dsrdi.PartitionID
19919	}
19920	if dsrdi.CurrentServiceOperation != "" {
19921		objectMap["CurrentServiceOperation"] = dsrdi.CurrentServiceOperation
19922	}
19923	if dsrdi.CurrentServiceOperationStartTimeUtc != nil {
19924		objectMap["CurrentServiceOperationStartTimeUtc"] = dsrdi.CurrentServiceOperationStartTimeUtc
19925	}
19926	if dsrdi.ReportedLoad != nil {
19927		objectMap["ReportedLoad"] = dsrdi.ReportedLoad
19928	}
19929	if dsrdi.ServiceKind != "" {
19930		objectMap["ServiceKind"] = dsrdi.ServiceKind
19931	}
19932	return json.Marshal(objectMap)
19933}
19934
19935// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
19936func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
19937	return nil, false
19938}
19939
19940// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
19941func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
19942	return nil, false
19943}
19944
19945// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
19946func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
19947	return &dsrdi, true
19948}
19949
19950// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
19951func (dsrdi DeployedServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
19952	return &dsrdi, true
19953}
19954
19955// DeployedServiceReplicaDetailInfoModel ...
19956type DeployedServiceReplicaDetailInfoModel struct {
19957	autorest.Response `json:"-"`
19958	Value             BasicDeployedServiceReplicaDetailInfo `json:"value,omitempty"`
19959}
19960
19961// UnmarshalJSON is the custom unmarshaler for DeployedServiceReplicaDetailInfoModel struct.
19962func (dsrdim *DeployedServiceReplicaDetailInfoModel) UnmarshalJSON(body []byte) error {
19963	dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(body)
19964	if err != nil {
19965		return err
19966	}
19967	dsrdim.Value = dsrdi
19968
19969	return nil
19970}
19971
19972// BasicDeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
19973type BasicDeployedServiceReplicaInfo interface {
19974	AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool)
19975	AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool)
19976	AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool)
19977}
19978
19979// DeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
19980type DeployedServiceReplicaInfo struct {
19981	// ServiceName - The full name of the service with 'fabric:' URI scheme.
19982	ServiceName *string `json:"ServiceName,omitempty"`
19983	// ServiceTypeName - Name of the service type as specified in the service manifest.
19984	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
19985	// ServiceManifestName - The name of the service manifest in which this service type is defined.
19986	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
19987	// CodePackageName - The name of the code package that hosts this replica.
19988	CodePackageName *string `json:"CodePackageName,omitempty"`
19989	// 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.
19990	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
19991	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
19992	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
19993	// Address - The last address returned by the replica in Open or ChangeRole.
19994	Address *string `json:"Address,omitempty"`
19995	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
19996	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
19997	// is always an empty string.
19998	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19999	// 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.
20000	HostProcessID *string `json:"HostProcessId,omitempty"`
20001	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
20002	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
20003}
20004
20005func unmarshalBasicDeployedServiceReplicaInfo(body []byte) (BasicDeployedServiceReplicaInfo, error) {
20006	var m map[string]interface{}
20007	err := json.Unmarshal(body, &m)
20008	if err != nil {
20009		return nil, err
20010	}
20011
20012	switch m["ServiceKind"] {
20013	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful):
20014		var dssri DeployedStatefulServiceReplicaInfo
20015		err := json.Unmarshal(body, &dssri)
20016		return dssri, err
20017	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless):
20018		var dssii DeployedStatelessServiceInstanceInfo
20019		err := json.Unmarshal(body, &dssii)
20020		return dssii, err
20021	default:
20022		var dsri DeployedServiceReplicaInfo
20023		err := json.Unmarshal(body, &dsri)
20024		return dsri, err
20025	}
20026}
20027func unmarshalBasicDeployedServiceReplicaInfoArray(body []byte) ([]BasicDeployedServiceReplicaInfo, error) {
20028	var rawMessages []*json.RawMessage
20029	err := json.Unmarshal(body, &rawMessages)
20030	if err != nil {
20031		return nil, err
20032	}
20033
20034	dsriArray := make([]BasicDeployedServiceReplicaInfo, len(rawMessages))
20035
20036	for index, rawMessage := range rawMessages {
20037		dsri, err := unmarshalBasicDeployedServiceReplicaInfo(*rawMessage)
20038		if err != nil {
20039			return nil, err
20040		}
20041		dsriArray[index] = dsri
20042	}
20043	return dsriArray, nil
20044}
20045
20046// MarshalJSON is the custom marshaler for DeployedServiceReplicaInfo.
20047func (dsri DeployedServiceReplicaInfo) MarshalJSON() ([]byte, error) {
20048	dsri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo
20049	objectMap := make(map[string]interface{})
20050	if dsri.ServiceName != nil {
20051		objectMap["ServiceName"] = dsri.ServiceName
20052	}
20053	if dsri.ServiceTypeName != nil {
20054		objectMap["ServiceTypeName"] = dsri.ServiceTypeName
20055	}
20056	if dsri.ServiceManifestName != nil {
20057		objectMap["ServiceManifestName"] = dsri.ServiceManifestName
20058	}
20059	if dsri.CodePackageName != nil {
20060		objectMap["CodePackageName"] = dsri.CodePackageName
20061	}
20062	if dsri.PartitionID != nil {
20063		objectMap["PartitionId"] = dsri.PartitionID
20064	}
20065	if dsri.ReplicaStatus != "" {
20066		objectMap["ReplicaStatus"] = dsri.ReplicaStatus
20067	}
20068	if dsri.Address != nil {
20069		objectMap["Address"] = dsri.Address
20070	}
20071	if dsri.ServicePackageActivationID != nil {
20072		objectMap["ServicePackageActivationId"] = dsri.ServicePackageActivationID
20073	}
20074	if dsri.HostProcessID != nil {
20075		objectMap["HostProcessId"] = dsri.HostProcessID
20076	}
20077	if dsri.ServiceKind != "" {
20078		objectMap["ServiceKind"] = dsri.ServiceKind
20079	}
20080	return json.Marshal(objectMap)
20081}
20082
20083// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20084func (dsri DeployedServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
20085	return nil, false
20086}
20087
20088// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20089func (dsri DeployedServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
20090	return nil, false
20091}
20092
20093// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20094func (dsri DeployedServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
20095	return &dsri, true
20096}
20097
20098// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
20099func (dsri DeployedServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
20100	return &dsri, true
20101}
20102
20103// DeployedServiceTypeInfo information about service type deployed on a node, information such as the
20104// status of the service type registration on a node.
20105type DeployedServiceTypeInfo struct {
20106	// ServiceTypeName - Name of the service type as specified in the service manifest.
20107	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
20108	// ServiceManifestName - The name of the service manifest in which this service type is defined.
20109	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20110	// CodePackageName - The name of the code package that registered the service type.
20111	CodePackageName *string `json:"CodePackageName,omitempty"`
20112	// Status - The status of the service type registration on the node. Possible values include: 'ServiceTypeRegistrationStatusInvalid', 'ServiceTypeRegistrationStatusDisabled', 'ServiceTypeRegistrationStatusEnabled', 'ServiceTypeRegistrationStatusRegistered'
20113	Status ServiceTypeRegistrationStatus `json:"Status,omitempty"`
20114	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
20115	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
20116	// is always an empty string.
20117	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
20118}
20119
20120// DeployedStatefulServiceReplicaDetailInfo information about a stateful replica running in a code package.
20121// Please note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName,
20122// PartitionId and replicaId.
20123type DeployedStatefulServiceReplicaDetailInfo struct {
20124	// 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.
20125	ReplicaID *string `json:"ReplicaId,omitempty"`
20126	// CurrentReplicatorOperation - Specifies the operation currently being executed by the Replicator. Possible values include: 'ReplicatorOperationNameInvalid', 'ReplicatorOperationNameNone', 'ReplicatorOperationNameOpen', 'ReplicatorOperationNameChangeRole', 'ReplicatorOperationNameUpdateEpoch', 'ReplicatorOperationNameClose', 'ReplicatorOperationNameAbort', 'ReplicatorOperationNameOnDataLoss', 'ReplicatorOperationNameWaitForCatchup', 'ReplicatorOperationNameBuild'
20127	CurrentReplicatorOperation ReplicatorOperationName `json:"CurrentReplicatorOperation,omitempty"`
20128	// ReadStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
20129	ReadStatus PartitionAccessStatus `json:"ReadStatus,omitempty"`
20130	// WriteStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
20131	WriteStatus PartitionAccessStatus `json:"WriteStatus,omitempty"`
20132	// ReplicatorStatus - Represents a base class for primary or secondary replicator status.
20133	// Contains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.
20134	ReplicatorStatus BasicReplicatorStatus `json:"ReplicatorStatus,omitempty"`
20135	// ReplicaStatus - Key value store related information for the replica.
20136	ReplicaStatus *KeyValueStoreReplicaStatus `json:"ReplicaStatus,omitempty"`
20137	// DeployedServiceReplicaQueryResult - Information about a stateful service replica deployed on a node.
20138	DeployedServiceReplicaQueryResult *DeployedStatefulServiceReplicaInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
20139	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
20140	ServiceName *string `json:"ServiceName,omitempty"`
20141	// 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.
20142	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20143	// 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'
20144	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
20145	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
20146	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
20147	// ReportedLoad - List of load reported by replica.
20148	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
20149	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
20150	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
20151}
20152
20153// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaDetailInfo.
20154func (dssrdi DeployedStatefulServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
20155	dssrdi.ServiceKind = ServiceKindStateful1
20156	objectMap := make(map[string]interface{})
20157	if dssrdi.ReplicaID != nil {
20158		objectMap["ReplicaId"] = dssrdi.ReplicaID
20159	}
20160	if dssrdi.CurrentReplicatorOperation != "" {
20161		objectMap["CurrentReplicatorOperation"] = dssrdi.CurrentReplicatorOperation
20162	}
20163	if dssrdi.ReadStatus != "" {
20164		objectMap["ReadStatus"] = dssrdi.ReadStatus
20165	}
20166	if dssrdi.WriteStatus != "" {
20167		objectMap["WriteStatus"] = dssrdi.WriteStatus
20168	}
20169	objectMap["ReplicatorStatus"] = dssrdi.ReplicatorStatus
20170	if dssrdi.ReplicaStatus != nil {
20171		objectMap["ReplicaStatus"] = dssrdi.ReplicaStatus
20172	}
20173	if dssrdi.DeployedServiceReplicaQueryResult != nil {
20174		objectMap["DeployedServiceReplicaQueryResult"] = dssrdi.DeployedServiceReplicaQueryResult
20175	}
20176	if dssrdi.ServiceName != nil {
20177		objectMap["ServiceName"] = dssrdi.ServiceName
20178	}
20179	if dssrdi.PartitionID != nil {
20180		objectMap["PartitionId"] = dssrdi.PartitionID
20181	}
20182	if dssrdi.CurrentServiceOperation != "" {
20183		objectMap["CurrentServiceOperation"] = dssrdi.CurrentServiceOperation
20184	}
20185	if dssrdi.CurrentServiceOperationStartTimeUtc != nil {
20186		objectMap["CurrentServiceOperationStartTimeUtc"] = dssrdi.CurrentServiceOperationStartTimeUtc
20187	}
20188	if dssrdi.ReportedLoad != nil {
20189		objectMap["ReportedLoad"] = dssrdi.ReportedLoad
20190	}
20191	if dssrdi.ServiceKind != "" {
20192		objectMap["ServiceKind"] = dssrdi.ServiceKind
20193	}
20194	return json.Marshal(objectMap)
20195}
20196
20197// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20198func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
20199	return &dssrdi, true
20200}
20201
20202// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20203func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
20204	return nil, false
20205}
20206
20207// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20208func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
20209	return nil, false
20210}
20211
20212// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
20213func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
20214	return &dssrdi, true
20215}
20216
20217// UnmarshalJSON is the custom unmarshaler for DeployedStatefulServiceReplicaDetailInfo struct.
20218func (dssrdi *DeployedStatefulServiceReplicaDetailInfo) UnmarshalJSON(body []byte) error {
20219	var m map[string]*json.RawMessage
20220	err := json.Unmarshal(body, &m)
20221	if err != nil {
20222		return err
20223	}
20224	for k, v := range m {
20225		switch k {
20226		case "ReplicaId":
20227			if v != nil {
20228				var replicaID string
20229				err = json.Unmarshal(*v, &replicaID)
20230				if err != nil {
20231					return err
20232				}
20233				dssrdi.ReplicaID = &replicaID
20234			}
20235		case "CurrentReplicatorOperation":
20236			if v != nil {
20237				var currentReplicatorOperation ReplicatorOperationName
20238				err = json.Unmarshal(*v, &currentReplicatorOperation)
20239				if err != nil {
20240					return err
20241				}
20242				dssrdi.CurrentReplicatorOperation = currentReplicatorOperation
20243			}
20244		case "ReadStatus":
20245			if v != nil {
20246				var readStatus PartitionAccessStatus
20247				err = json.Unmarshal(*v, &readStatus)
20248				if err != nil {
20249					return err
20250				}
20251				dssrdi.ReadStatus = readStatus
20252			}
20253		case "WriteStatus":
20254			if v != nil {
20255				var writeStatus PartitionAccessStatus
20256				err = json.Unmarshal(*v, &writeStatus)
20257				if err != nil {
20258					return err
20259				}
20260				dssrdi.WriteStatus = writeStatus
20261			}
20262		case "ReplicatorStatus":
20263			if v != nil {
20264				replicatorStatus, err := unmarshalBasicReplicatorStatus(*v)
20265				if err != nil {
20266					return err
20267				}
20268				dssrdi.ReplicatorStatus = replicatorStatus
20269			}
20270		case "ReplicaStatus":
20271			if v != nil {
20272				var replicaStatus KeyValueStoreReplicaStatus
20273				err = json.Unmarshal(*v, &replicaStatus)
20274				if err != nil {
20275					return err
20276				}
20277				dssrdi.ReplicaStatus = &replicaStatus
20278			}
20279		case "DeployedServiceReplicaQueryResult":
20280			if v != nil {
20281				var deployedServiceReplicaQueryResult DeployedStatefulServiceReplicaInfo
20282				err = json.Unmarshal(*v, &deployedServiceReplicaQueryResult)
20283				if err != nil {
20284					return err
20285				}
20286				dssrdi.DeployedServiceReplicaQueryResult = &deployedServiceReplicaQueryResult
20287			}
20288		case "ServiceName":
20289			if v != nil {
20290				var serviceName string
20291				err = json.Unmarshal(*v, &serviceName)
20292				if err != nil {
20293					return err
20294				}
20295				dssrdi.ServiceName = &serviceName
20296			}
20297		case "PartitionId":
20298			if v != nil {
20299				var partitionID uuid.UUID
20300				err = json.Unmarshal(*v, &partitionID)
20301				if err != nil {
20302					return err
20303				}
20304				dssrdi.PartitionID = &partitionID
20305			}
20306		case "CurrentServiceOperation":
20307			if v != nil {
20308				var currentServiceOperation ServiceOperationName
20309				err = json.Unmarshal(*v, &currentServiceOperation)
20310				if err != nil {
20311					return err
20312				}
20313				dssrdi.CurrentServiceOperation = currentServiceOperation
20314			}
20315		case "CurrentServiceOperationStartTimeUtc":
20316			if v != nil {
20317				var currentServiceOperationStartTimeUtc date.Time
20318				err = json.Unmarshal(*v, &currentServiceOperationStartTimeUtc)
20319				if err != nil {
20320					return err
20321				}
20322				dssrdi.CurrentServiceOperationStartTimeUtc = &currentServiceOperationStartTimeUtc
20323			}
20324		case "ReportedLoad":
20325			if v != nil {
20326				var reportedLoad []LoadMetricReportInfo
20327				err = json.Unmarshal(*v, &reportedLoad)
20328				if err != nil {
20329					return err
20330				}
20331				dssrdi.ReportedLoad = &reportedLoad
20332			}
20333		case "ServiceKind":
20334			if v != nil {
20335				var serviceKind ServiceKindBasicDeployedServiceReplicaDetailInfo
20336				err = json.Unmarshal(*v, &serviceKind)
20337				if err != nil {
20338					return err
20339				}
20340				dssrdi.ServiceKind = serviceKind
20341			}
20342		}
20343	}
20344
20345	return nil
20346}
20347
20348// DeployedStatefulServiceReplicaInfo information about a stateful service replica deployed on a node.
20349type DeployedStatefulServiceReplicaInfo struct {
20350	// 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.
20351	ReplicaID *string `json:"ReplicaId,omitempty"`
20352	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
20353	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
20354	// ReconfigurationInformation - Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.
20355	ReconfigurationInformation *ReconfigurationInformation `json:"ReconfigurationInformation,omitempty"`
20356	// ServiceName - The full name of the service with 'fabric:' URI scheme.
20357	ServiceName *string `json:"ServiceName,omitempty"`
20358	// ServiceTypeName - Name of the service type as specified in the service manifest.
20359	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
20360	// ServiceManifestName - The name of the service manifest in which this service type is defined.
20361	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20362	// CodePackageName - The name of the code package that hosts this replica.
20363	CodePackageName *string `json:"CodePackageName,omitempty"`
20364	// 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.
20365	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20366	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
20367	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
20368	// Address - The last address returned by the replica in Open or ChangeRole.
20369	Address *string `json:"Address,omitempty"`
20370	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
20371	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
20372	// is always an empty string.
20373	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
20374	// 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.
20375	HostProcessID *string `json:"HostProcessId,omitempty"`
20376	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
20377	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
20378}
20379
20380// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaInfo.
20381func (dssri DeployedStatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
20382	dssri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful
20383	objectMap := make(map[string]interface{})
20384	if dssri.ReplicaID != nil {
20385		objectMap["ReplicaId"] = dssri.ReplicaID
20386	}
20387	if dssri.ReplicaRole != "" {
20388		objectMap["ReplicaRole"] = dssri.ReplicaRole
20389	}
20390	if dssri.ReconfigurationInformation != nil {
20391		objectMap["ReconfigurationInformation"] = dssri.ReconfigurationInformation
20392	}
20393	if dssri.ServiceName != nil {
20394		objectMap["ServiceName"] = dssri.ServiceName
20395	}
20396	if dssri.ServiceTypeName != nil {
20397		objectMap["ServiceTypeName"] = dssri.ServiceTypeName
20398	}
20399	if dssri.ServiceManifestName != nil {
20400		objectMap["ServiceManifestName"] = dssri.ServiceManifestName
20401	}
20402	if dssri.CodePackageName != nil {
20403		objectMap["CodePackageName"] = dssri.CodePackageName
20404	}
20405	if dssri.PartitionID != nil {
20406		objectMap["PartitionId"] = dssri.PartitionID
20407	}
20408	if dssri.ReplicaStatus != "" {
20409		objectMap["ReplicaStatus"] = dssri.ReplicaStatus
20410	}
20411	if dssri.Address != nil {
20412		objectMap["Address"] = dssri.Address
20413	}
20414	if dssri.ServicePackageActivationID != nil {
20415		objectMap["ServicePackageActivationId"] = dssri.ServicePackageActivationID
20416	}
20417	if dssri.HostProcessID != nil {
20418		objectMap["HostProcessId"] = dssri.HostProcessID
20419	}
20420	if dssri.ServiceKind != "" {
20421		objectMap["ServiceKind"] = dssri.ServiceKind
20422	}
20423	return json.Marshal(objectMap)
20424}
20425
20426// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20427func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
20428	return &dssri, true
20429}
20430
20431// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20432func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
20433	return nil, false
20434}
20435
20436// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20437func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
20438	return nil, false
20439}
20440
20441// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
20442func (dssri DeployedStatefulServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
20443	return &dssri, true
20444}
20445
20446// DeployedStatelessServiceInstanceDetailInfo information about a stateless instance running in a code
20447// package. Please note that DeployedServiceReplicaQueryResult will contain duplicate data like
20448// ServiceKind, ServiceName, PartitionId and InstanceId.
20449type DeployedStatelessServiceInstanceDetailInfo struct {
20450	// 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.
20451	InstanceID *string `json:"InstanceId,omitempty"`
20452	// DeployedServiceReplicaQueryResult - Information about a stateless service instance deployed on a node.
20453	DeployedServiceReplicaQueryResult *DeployedStatelessServiceInstanceInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
20454	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
20455	ServiceName *string `json:"ServiceName,omitempty"`
20456	// 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.
20457	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20458	// 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'
20459	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
20460	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
20461	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
20462	// ReportedLoad - List of load reported by replica.
20463	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
20464	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
20465	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
20466}
20467
20468// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceDetailInfo.
20469func (dssidi DeployedStatelessServiceInstanceDetailInfo) MarshalJSON() ([]byte, error) {
20470	dssidi.ServiceKind = ServiceKindStateless1
20471	objectMap := make(map[string]interface{})
20472	if dssidi.InstanceID != nil {
20473		objectMap["InstanceId"] = dssidi.InstanceID
20474	}
20475	if dssidi.DeployedServiceReplicaQueryResult != nil {
20476		objectMap["DeployedServiceReplicaQueryResult"] = dssidi.DeployedServiceReplicaQueryResult
20477	}
20478	if dssidi.ServiceName != nil {
20479		objectMap["ServiceName"] = dssidi.ServiceName
20480	}
20481	if dssidi.PartitionID != nil {
20482		objectMap["PartitionId"] = dssidi.PartitionID
20483	}
20484	if dssidi.CurrentServiceOperation != "" {
20485		objectMap["CurrentServiceOperation"] = dssidi.CurrentServiceOperation
20486	}
20487	if dssidi.CurrentServiceOperationStartTimeUtc != nil {
20488		objectMap["CurrentServiceOperationStartTimeUtc"] = dssidi.CurrentServiceOperationStartTimeUtc
20489	}
20490	if dssidi.ReportedLoad != nil {
20491		objectMap["ReportedLoad"] = dssidi.ReportedLoad
20492	}
20493	if dssidi.ServiceKind != "" {
20494		objectMap["ServiceKind"] = dssidi.ServiceKind
20495	}
20496	return json.Marshal(objectMap)
20497}
20498
20499// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20500func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
20501	return nil, false
20502}
20503
20504// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20505func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
20506	return &dssidi, true
20507}
20508
20509// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20510func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
20511	return nil, false
20512}
20513
20514// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
20515func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
20516	return &dssidi, true
20517}
20518
20519// DeployedStatelessServiceInstanceInfo information about a stateless service instance deployed on a node.
20520type DeployedStatelessServiceInstanceInfo struct {
20521	// 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.
20522	InstanceID *string `json:"InstanceId,omitempty"`
20523	// ServiceName - The full name of the service with 'fabric:' URI scheme.
20524	ServiceName *string `json:"ServiceName,omitempty"`
20525	// ServiceTypeName - Name of the service type as specified in the service manifest.
20526	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
20527	// ServiceManifestName - The name of the service manifest in which this service type is defined.
20528	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20529	// CodePackageName - The name of the code package that hosts this replica.
20530	CodePackageName *string `json:"CodePackageName,omitempty"`
20531	// 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.
20532	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20533	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
20534	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
20535	// Address - The last address returned by the replica in Open or ChangeRole.
20536	Address *string `json:"Address,omitempty"`
20537	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
20538	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
20539	// is always an empty string.
20540	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
20541	// 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.
20542	HostProcessID *string `json:"HostProcessId,omitempty"`
20543	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
20544	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
20545}
20546
20547// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceInfo.
20548func (dssii DeployedStatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
20549	dssii.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless
20550	objectMap := make(map[string]interface{})
20551	if dssii.InstanceID != nil {
20552		objectMap["InstanceId"] = dssii.InstanceID
20553	}
20554	if dssii.ServiceName != nil {
20555		objectMap["ServiceName"] = dssii.ServiceName
20556	}
20557	if dssii.ServiceTypeName != nil {
20558		objectMap["ServiceTypeName"] = dssii.ServiceTypeName
20559	}
20560	if dssii.ServiceManifestName != nil {
20561		objectMap["ServiceManifestName"] = dssii.ServiceManifestName
20562	}
20563	if dssii.CodePackageName != nil {
20564		objectMap["CodePackageName"] = dssii.CodePackageName
20565	}
20566	if dssii.PartitionID != nil {
20567		objectMap["PartitionId"] = dssii.PartitionID
20568	}
20569	if dssii.ReplicaStatus != "" {
20570		objectMap["ReplicaStatus"] = dssii.ReplicaStatus
20571	}
20572	if dssii.Address != nil {
20573		objectMap["Address"] = dssii.Address
20574	}
20575	if dssii.ServicePackageActivationID != nil {
20576		objectMap["ServicePackageActivationId"] = dssii.ServicePackageActivationID
20577	}
20578	if dssii.HostProcessID != nil {
20579		objectMap["HostProcessId"] = dssii.HostProcessID
20580	}
20581	if dssii.ServiceKind != "" {
20582		objectMap["ServiceKind"] = dssii.ServiceKind
20583	}
20584	return json.Marshal(objectMap)
20585}
20586
20587// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20588func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
20589	return nil, false
20590}
20591
20592// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20593func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
20594	return &dssii, true
20595}
20596
20597// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20598func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
20599	return nil, false
20600}
20601
20602// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
20603func (dssii DeployedStatelessServiceInstanceInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
20604	return &dssii, true
20605}
20606
20607// DeployServicePackageToNodeDescription defines description for downloading packages associated with a
20608// service manifest to image cache on a Service Fabric node.
20609type DeployServicePackageToNodeDescription struct {
20610	// ServiceManifestName - The name of service manifest whose packages need to be downloaded.
20611	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
20612	// ApplicationTypeName - The application type name as defined in the application manifest.
20613	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
20614	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
20615	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
20616	// NodeName - The name of a Service Fabric node.
20617	NodeName *string `json:"NodeName,omitempty"`
20618	// PackageSharingPolicy - List of package sharing policy information.
20619	PackageSharingPolicy *[]PackageSharingPolicyInfo `json:"PackageSharingPolicy,omitempty"`
20620}
20621
20622// DoublePropertyValue describes a Service Fabric property value of type Double.
20623type DoublePropertyValue struct {
20624	// Data - The data of the property value.
20625	Data *float64 `json:"Data,omitempty"`
20626	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
20627	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
20628}
20629
20630// MarshalJSON is the custom marshaler for DoublePropertyValue.
20631func (dpv DoublePropertyValue) MarshalJSON() ([]byte, error) {
20632	dpv.Kind = KindDouble
20633	objectMap := make(map[string]interface{})
20634	if dpv.Data != nil {
20635		objectMap["Data"] = dpv.Data
20636	}
20637	if dpv.Kind != "" {
20638		objectMap["Kind"] = dpv.Kind
20639	}
20640	return json.Marshal(objectMap)
20641}
20642
20643// AsBinaryPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
20644func (dpv DoublePropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
20645	return nil, false
20646}
20647
20648// AsInt64PropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
20649func (dpv DoublePropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
20650	return nil, false
20651}
20652
20653// AsDoublePropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
20654func (dpv DoublePropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
20655	return &dpv, true
20656}
20657
20658// AsStringPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
20659func (dpv DoublePropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
20660	return nil, false
20661}
20662
20663// AsGUIDPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
20664func (dpv DoublePropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
20665	return nil, false
20666}
20667
20668// AsPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
20669func (dpv DoublePropertyValue) AsPropertyValue() (*PropertyValue, bool) {
20670	return nil, false
20671}
20672
20673// AsBasicPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
20674func (dpv DoublePropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
20675	return &dpv, true
20676}
20677
20678// EnableBackupDescription specifies the parameters needed to enable periodic backup.
20679type EnableBackupDescription struct {
20680	// BackupPolicyName - Name of the backup policy to be used for enabling periodic backups.
20681	BackupPolicyName *string `json:"BackupPolicyName,omitempty"`
20682}
20683
20684// EnsureAvailabilitySafetyCheck safety check that waits to ensure the availability of the partition. It
20685// waits until there are replicas available such that bringing down this replica will not cause
20686// availability loss for the partition.
20687type EnsureAvailabilitySafetyCheck struct {
20688	// PartitionID - Id of the partition which is undergoing the safety check.
20689	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20690	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
20691	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
20692}
20693
20694// MarshalJSON is the custom marshaler for EnsureAvailabilitySafetyCheck.
20695func (easc EnsureAvailabilitySafetyCheck) MarshalJSON() ([]byte, error) {
20696	easc.Kind = KindEnsureAvailability
20697	objectMap := make(map[string]interface{})
20698	if easc.PartitionID != nil {
20699		objectMap["PartitionId"] = easc.PartitionID
20700	}
20701	if easc.Kind != "" {
20702		objectMap["Kind"] = easc.Kind
20703	}
20704	return json.Marshal(objectMap)
20705}
20706
20707// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20708func (easc EnsureAvailabilitySafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
20709	return nil, false
20710}
20711
20712// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20713func (easc EnsureAvailabilitySafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
20714	return &easc, true
20715}
20716
20717// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20718func (easc EnsureAvailabilitySafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
20719	return &easc, true
20720}
20721
20722// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20723func (easc EnsureAvailabilitySafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
20724	return nil, false
20725}
20726
20727// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20728func (easc EnsureAvailabilitySafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
20729	return nil, false
20730}
20731
20732// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20733func (easc EnsureAvailabilitySafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
20734	return nil, false
20735}
20736
20737// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20738func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
20739	return nil, false
20740}
20741
20742// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20743func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
20744	return nil, false
20745}
20746
20747// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20748func (easc EnsureAvailabilitySafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
20749	return nil, false
20750}
20751
20752// AsSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20753func (easc EnsureAvailabilitySafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
20754	return nil, false
20755}
20756
20757// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
20758func (easc EnsureAvailabilitySafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
20759	return &easc, true
20760}
20761
20762// EnsurePartitionQurumSafetyCheck safety check that ensures that a quorum of replicas are not lost for a
20763// partition.
20764type EnsurePartitionQurumSafetyCheck struct {
20765	// PartitionID - Id of the partition which is undergoing the safety check.
20766	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
20767	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
20768	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
20769}
20770
20771// MarshalJSON is the custom marshaler for EnsurePartitionQurumSafetyCheck.
20772func (epqsc EnsurePartitionQurumSafetyCheck) MarshalJSON() ([]byte, error) {
20773	epqsc.Kind = KindEnsurePartitionQuorum
20774	objectMap := make(map[string]interface{})
20775	if epqsc.PartitionID != nil {
20776		objectMap["PartitionId"] = epqsc.PartitionID
20777	}
20778	if epqsc.Kind != "" {
20779		objectMap["Kind"] = epqsc.Kind
20780	}
20781	return json.Marshal(objectMap)
20782}
20783
20784// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20785func (epqsc EnsurePartitionQurumSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
20786	return nil, false
20787}
20788
20789// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20790func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
20791	return &epqsc, true
20792}
20793
20794// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20795func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
20796	return nil, false
20797}
20798
20799// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20800func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
20801	return &epqsc, true
20802}
20803
20804// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20805func (epqsc EnsurePartitionQurumSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
20806	return nil, false
20807}
20808
20809// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20810func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
20811	return nil, false
20812}
20813
20814// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20815func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
20816	return nil, false
20817}
20818
20819// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20820func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
20821	return nil, false
20822}
20823
20824// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20825func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
20826	return nil, false
20827}
20828
20829// AsSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20830func (epqsc EnsurePartitionQurumSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
20831	return nil, false
20832}
20833
20834// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
20835func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
20836	return &epqsc, true
20837}
20838
20839// EntityHealth health information common to all entities in the cluster. It contains the aggregated health
20840// state, health events and unhealthy evaluation.
20841type EntityHealth struct {
20842	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
20843	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
20844	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
20845	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20846	// HealthEvents - The list of health events reported on the entity.
20847	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
20848	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
20849	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
20850	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
20851	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
20852}
20853
20854// EntityHealthState a base type for the health state of various entities in the cluster. It contains the
20855// aggregated health state.
20856type EntityHealthState struct {
20857	// 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'
20858	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20859}
20860
20861// EntityHealthStateChunk a base type for the health state chunk of various entities in the cluster. It
20862// contains the aggregated health state.
20863type EntityHealthStateChunk struct {
20864	// 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'
20865	HealthState HealthState `json:"HealthState,omitempty"`
20866}
20867
20868// EntityHealthStateChunkList a base type for the list of health state chunks found in the cluster. It
20869// contains the total number of health states that match the input filters.
20870type EntityHealthStateChunkList struct {
20871	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
20872	TotalCount *int64 `json:"TotalCount,omitempty"`
20873}
20874
20875// EntityKindHealthStateCount represents health state count for entities of the specified entity kind.
20876type EntityKindHealthStateCount struct {
20877	// EntityKind - The entity kind for which health states are evaluated. Possible values include: 'EntityKindInvalid', 'EntityKindNode', 'EntityKindPartition', 'EntityKindService', 'EntityKindApplication', 'EntityKindReplica', 'EntityKindDeployedApplication', 'EntityKindDeployedServicePackage', 'EntityKindCluster'
20878	EntityKind EntityKind `json:"EntityKind,omitempty"`
20879	// HealthStateCount - The health state count for the entities of the specified kind.
20880	HealthStateCount *HealthStateCount `json:"HealthStateCount,omitempty"`
20881}
20882
20883// Epoch an Epoch is a configuration number for the partition as a whole. When the configuration of the
20884// replica set changes, for example when the Primary replica changes, the operations that are replicated
20885// from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary
20886// replica.
20887type Epoch struct {
20888	// 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.
20889	ConfigurationVersion *string `json:"ConfigurationVersion,omitempty"`
20890	// 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.
20891	DataLossVersion *string `json:"DataLossVersion,omitempty"`
20892}
20893
20894// EventHealthEvaluation represents health evaluation of a HealthEvent that was reported on the entity.
20895// The health evaluation is returned when evaluating health of an entity results in Error or Warning.
20896type EventHealthEvaluation struct {
20897	// 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.
20898	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
20899	// UnhealthyEvent - Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.
20900	UnhealthyEvent *HealthEvent `json:"UnhealthyEvent,omitempty"`
20901	// 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'
20902	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20903	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
20904	Description *string `json:"Description,omitempty"`
20905	// 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'
20906	Kind Kind `json:"Kind,omitempty"`
20907}
20908
20909// MarshalJSON is the custom marshaler for EventHealthEvaluation.
20910func (ehe EventHealthEvaluation) MarshalJSON() ([]byte, error) {
20911	ehe.Kind = KindEvent
20912	objectMap := make(map[string]interface{})
20913	if ehe.ConsiderWarningAsError != nil {
20914		objectMap["ConsiderWarningAsError"] = ehe.ConsiderWarningAsError
20915	}
20916	if ehe.UnhealthyEvent != nil {
20917		objectMap["UnhealthyEvent"] = ehe.UnhealthyEvent
20918	}
20919	if ehe.AggregatedHealthState != "" {
20920		objectMap["AggregatedHealthState"] = ehe.AggregatedHealthState
20921	}
20922	if ehe.Description != nil {
20923		objectMap["Description"] = ehe.Description
20924	}
20925	if ehe.Kind != "" {
20926		objectMap["Kind"] = ehe.Kind
20927	}
20928	return json.Marshal(objectMap)
20929}
20930
20931// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20932func (ehe EventHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
20933	return nil, false
20934}
20935
20936// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20937func (ehe EventHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
20938	return nil, false
20939}
20940
20941// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20942func (ehe EventHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
20943	return nil, false
20944}
20945
20946// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20947func (ehe EventHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
20948	return nil, false
20949}
20950
20951// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20952func (ehe EventHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
20953	return nil, false
20954}
20955
20956// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20957func (ehe EventHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
20958	return nil, false
20959}
20960
20961// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20962func (ehe EventHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
20963	return nil, false
20964}
20965
20966// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20967func (ehe EventHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
20968	return nil, false
20969}
20970
20971// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20972func (ehe EventHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
20973	return &ehe, true
20974}
20975
20976// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20977func (ehe EventHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
20978	return nil, false
20979}
20980
20981// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20982func (ehe EventHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
20983	return nil, false
20984}
20985
20986// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20987func (ehe EventHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
20988	return nil, false
20989}
20990
20991// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20992func (ehe EventHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
20993	return nil, false
20994}
20995
20996// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
20997func (ehe EventHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
20998	return nil, false
20999}
21000
21001// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21002func (ehe EventHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
21003	return nil, false
21004}
21005
21006// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21007func (ehe EventHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
21008	return nil, false
21009}
21010
21011// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21012func (ehe EventHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
21013	return nil, false
21014}
21015
21016// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21017func (ehe EventHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
21018	return nil, false
21019}
21020
21021// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21022func (ehe EventHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
21023	return nil, false
21024}
21025
21026// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21027func (ehe EventHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
21028	return nil, false
21029}
21030
21031// AsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21032func (ehe EventHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
21033	return nil, false
21034}
21035
21036// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
21037func (ehe EventHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
21038	return &ehe, true
21039}
21040
21041// ExecutingFaultsChaosEvent describes a Chaos event that gets generated when Chaos has decided on the
21042// faults for an iteration. This Chaos event contains the details of the faults as a list of strings.
21043type ExecutingFaultsChaosEvent struct {
21044	// Faults - List of string description of the faults that Chaos decided to execute in an iteration.
21045	Faults *[]string `json:"Faults,omitempty"`
21046	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
21047	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
21048	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
21049	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
21050}
21051
21052// MarshalJSON is the custom marshaler for ExecutingFaultsChaosEvent.
21053func (efce ExecutingFaultsChaosEvent) MarshalJSON() ([]byte, error) {
21054	efce.Kind = KindExecutingFaults
21055	objectMap := make(map[string]interface{})
21056	if efce.Faults != nil {
21057		objectMap["Faults"] = efce.Faults
21058	}
21059	if efce.TimeStampUtc != nil {
21060		objectMap["TimeStampUtc"] = efce.TimeStampUtc
21061	}
21062	if efce.Kind != "" {
21063		objectMap["Kind"] = efce.Kind
21064	}
21065	return json.Marshal(objectMap)
21066}
21067
21068// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21069func (efce ExecutingFaultsChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
21070	return &efce, true
21071}
21072
21073// AsStartedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21074func (efce ExecutingFaultsChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
21075	return nil, false
21076}
21077
21078// AsStoppedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21079func (efce ExecutingFaultsChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
21080	return nil, false
21081}
21082
21083// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21084func (efce ExecutingFaultsChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
21085	return nil, false
21086}
21087
21088// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21089func (efce ExecutingFaultsChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
21090	return nil, false
21091}
21092
21093// AsWaitingChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21094func (efce ExecutingFaultsChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
21095	return nil, false
21096}
21097
21098// AsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21099func (efce ExecutingFaultsChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
21100	return nil, false
21101}
21102
21103// AsBasicChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
21104func (efce ExecutingFaultsChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
21105	return &efce, true
21106}
21107
21108// ExternalStoreProvisionApplicationTypeDescription describes the operation to register or provision an
21109// application type using an application package from an external store instead of a package uploaded to
21110// the Service Fabric image store.
21111type ExternalStoreProvisionApplicationTypeDescription struct {
21112	// 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.
21113	ApplicationPackageDownloadURI *string `json:"ApplicationPackageDownloadUri,omitempty"`
21114	// ApplicationTypeName - The application type name represents the name of the application type found in the application manifest.
21115	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
21116	// ApplicationTypeVersion - The application type version represents the version of the application type found in the application manifest.
21117	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
21118	// 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.
21119	Async *bool `json:"Async,omitempty"`
21120	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
21121	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
21122}
21123
21124// MarshalJSON is the custom marshaler for ExternalStoreProvisionApplicationTypeDescription.
21125func (espatd ExternalStoreProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
21126	espatd.Kind = KindExternalStore
21127	objectMap := make(map[string]interface{})
21128	if espatd.ApplicationPackageDownloadURI != nil {
21129		objectMap["ApplicationPackageDownloadUri"] = espatd.ApplicationPackageDownloadURI
21130	}
21131	if espatd.ApplicationTypeName != nil {
21132		objectMap["ApplicationTypeName"] = espatd.ApplicationTypeName
21133	}
21134	if espatd.ApplicationTypeVersion != nil {
21135		objectMap["ApplicationTypeVersion"] = espatd.ApplicationTypeVersion
21136	}
21137	if espatd.Async != nil {
21138		objectMap["Async"] = espatd.Async
21139	}
21140	if espatd.Kind != "" {
21141		objectMap["Kind"] = espatd.Kind
21142	}
21143	return json.Marshal(objectMap)
21144}
21145
21146// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21147func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
21148	return nil, false
21149}
21150
21151// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21152func (espatd ExternalStoreProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
21153	return &espatd, true
21154}
21155
21156// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21157func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
21158	return nil, false
21159}
21160
21161// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
21162func (espatd ExternalStoreProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
21163	return &espatd, true
21164}
21165
21166// FabricCodeVersionInfo information about a Service Fabric code version.
21167type FabricCodeVersionInfo struct {
21168	// CodeVersion - The product version of Service Fabric.
21169	CodeVersion *string `json:"CodeVersion,omitempty"`
21170}
21171
21172// FabricConfigVersionInfo information about a Service Fabric config version.
21173type FabricConfigVersionInfo struct {
21174	// ConfigVersion - The config version of Service Fabric.
21175	ConfigVersion *string `json:"ConfigVersion,omitempty"`
21176}
21177
21178// FabricError the REST API operations for Service Fabric return standard HTTP status codes. This type
21179// defines the additional information returned from the Service Fabric API operations that are not
21180// successful.
21181type FabricError struct {
21182	// Error - Error object containing error code and error message.
21183	Error *FabricErrorError `json:"Error,omitempty"`
21184}
21185
21186// FabricErrorError error object containing error code and error message.
21187type FabricErrorError struct {
21188	// 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.
21189	//   - Possible values of the error code for HTTP status code 400 (Bad Request)
21190	//     - "FABRIC_E_INVALID_PARTITION_KEY"
21191	//     - "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
21192	//     - "FABRIC_E_INVALID_ADDRESS"
21193	//     - "FABRIC_E_APPLICATION_NOT_UPGRADING"
21194	//     - "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
21195	//     - "FABRIC_E_FABRIC_NOT_UPGRADING"
21196	//     - "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
21197	//     - "FABRIC_E_INVALID_CONFIGURATION"
21198	//     - "FABRIC_E_INVALID_NAME_URI"
21199	//     - "FABRIC_E_PATH_TOO_LONG"
21200	//     - "FABRIC_E_KEY_TOO_LARGE"
21201	//     - "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
21202	//     - "FABRIC_E_INVALID_ATOMIC_GROUP"
21203	//     - "FABRIC_E_VALUE_EMPTY"
21204	//     - "FABRIC_E_BACKUP_IS_ENABLED"
21205	//     - "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
21206	//     - "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
21207	//     - "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
21208	//     - "E_INVALIDARG"
21209	//   - Possible values of the error code for HTTP status code 404 (Not Found)
21210	//     - "FABRIC_E_NODE_NOT_FOUND"
21211	//     - "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
21212	//     - "FABRIC_E_APPLICATION_NOT_FOUND"
21213	//     - "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
21214	//     - "FABRIC_E_SERVICE_DOES_NOT_EXIST"
21215	//     - "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
21216	//     - "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
21217	//     - "FABRIC_E_PARTITION_NOT_FOUND"
21218	//     - "FABRIC_E_REPLICA_DOES_NOT_EXIST"
21219	//     - "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
21220	//     - "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
21221	//     - "FABRIC_E_DIRECTORY_NOT_FOUND"
21222	//     - "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
21223	//     - "FABRIC_E_FILE_NOT_FOUND"
21224	//     - "FABRIC_E_NAME_DOES_NOT_EXIST"
21225	//     - "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
21226	//     - "FABRIC_E_ENUMERATION_COMPLETED"
21227	//     - "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
21228	//     - "FABRIC_E_KEY_NOT_FOUND"
21229	//     - "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
21230	//     - "FABRIC_E_BACKUP_NOT_ENABLED"
21231	//     - "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
21232	//     - "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
21233	//   - Possible values of the error code for HTTP status code 409 (Conflict)
21234	//     - "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
21235	//     - "FABRIC_E_APPLICATION_ALREADY_EXISTS"
21236	//     - "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
21237	//     - "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
21238	//     - "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
21239	//     - "FABRIC_E_SERVICE_ALREADY_EXISTS"
21240	//     - "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
21241	//     - "FABRIC_E_APPLICATION_TYPE_IN_USE"
21242	//     - "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
21243	//     - "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
21244	//     - "FABRIC_E_FABRIC_VERSION_IN_USE"
21245	//     - "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
21246	//     - "FABRIC_E_NAME_ALREADY_EXISTS"
21247	//     - "FABRIC_E_NAME_NOT_EMPTY"
21248	//     - "FABRIC_E_PROPERTY_CHECK_FAILED"
21249	//     - "FABRIC_E_SERVICE_METADATA_MISMATCH"
21250	//     - "FABRIC_E_SERVICE_TYPE_MISMATCH"
21251	//     - "FABRIC_E_HEALTH_STALE_REPORT"
21252	//     - "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
21253	//     - "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
21254	//     - "FABRIC_E_INSTANCE_ID_MISMATCH"
21255	//     - "FABRIC_E_BACKUP_IN_PROGRESS"
21256	//     - "FABRIC_E_RESTORE_IN_PROGRESS"
21257	//     - "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
21258	//   - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)
21259	//     - "FABRIC_E_VALUE_TOO_LARGE"
21260	//   - Possible values of the error code for HTTP status code 500 (Internal Server Error)
21261	//     - "FABRIC_E_NODE_IS_UP"
21262	//     - "E_FAIL"
21263	//   - Possible values of the error code for HTTP status code 503 (Service Unavailable)
21264	//     - "FABRIC_E_NO_WRITE_QUORUM"
21265	//     - "FABRIC_E_NOT_PRIMARY"
21266	//     - "FABRIC_E_NOT_READY"
21267	//     - "FABRIC_E_RECONFIGURATION_PENDING"
21268	//     - "FABRIC_E_SERVICE_OFFLINE"
21269	//     - "E_ABORT"
21270	//     - "FABRIC_E_VALUE_TOO_LARGE"
21271	//   - Possible values of the error code for HTTP status code 504 (Gateway Timeout)
21272	//     - "FABRIC_E_COMMUNICATION_ERROR"
21273	//     - "FABRIC_E_OPERATION_NOT_COMPLETE"
21274	//     - "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'
21275	Code FabricErrorCodes `json:"Code,omitempty"`
21276	// Message - Error message.
21277	Message *string `json:"Message,omitempty"`
21278}
21279
21280// BasicFabricEvent represents the base for all Fabric Events.
21281type BasicFabricEvent interface {
21282	AsApplicationEvent() (*ApplicationEvent, bool)
21283	AsBasicApplicationEvent() (BasicApplicationEvent, bool)
21284	AsClusterEvent() (*ClusterEvent, bool)
21285	AsBasicClusterEvent() (BasicClusterEvent, bool)
21286	AsContainerInstanceEvent() (*ContainerInstanceEvent, bool)
21287	AsNodeEvent() (*NodeEvent, bool)
21288	AsBasicNodeEvent() (BasicNodeEvent, bool)
21289	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
21290	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
21291	AsPartitionEvent() (*PartitionEvent, bool)
21292	AsBasicPartitionEvent() (BasicPartitionEvent, bool)
21293	AsReplicaEvent() (*ReplicaEvent, bool)
21294	AsBasicReplicaEvent() (BasicReplicaEvent, bool)
21295	AsServiceEvent() (*ServiceEvent, bool)
21296	AsBasicServiceEvent() (BasicServiceEvent, bool)
21297	AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool)
21298	AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool)
21299	AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool)
21300	AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool)
21301	AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool)
21302	AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool)
21303	AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool)
21304	AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool)
21305	AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool)
21306	AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool)
21307	AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool)
21308	AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool)
21309	AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool)
21310	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
21311	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
21312	AsNodeAddedEvent() (*NodeAddedEvent, bool)
21313	AsNodeCloseEvent() (*NodeCloseEvent, bool)
21314	AsNodeClosingEvent() (*NodeClosingEvent, bool)
21315	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
21316	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
21317	AsNodeDownEvent() (*NodeDownEvent, bool)
21318	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
21319	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
21320	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
21321	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
21322	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
21323	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
21324	AsNodeUpEvent() (*NodeUpEvent, bool)
21325	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
21326	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
21327	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
21328	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
21329	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
21330	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
21331	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
21332	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
21333	AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool)
21334	AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool)
21335	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
21336	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
21337	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
21338	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
21339	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
21340	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
21341	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
21342	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
21343	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
21344	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
21345	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
21346	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
21347	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
21348	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
21349	AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool)
21350	AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool)
21351	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
21352	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
21353	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
21354	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
21355	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
21356	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
21357	AsFabricEvent() (*FabricEvent, bool)
21358}
21359
21360// FabricEvent represents the base for all Fabric Events.
21361type FabricEvent struct {
21362	// EventInstanceID - The identifier for the FabricEvent instance.
21363	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
21364	// TimeStamp - The time event was logged.
21365	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
21366	// HasCorrelatedEvents - Shows there is existing related events available.
21367	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
21368	// 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'
21369	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
21370}
21371
21372func unmarshalBasicFabricEvent(body []byte) (BasicFabricEvent, error) {
21373	var m map[string]interface{}
21374	err := json.Unmarshal(body, &m)
21375	if err != nil {
21376		return nil, err
21377	}
21378
21379	switch m["Kind"] {
21380	case string(KindApplicationEvent):
21381		var ae ApplicationEvent
21382		err := json.Unmarshal(body, &ae)
21383		return ae, err
21384	case string(KindClusterEvent):
21385		var ce ClusterEvent
21386		err := json.Unmarshal(body, &ce)
21387		return ce, err
21388	case string(KindContainerInstanceEvent):
21389		var cie ContainerInstanceEvent
21390		err := json.Unmarshal(body, &cie)
21391		return cie, err
21392	case string(KindNodeEvent):
21393		var ne NodeEvent
21394		err := json.Unmarshal(body, &ne)
21395		return ne, err
21396	case string(KindPartitionAnalysisEvent):
21397		var pae PartitionAnalysisEvent
21398		err := json.Unmarshal(body, &pae)
21399		return pae, err
21400	case string(KindPartitionEvent):
21401		var peVar PartitionEvent
21402		err := json.Unmarshal(body, &peVar)
21403		return peVar, err
21404	case string(KindReplicaEvent):
21405		var re ReplicaEvent
21406		err := json.Unmarshal(body, &re)
21407		return re, err
21408	case string(KindServiceEvent):
21409		var se ServiceEvent
21410		err := json.Unmarshal(body, &se)
21411		return se, err
21412	case string(KindApplicationCreated):
21413		var ace ApplicationCreatedEvent
21414		err := json.Unmarshal(body, &ace)
21415		return ace, err
21416	case string(KindApplicationDeleted):
21417		var ade ApplicationDeletedEvent
21418		err := json.Unmarshal(body, &ade)
21419		return ade, err
21420	case string(KindApplicationHealthReportCreated):
21421		var ahrce ApplicationHealthReportCreatedEvent
21422		err := json.Unmarshal(body, &ahrce)
21423		return ahrce, err
21424	case string(KindApplicationHealthReportExpired):
21425		var ahree ApplicationHealthReportExpiredEvent
21426		err := json.Unmarshal(body, &ahree)
21427		return ahree, err
21428	case string(KindApplicationUpgradeComplete):
21429		var auce ApplicationUpgradeCompleteEvent
21430		err := json.Unmarshal(body, &auce)
21431		return auce, err
21432	case string(KindApplicationUpgradeDomainComplete):
21433		var audce ApplicationUpgradeDomainCompleteEvent
21434		err := json.Unmarshal(body, &audce)
21435		return audce, err
21436	case string(KindApplicationUpgradeRollbackComplete):
21437		var aurce ApplicationUpgradeRollbackCompleteEvent
21438		err := json.Unmarshal(body, &aurce)
21439		return aurce, err
21440	case string(KindApplicationUpgradeRollbackStart):
21441		var aurse ApplicationUpgradeRollbackStartEvent
21442		err := json.Unmarshal(body, &aurse)
21443		return aurse, err
21444	case string(KindApplicationUpgradeStart):
21445		var ause ApplicationUpgradeStartEvent
21446		err := json.Unmarshal(body, &ause)
21447		return ause, err
21448	case string(KindDeployedApplicationHealthReportCreated):
21449		var dahrce DeployedApplicationHealthReportCreatedEvent
21450		err := json.Unmarshal(body, &dahrce)
21451		return dahrce, err
21452	case string(KindDeployedApplicationHealthReportExpired):
21453		var dahree DeployedApplicationHealthReportExpiredEvent
21454		err := json.Unmarshal(body, &dahree)
21455		return dahree, err
21456	case string(KindProcessDeactivated):
21457		var pde ProcessDeactivatedEvent
21458		err := json.Unmarshal(body, &pde)
21459		return pde, err
21460	case string(KindContainerDeactivated):
21461		var cde ContainerDeactivatedEvent
21462		err := json.Unmarshal(body, &cde)
21463		return cde, err
21464	case string(KindNodeAborted):
21465		var nae NodeAbortedEvent
21466		err := json.Unmarshal(body, &nae)
21467		return nae, err
21468	case string(KindNodeAborting):
21469		var nae NodeAbortingEvent
21470		err := json.Unmarshal(body, &nae)
21471		return nae, err
21472	case string(KindNodeAdded):
21473		var nae NodeAddedEvent
21474		err := json.Unmarshal(body, &nae)
21475		return nae, err
21476	case string(KindNodeClose):
21477		var nce NodeCloseEvent
21478		err := json.Unmarshal(body, &nce)
21479		return nce, err
21480	case string(KindNodeClosing):
21481		var nce NodeClosingEvent
21482		err := json.Unmarshal(body, &nce)
21483		return nce, err
21484	case string(KindNodeDeactivateComplete):
21485		var ndce NodeDeactivateCompleteEvent
21486		err := json.Unmarshal(body, &ndce)
21487		return ndce, err
21488	case string(KindNodeDeactivateStart):
21489		var ndse NodeDeactivateStartEvent
21490		err := json.Unmarshal(body, &ndse)
21491		return ndse, err
21492	case string(KindNodeDown):
21493		var nde NodeDownEvent
21494		err := json.Unmarshal(body, &nde)
21495		return nde, err
21496	case string(KindNodeHealthReportCreated):
21497		var nhrce NodeHealthReportCreatedEvent
21498		err := json.Unmarshal(body, &nhrce)
21499		return nhrce, err
21500	case string(KindNodeHealthReportExpired):
21501		var nhree NodeHealthReportExpiredEvent
21502		err := json.Unmarshal(body, &nhree)
21503		return nhree, err
21504	case string(KindNodeOpenedSuccess):
21505		var nose NodeOpenedSuccessEvent
21506		err := json.Unmarshal(body, &nose)
21507		return nose, err
21508	case string(KindNodeOpenFailed):
21509		var nofe NodeOpenFailedEvent
21510		err := json.Unmarshal(body, &nofe)
21511		return nofe, err
21512	case string(KindNodeOpening):
21513		var noe NodeOpeningEvent
21514		err := json.Unmarshal(body, &noe)
21515		return noe, err
21516	case string(KindNodeRemoved):
21517		var nre NodeRemovedEvent
21518		err := json.Unmarshal(body, &nre)
21519		return nre, err
21520	case string(KindNodeUp):
21521		var nue NodeUpEvent
21522		err := json.Unmarshal(body, &nue)
21523		return nue, err
21524	case string(KindPartitionHealthReportCreated):
21525		var phrce PartitionHealthReportCreatedEvent
21526		err := json.Unmarshal(body, &phrce)
21527		return phrce, err
21528	case string(KindPartitionHealthReportExpired):
21529		var phree PartitionHealthReportExpiredEvent
21530		err := json.Unmarshal(body, &phree)
21531		return phree, err
21532	case string(KindPartitionReconfigurationCompleted):
21533		var prce PartitionReconfigurationCompletedEvent
21534		err := json.Unmarshal(body, &prce)
21535		return prce, err
21536	case string(KindPartitionPrimaryMoveAnalysis):
21537		var ppmae PartitionPrimaryMoveAnalysisEvent
21538		err := json.Unmarshal(body, &ppmae)
21539		return ppmae, err
21540	case string(KindServiceCreated):
21541		var sce ServiceCreatedEvent
21542		err := json.Unmarshal(body, &sce)
21543		return sce, err
21544	case string(KindServiceDeleted):
21545		var sde ServiceDeletedEvent
21546		err := json.Unmarshal(body, &sde)
21547		return sde, err
21548	case string(KindServiceHealthReportCreated):
21549		var shrce ServiceHealthReportCreatedEvent
21550		err := json.Unmarshal(body, &shrce)
21551		return shrce, err
21552	case string(KindServiceHealthReportExpired):
21553		var shree ServiceHealthReportExpiredEvent
21554		err := json.Unmarshal(body, &shree)
21555		return shree, err
21556	case string(KindDeployedServiceHealthReportCreated):
21557		var dshrce DeployedServiceHealthReportCreatedEvent
21558		err := json.Unmarshal(body, &dshrce)
21559		return dshrce, err
21560	case string(KindDeployedServiceHealthReportExpired):
21561		var dshree DeployedServiceHealthReportExpiredEvent
21562		err := json.Unmarshal(body, &dshree)
21563		return dshree, err
21564	case string(KindStatefulReplicaHealthReportCreated):
21565		var srhrce StatefulReplicaHealthReportCreatedEvent
21566		err := json.Unmarshal(body, &srhrce)
21567		return srhrce, err
21568	case string(KindStatefulReplicaHealthReportExpired):
21569		var srhree StatefulReplicaHealthReportExpiredEvent
21570		err := json.Unmarshal(body, &srhree)
21571		return srhree, err
21572	case string(KindStatelessReplicaHealthReportCreated):
21573		var srhrce StatelessReplicaHealthReportCreatedEvent
21574		err := json.Unmarshal(body, &srhrce)
21575		return srhrce, err
21576	case string(KindStatelessReplicaHealthReportExpired):
21577		var srhree StatelessReplicaHealthReportExpiredEvent
21578		err := json.Unmarshal(body, &srhree)
21579		return srhree, err
21580	case string(KindClusterHealthReportCreated):
21581		var chrce ClusterHealthReportCreatedEvent
21582		err := json.Unmarshal(body, &chrce)
21583		return chrce, err
21584	case string(KindClusterHealthReportExpired):
21585		var chree ClusterHealthReportExpiredEvent
21586		err := json.Unmarshal(body, &chree)
21587		return chree, err
21588	case string(KindClusterUpgradeComplete):
21589		var cuce ClusterUpgradeCompleteEvent
21590		err := json.Unmarshal(body, &cuce)
21591		return cuce, err
21592	case string(KindClusterUpgradeDomainComplete):
21593		var cudce ClusterUpgradeDomainCompleteEvent
21594		err := json.Unmarshal(body, &cudce)
21595		return cudce, err
21596	case string(KindClusterUpgradeRollbackComplete):
21597		var curce ClusterUpgradeRollbackCompleteEvent
21598		err := json.Unmarshal(body, &curce)
21599		return curce, err
21600	case string(KindClusterUpgradeRollbackStart):
21601		var curse ClusterUpgradeRollbackStartEvent
21602		err := json.Unmarshal(body, &curse)
21603		return curse, err
21604	case string(KindClusterUpgradeStart):
21605		var cuse ClusterUpgradeStartEvent
21606		err := json.Unmarshal(body, &cuse)
21607		return cuse, err
21608	case string(KindChaosStopped):
21609		var cse ChaosStoppedEvent
21610		err := json.Unmarshal(body, &cse)
21611		return cse, err
21612	case string(KindChaosStarted):
21613		var cse ChaosStartedEvent
21614		err := json.Unmarshal(body, &cse)
21615		return cse, err
21616	case string(KindChaosRestartNodeFaultCompleted):
21617		var crnfce ChaosRestartNodeFaultCompletedEvent
21618		err := json.Unmarshal(body, &crnfce)
21619		return crnfce, err
21620	case string(KindChaosRestartCodePackageFaultScheduled):
21621		var crcpfse ChaosRestartCodePackageFaultScheduledEvent
21622		err := json.Unmarshal(body, &crcpfse)
21623		return crcpfse, err
21624	case string(KindChaosRestartCodePackageFaultCompleted):
21625		var crcpfce ChaosRestartCodePackageFaultCompletedEvent
21626		err := json.Unmarshal(body, &crcpfce)
21627		return crcpfce, err
21628	case string(KindChaosRemoveReplicaFaultScheduled):
21629		var crrfse ChaosRemoveReplicaFaultScheduledEvent
21630		err := json.Unmarshal(body, &crrfse)
21631		return crrfse, err
21632	case string(KindChaosRemoveReplicaFaultCompleted):
21633		var crrfce ChaosRemoveReplicaFaultCompletedEvent
21634		err := json.Unmarshal(body, &crrfce)
21635		return crrfce, err
21636	case string(KindChaosMoveSecondaryFaultScheduled):
21637		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
21638		err := json.Unmarshal(body, &cmsfse)
21639		return cmsfse, err
21640	case string(KindChaosMovePrimaryFaultScheduled):
21641		var cmpfse ChaosMovePrimaryFaultScheduledEvent
21642		err := json.Unmarshal(body, &cmpfse)
21643		return cmpfse, err
21644	case string(KindChaosRestartReplicaFaultScheduled):
21645		var crrfse ChaosRestartReplicaFaultScheduledEvent
21646		err := json.Unmarshal(body, &crrfse)
21647		return crrfse, err
21648	case string(KindChaosRestartNodeFaultScheduled):
21649		var crnfse ChaosRestartNodeFaultScheduledEvent
21650		err := json.Unmarshal(body, &crnfse)
21651		return crnfse, err
21652	default:
21653		var fe FabricEvent
21654		err := json.Unmarshal(body, &fe)
21655		return fe, err
21656	}
21657}
21658func unmarshalBasicFabricEventArray(body []byte) ([]BasicFabricEvent, error) {
21659	var rawMessages []*json.RawMessage
21660	err := json.Unmarshal(body, &rawMessages)
21661	if err != nil {
21662		return nil, err
21663	}
21664
21665	feArray := make([]BasicFabricEvent, len(rawMessages))
21666
21667	for index, rawMessage := range rawMessages {
21668		fe, err := unmarshalBasicFabricEvent(*rawMessage)
21669		if err != nil {
21670			return nil, err
21671		}
21672		feArray[index] = fe
21673	}
21674	return feArray, nil
21675}
21676
21677// MarshalJSON is the custom marshaler for FabricEvent.
21678func (fe FabricEvent) MarshalJSON() ([]byte, error) {
21679	fe.Kind = KindFabricEvent
21680	objectMap := make(map[string]interface{})
21681	if fe.EventInstanceID != nil {
21682		objectMap["EventInstanceId"] = fe.EventInstanceID
21683	}
21684	if fe.TimeStamp != nil {
21685		objectMap["TimeStamp"] = fe.TimeStamp
21686	}
21687	if fe.HasCorrelatedEvents != nil {
21688		objectMap["HasCorrelatedEvents"] = fe.HasCorrelatedEvents
21689	}
21690	if fe.Kind != "" {
21691		objectMap["Kind"] = fe.Kind
21692	}
21693	return json.Marshal(objectMap)
21694}
21695
21696// AsApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
21697func (fe FabricEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
21698	return nil, false
21699}
21700
21701// AsBasicApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
21702func (fe FabricEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
21703	return nil, false
21704}
21705
21706// AsClusterEvent is the BasicFabricEvent implementation for FabricEvent.
21707func (fe FabricEvent) AsClusterEvent() (*ClusterEvent, bool) {
21708	return nil, false
21709}
21710
21711// AsBasicClusterEvent is the BasicFabricEvent implementation for FabricEvent.
21712func (fe FabricEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
21713	return nil, false
21714}
21715
21716// AsContainerInstanceEvent is the BasicFabricEvent implementation for FabricEvent.
21717func (fe FabricEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
21718	return nil, false
21719}
21720
21721// AsNodeEvent is the BasicFabricEvent implementation for FabricEvent.
21722func (fe FabricEvent) AsNodeEvent() (*NodeEvent, bool) {
21723	return nil, false
21724}
21725
21726// AsBasicNodeEvent is the BasicFabricEvent implementation for FabricEvent.
21727func (fe FabricEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
21728	return nil, false
21729}
21730
21731// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
21732func (fe FabricEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
21733	return nil, false
21734}
21735
21736// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
21737func (fe FabricEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
21738	return nil, false
21739}
21740
21741// AsPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
21742func (fe FabricEvent) AsPartitionEvent() (*PartitionEvent, bool) {
21743	return nil, false
21744}
21745
21746// AsBasicPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
21747func (fe FabricEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
21748	return nil, false
21749}
21750
21751// AsReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
21752func (fe FabricEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
21753	return nil, false
21754}
21755
21756// AsBasicReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
21757func (fe FabricEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
21758	return nil, false
21759}
21760
21761// AsServiceEvent is the BasicFabricEvent implementation for FabricEvent.
21762func (fe FabricEvent) AsServiceEvent() (*ServiceEvent, bool) {
21763	return nil, false
21764}
21765
21766// AsBasicServiceEvent is the BasicFabricEvent implementation for FabricEvent.
21767func (fe FabricEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
21768	return nil, false
21769}
21770
21771// AsApplicationCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21772func (fe FabricEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
21773	return nil, false
21774}
21775
21776// AsApplicationDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
21777func (fe FabricEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
21778	return nil, false
21779}
21780
21781// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21782func (fe FabricEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
21783	return nil, false
21784}
21785
21786// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21787func (fe FabricEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
21788	return nil, false
21789}
21790
21791// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
21792func (fe FabricEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
21793	return nil, false
21794}
21795
21796// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
21797func (fe FabricEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
21798	return nil, false
21799}
21800
21801// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
21802func (fe FabricEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
21803	return nil, false
21804}
21805
21806// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
21807func (fe FabricEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
21808	return nil, false
21809}
21810
21811// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
21812func (fe FabricEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
21813	return nil, false
21814}
21815
21816// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21817func (fe FabricEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
21818	return nil, false
21819}
21820
21821// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21822func (fe FabricEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
21823	return nil, false
21824}
21825
21826// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
21827func (fe FabricEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
21828	return nil, false
21829}
21830
21831// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
21832func (fe FabricEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
21833	return nil, false
21834}
21835
21836// AsNodeAbortedEvent is the BasicFabricEvent implementation for FabricEvent.
21837func (fe FabricEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
21838	return nil, false
21839}
21840
21841// AsNodeAbortingEvent is the BasicFabricEvent implementation for FabricEvent.
21842func (fe FabricEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
21843	return nil, false
21844}
21845
21846// AsNodeAddedEvent is the BasicFabricEvent implementation for FabricEvent.
21847func (fe FabricEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
21848	return nil, false
21849}
21850
21851// AsNodeCloseEvent is the BasicFabricEvent implementation for FabricEvent.
21852func (fe FabricEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
21853	return nil, false
21854}
21855
21856// AsNodeClosingEvent is the BasicFabricEvent implementation for FabricEvent.
21857func (fe FabricEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
21858	return nil, false
21859}
21860
21861// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
21862func (fe FabricEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
21863	return nil, false
21864}
21865
21866// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for FabricEvent.
21867func (fe FabricEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
21868	return nil, false
21869}
21870
21871// AsNodeDownEvent is the BasicFabricEvent implementation for FabricEvent.
21872func (fe FabricEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
21873	return nil, false
21874}
21875
21876// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21877func (fe FabricEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
21878	return nil, false
21879}
21880
21881// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21882func (fe FabricEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
21883	return nil, false
21884}
21885
21886// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for FabricEvent.
21887func (fe FabricEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
21888	return nil, false
21889}
21890
21891// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for FabricEvent.
21892func (fe FabricEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
21893	return nil, false
21894}
21895
21896// AsNodeOpeningEvent is the BasicFabricEvent implementation for FabricEvent.
21897func (fe FabricEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
21898	return nil, false
21899}
21900
21901// AsNodeRemovedEvent is the BasicFabricEvent implementation for FabricEvent.
21902func (fe FabricEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
21903	return nil, false
21904}
21905
21906// AsNodeUpEvent is the BasicFabricEvent implementation for FabricEvent.
21907func (fe FabricEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
21908	return nil, false
21909}
21910
21911// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21912func (fe FabricEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
21913	return nil, false
21914}
21915
21916// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21917func (fe FabricEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
21918	return nil, false
21919}
21920
21921// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
21922func (fe FabricEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
21923	return nil, false
21924}
21925
21926// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
21927func (fe FabricEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
21928	return nil, false
21929}
21930
21931// AsServiceCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21932func (fe FabricEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
21933	return nil, false
21934}
21935
21936// AsServiceDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
21937func (fe FabricEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
21938	return nil, false
21939}
21940
21941// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21942func (fe FabricEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
21943	return nil, false
21944}
21945
21946// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21947func (fe FabricEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
21948	return nil, false
21949}
21950
21951// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21952func (fe FabricEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
21953	return nil, false
21954}
21955
21956// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21957func (fe FabricEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
21958	return nil, false
21959}
21960
21961// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21962func (fe FabricEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
21963	return nil, false
21964}
21965
21966// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21967func (fe FabricEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
21968	return nil, false
21969}
21970
21971// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21972func (fe FabricEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
21973	return nil, false
21974}
21975
21976// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21977func (fe FabricEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
21978	return nil, false
21979}
21980
21981// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
21982func (fe FabricEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
21983	return nil, false
21984}
21985
21986// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
21987func (fe FabricEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
21988	return nil, false
21989}
21990
21991// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
21992func (fe FabricEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
21993	return nil, false
21994}
21995
21996// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
21997func (fe FabricEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
21998	return nil, false
21999}
22000
22001// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
22002func (fe FabricEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
22003	return nil, false
22004}
22005
22006// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
22007func (fe FabricEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
22008	return nil, false
22009}
22010
22011// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
22012func (fe FabricEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
22013	return nil, false
22014}
22015
22016// AsChaosStoppedEvent is the BasicFabricEvent implementation for FabricEvent.
22017func (fe FabricEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
22018	return nil, false
22019}
22020
22021// AsChaosStartedEvent is the BasicFabricEvent implementation for FabricEvent.
22022func (fe FabricEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
22023	return nil, false
22024}
22025
22026// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
22027func (fe FabricEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
22028	return nil, false
22029}
22030
22031// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22032func (fe FabricEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
22033	return nil, false
22034}
22035
22036// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
22037func (fe FabricEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
22038	return nil, false
22039}
22040
22041// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22042func (fe FabricEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
22043	return nil, false
22044}
22045
22046// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
22047func (fe FabricEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
22048	return nil, false
22049}
22050
22051// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22052func (fe FabricEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
22053	return nil, false
22054}
22055
22056// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22057func (fe FabricEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
22058	return nil, false
22059}
22060
22061// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22062func (fe FabricEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
22063	return nil, false
22064}
22065
22066// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
22067func (fe FabricEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
22068	return nil, false
22069}
22070
22071// AsFabricEvent is the BasicFabricEvent implementation for FabricEvent.
22072func (fe FabricEvent) AsFabricEvent() (*FabricEvent, bool) {
22073	return &fe, true
22074}
22075
22076// AsBasicFabricEvent is the BasicFabricEvent implementation for FabricEvent.
22077func (fe FabricEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
22078	return &fe, true
22079}
22080
22081// FailedPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch failing. Contains
22082// information about the specific batch failure.
22083type FailedPropertyBatchInfo struct {
22084	// ErrorMessage - The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch.
22085	ErrorMessage *string `json:"ErrorMessage,omitempty"`
22086	// OperationIndex - The index of the unsuccessful operation in the property batch.
22087	OperationIndex *int32 `json:"OperationIndex,omitempty"`
22088	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
22089	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
22090}
22091
22092// MarshalJSON is the custom marshaler for FailedPropertyBatchInfo.
22093func (fpbi FailedPropertyBatchInfo) MarshalJSON() ([]byte, error) {
22094	fpbi.Kind = KindFailed
22095	objectMap := make(map[string]interface{})
22096	if fpbi.ErrorMessage != nil {
22097		objectMap["ErrorMessage"] = fpbi.ErrorMessage
22098	}
22099	if fpbi.OperationIndex != nil {
22100		objectMap["OperationIndex"] = fpbi.OperationIndex
22101	}
22102	if fpbi.Kind != "" {
22103		objectMap["Kind"] = fpbi.Kind
22104	}
22105	return json.Marshal(objectMap)
22106}
22107
22108// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22109func (fpbi FailedPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
22110	return nil, false
22111}
22112
22113// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22114func (fpbi FailedPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
22115	return &fpbi, true
22116}
22117
22118// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22119func (fpbi FailedPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
22120	return nil, false
22121}
22122
22123// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
22124func (fpbi FailedPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
22125	return &fpbi, true
22126}
22127
22128// FailedUpgradeDomainProgressObject the detailed upgrade progress for nodes in the current upgrade domain
22129// at the point of failure.
22130type FailedUpgradeDomainProgressObject struct {
22131	// DomainName - The name of the upgrade domain
22132	DomainName *string `json:"DomainName,omitempty"`
22133	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
22134	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
22135}
22136
22137// FailureUpgradeDomainProgressInfo information about the upgrade domain progress at the time of upgrade
22138// failure.
22139type FailureUpgradeDomainProgressInfo struct {
22140	// DomainName - The name of the upgrade domain
22141	DomainName *string `json:"DomainName,omitempty"`
22142	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
22143	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
22144}
22145
22146// FileInfo information about a image store file.
22147type FileInfo struct {
22148	// FileSize - The size of file in bytes.
22149	FileSize *string `json:"FileSize,omitempty"`
22150	// FileVersion - Information about the version of image store file.
22151	FileVersion *FileVersion `json:"FileVersion,omitempty"`
22152	// ModifiedDate - The date and time when the image store file was last modified.
22153	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
22154	// StoreRelativePath - The file path relative to the image store root path.
22155	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
22156}
22157
22158// FileShareBackupStorageDescription describes the parameters for file share storage used for storing or
22159// enumerating backups.
22160type FileShareBackupStorageDescription struct {
22161	// Path - UNC path of the file share where to store or enumerate backups from.
22162	Path *string `json:"Path,omitempty"`
22163	// PrimaryUserName - Primary user name to access the file share.
22164	PrimaryUserName *string `json:"PrimaryUserName,omitempty"`
22165	// PrimaryPassword - Primary password to access the share location.
22166	PrimaryPassword *string `json:"PrimaryPassword,omitempty"`
22167	// SecondaryUserName - Secondary user name to access the file share.
22168	SecondaryUserName *string `json:"SecondaryUserName,omitempty"`
22169	// SecondaryPassword - Secondary password to access the share location
22170	SecondaryPassword *string `json:"SecondaryPassword,omitempty"`
22171	// FriendlyName - Friendly name for this backup storage.
22172	FriendlyName *string `json:"FriendlyName,omitempty"`
22173	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
22174	StorageKind StorageKind `json:"StorageKind,omitempty"`
22175}
22176
22177// MarshalJSON is the custom marshaler for FileShareBackupStorageDescription.
22178func (fsbsd FileShareBackupStorageDescription) MarshalJSON() ([]byte, error) {
22179	fsbsd.StorageKind = StorageKindFileShare
22180	objectMap := make(map[string]interface{})
22181	if fsbsd.Path != nil {
22182		objectMap["Path"] = fsbsd.Path
22183	}
22184	if fsbsd.PrimaryUserName != nil {
22185		objectMap["PrimaryUserName"] = fsbsd.PrimaryUserName
22186	}
22187	if fsbsd.PrimaryPassword != nil {
22188		objectMap["PrimaryPassword"] = fsbsd.PrimaryPassword
22189	}
22190	if fsbsd.SecondaryUserName != nil {
22191		objectMap["SecondaryUserName"] = fsbsd.SecondaryUserName
22192	}
22193	if fsbsd.SecondaryPassword != nil {
22194		objectMap["SecondaryPassword"] = fsbsd.SecondaryPassword
22195	}
22196	if fsbsd.FriendlyName != nil {
22197		objectMap["FriendlyName"] = fsbsd.FriendlyName
22198	}
22199	if fsbsd.StorageKind != "" {
22200		objectMap["StorageKind"] = fsbsd.StorageKind
22201	}
22202	return json.Marshal(objectMap)
22203}
22204
22205// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22206func (fsbsd FileShareBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
22207	return nil, false
22208}
22209
22210// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22211func (fsbsd FileShareBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
22212	return &fsbsd, true
22213}
22214
22215// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22216func (fsbsd FileShareBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
22217	return nil, false
22218}
22219
22220// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
22221func (fsbsd FileShareBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
22222	return &fsbsd, true
22223}
22224
22225// FileVersion information about the version of image store file.
22226type FileVersion struct {
22227	// VersionNumber - The current image store version number for the file is used in image store for checking whether it need to be updated.
22228	VersionNumber *string `json:"VersionNumber,omitempty"`
22229	// EpochDataLossNumber - The epoch data loss number of image store replica when this file entry was updated or created.
22230	EpochDataLossNumber *string `json:"EpochDataLossNumber,omitempty"`
22231	// EpochConfigurationNumber - The epoch configuration version number of the image store replica when this file entry was created or updated.
22232	EpochConfigurationNumber *string `json:"EpochConfigurationNumber,omitempty"`
22233}
22234
22235// FolderInfo information about a image store folder. It includes how many files this folder contains and
22236// its image store relative path.
22237type FolderInfo struct {
22238	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
22239	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
22240	// FileCount - The number of files from within the image store folder.
22241	FileCount *string `json:"FileCount,omitempty"`
22242}
22243
22244// FrequencyBasedBackupScheduleDescription describes the frequency based backup schedule.
22245type FrequencyBasedBackupScheduleDescription struct {
22246	// 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.
22247	Interval *string `json:"Interval,omitempty"`
22248	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
22249	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
22250}
22251
22252// MarshalJSON is the custom marshaler for FrequencyBasedBackupScheduleDescription.
22253func (fbbsd FrequencyBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
22254	fbbsd.ScheduleKind = ScheduleKindFrequencyBased
22255	objectMap := make(map[string]interface{})
22256	if fbbsd.Interval != nil {
22257		objectMap["Interval"] = fbbsd.Interval
22258	}
22259	if fbbsd.ScheduleKind != "" {
22260		objectMap["ScheduleKind"] = fbbsd.ScheduleKind
22261	}
22262	return json.Marshal(objectMap)
22263}
22264
22265// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22266func (fbbsd FrequencyBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
22267	return &fbbsd, true
22268}
22269
22270// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22271func (fbbsd FrequencyBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
22272	return nil, false
22273}
22274
22275// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22276func (fbbsd FrequencyBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
22277	return nil, false
22278}
22279
22280// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
22281func (fbbsd FrequencyBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
22282	return &fbbsd, true
22283}
22284
22285// GetBackupByStorageQueryDescription describes additional filters to be applied, while listing backups,
22286// and backup storage details from where to fetch the backups.
22287type GetBackupByStorageQueryDescription struct {
22288	// StartDateTimeFilter - Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning.
22289	StartDateTimeFilter *date.Time `json:"StartDateTimeFilter,omitempty"`
22290	// EndDateTimeFilter - Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end.
22291	EndDateTimeFilter *date.Time `json:"EndDateTimeFilter,omitempty"`
22292	// Latest - If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity.
22293	Latest *bool `json:"Latest,omitempty"`
22294	// 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.
22295	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
22296	// BackupEntity - Indicates the entity for which to enumerate backups.
22297	BackupEntity BasicBackupEntity `json:"BackupEntity,omitempty"`
22298}
22299
22300// UnmarshalJSON is the custom unmarshaler for GetBackupByStorageQueryDescription struct.
22301func (gbbsqd *GetBackupByStorageQueryDescription) UnmarshalJSON(body []byte) error {
22302	var m map[string]*json.RawMessage
22303	err := json.Unmarshal(body, &m)
22304	if err != nil {
22305		return err
22306	}
22307	for k, v := range m {
22308		switch k {
22309		case "StartDateTimeFilter":
22310			if v != nil {
22311				var startDateTimeFilter date.Time
22312				err = json.Unmarshal(*v, &startDateTimeFilter)
22313				if err != nil {
22314					return err
22315				}
22316				gbbsqd.StartDateTimeFilter = &startDateTimeFilter
22317			}
22318		case "EndDateTimeFilter":
22319			if v != nil {
22320				var endDateTimeFilter date.Time
22321				err = json.Unmarshal(*v, &endDateTimeFilter)
22322				if err != nil {
22323					return err
22324				}
22325				gbbsqd.EndDateTimeFilter = &endDateTimeFilter
22326			}
22327		case "Latest":
22328			if v != nil {
22329				var latest bool
22330				err = json.Unmarshal(*v, &latest)
22331				if err != nil {
22332					return err
22333				}
22334				gbbsqd.Latest = &latest
22335			}
22336		case "Storage":
22337			if v != nil {
22338				storage, err := unmarshalBasicBackupStorageDescription(*v)
22339				if err != nil {
22340					return err
22341				}
22342				gbbsqd.Storage = storage
22343			}
22344		case "BackupEntity":
22345			if v != nil {
22346				backupEntity, err := unmarshalBasicBackupEntity(*v)
22347				if err != nil {
22348					return err
22349				}
22350				gbbsqd.BackupEntity = backupEntity
22351			}
22352		}
22353	}
22354
22355	return nil
22356}
22357
22358// GetPropertyBatchOperation represents a PropertyBatchOperation that gets the specified property if it
22359// exists.
22360// Note that if one PropertyBatchOperation in a PropertyBatch fails,
22361// the entire batch fails and cannot be committed in a transactional manner.
22362type GetPropertyBatchOperation struct {
22363	// IncludeValue - Whether or not to return the property value with the metadata.
22364	// True if values should be returned with the metadata; False to return only property metadata.
22365	IncludeValue *bool `json:"IncludeValue,omitempty"`
22366	// PropertyName - The name of the Service Fabric property.
22367	PropertyName *string `json:"PropertyName,omitempty"`
22368	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
22369	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
22370}
22371
22372// MarshalJSON is the custom marshaler for GetPropertyBatchOperation.
22373func (gpbo GetPropertyBatchOperation) MarshalJSON() ([]byte, error) {
22374	gpbo.Kind = KindGet
22375	objectMap := make(map[string]interface{})
22376	if gpbo.IncludeValue != nil {
22377		objectMap["IncludeValue"] = gpbo.IncludeValue
22378	}
22379	if gpbo.PropertyName != nil {
22380		objectMap["PropertyName"] = gpbo.PropertyName
22381	}
22382	if gpbo.Kind != "" {
22383		objectMap["Kind"] = gpbo.Kind
22384	}
22385	return json.Marshal(objectMap)
22386}
22387
22388// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22389func (gpbo GetPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
22390	return nil, false
22391}
22392
22393// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22394func (gpbo GetPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
22395	return nil, false
22396}
22397
22398// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22399func (gpbo GetPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
22400	return nil, false
22401}
22402
22403// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22404func (gpbo GetPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
22405	return nil, false
22406}
22407
22408// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22409func (gpbo GetPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
22410	return &gpbo, true
22411}
22412
22413// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22414func (gpbo GetPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
22415	return nil, false
22416}
22417
22418// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22419func (gpbo GetPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
22420	return nil, false
22421}
22422
22423// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
22424func (gpbo GetPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
22425	return &gpbo, true
22426}
22427
22428// GUIDPropertyValue describes a Service Fabric property value of type Guid.
22429type GUIDPropertyValue struct {
22430	// Data - The data of the property value.
22431	Data *uuid.UUID `json:"Data,omitempty"`
22432	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
22433	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
22434}
22435
22436// MarshalJSON is the custom marshaler for GUIDPropertyValue.
22437func (gpv GUIDPropertyValue) MarshalJSON() ([]byte, error) {
22438	gpv.Kind = KindGUID
22439	objectMap := make(map[string]interface{})
22440	if gpv.Data != nil {
22441		objectMap["Data"] = gpv.Data
22442	}
22443	if gpv.Kind != "" {
22444		objectMap["Kind"] = gpv.Kind
22445	}
22446	return json.Marshal(objectMap)
22447}
22448
22449// AsBinaryPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22450func (gpv GUIDPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
22451	return nil, false
22452}
22453
22454// AsInt64PropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22455func (gpv GUIDPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
22456	return nil, false
22457}
22458
22459// AsDoublePropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22460func (gpv GUIDPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
22461	return nil, false
22462}
22463
22464// AsStringPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22465func (gpv GUIDPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
22466	return nil, false
22467}
22468
22469// AsGUIDPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22470func (gpv GUIDPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
22471	return &gpv, true
22472}
22473
22474// AsPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22475func (gpv GUIDPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
22476	return nil, false
22477}
22478
22479// AsBasicPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
22480func (gpv GUIDPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
22481	return &gpv, true
22482}
22483
22484// BasicHealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
22485// manager to evaluate the health of an entity.
22486type BasicHealthEvaluation interface {
22487	AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool)
22488	AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool)
22489	AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool)
22490	AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool)
22491	AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool)
22492	AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool)
22493	AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool)
22494	AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool)
22495	AsEventHealthEvaluation() (*EventHealthEvaluation, bool)
22496	AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool)
22497	AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool)
22498	AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool)
22499	AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool)
22500	AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool)
22501	AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool)
22502	AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool)
22503	AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool)
22504	AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool)
22505	AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool)
22506	AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool)
22507	AsHealthEvaluation() (*HealthEvaluation, bool)
22508}
22509
22510// HealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
22511// manager to evaluate the health of an entity.
22512type HealthEvaluation struct {
22513	// 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'
22514	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22515	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
22516	Description *string `json:"Description,omitempty"`
22517	// 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'
22518	Kind Kind `json:"Kind,omitempty"`
22519}
22520
22521func unmarshalBasicHealthEvaluation(body []byte) (BasicHealthEvaluation, error) {
22522	var m map[string]interface{}
22523	err := json.Unmarshal(body, &m)
22524	if err != nil {
22525		return nil, err
22526	}
22527
22528	switch m["Kind"] {
22529	case string(KindApplication):
22530		var ahe ApplicationHealthEvaluation
22531		err := json.Unmarshal(body, &ahe)
22532		return ahe, err
22533	case string(KindApplications):
22534		var ahe ApplicationsHealthEvaluation
22535		err := json.Unmarshal(body, &ahe)
22536		return ahe, err
22537	case string(KindApplicationTypeApplications):
22538		var atahe ApplicationTypeApplicationsHealthEvaluation
22539		err := json.Unmarshal(body, &atahe)
22540		return atahe, err
22541	case string(KindDeltaNodesCheck):
22542		var dnche DeltaNodesCheckHealthEvaluation
22543		err := json.Unmarshal(body, &dnche)
22544		return dnche, err
22545	case string(KindDeployedApplication):
22546		var dahe DeployedApplicationHealthEvaluation
22547		err := json.Unmarshal(body, &dahe)
22548		return dahe, err
22549	case string(KindDeployedApplications):
22550		var dahe DeployedApplicationsHealthEvaluation
22551		err := json.Unmarshal(body, &dahe)
22552		return dahe, err
22553	case string(KindDeployedServicePackage):
22554		var dsphe DeployedServicePackageHealthEvaluation
22555		err := json.Unmarshal(body, &dsphe)
22556		return dsphe, err
22557	case string(KindDeployedServicePackages):
22558		var dsphe DeployedServicePackagesHealthEvaluation
22559		err := json.Unmarshal(body, &dsphe)
22560		return dsphe, err
22561	case string(KindEvent):
22562		var ehe EventHealthEvaluation
22563		err := json.Unmarshal(body, &ehe)
22564		return ehe, err
22565	case string(KindNode):
22566		var nhe NodeHealthEvaluation
22567		err := json.Unmarshal(body, &nhe)
22568		return nhe, err
22569	case string(KindNodes):
22570		var nhe NodesHealthEvaluation
22571		err := json.Unmarshal(body, &nhe)
22572		return nhe, err
22573	case string(KindPartition):
22574		var phe PartitionHealthEvaluation
22575		err := json.Unmarshal(body, &phe)
22576		return phe, err
22577	case string(KindPartitions):
22578		var phe PartitionsHealthEvaluation
22579		err := json.Unmarshal(body, &phe)
22580		return phe, err
22581	case string(KindReplica):
22582		var rhe ReplicaHealthEvaluation
22583		err := json.Unmarshal(body, &rhe)
22584		return rhe, err
22585	case string(KindReplicas):
22586		var rhe ReplicasHealthEvaluation
22587		err := json.Unmarshal(body, &rhe)
22588		return rhe, err
22589	case string(KindService):
22590		var she ServiceHealthEvaluation
22591		err := json.Unmarshal(body, &she)
22592		return she, err
22593	case string(KindServices):
22594		var she ServicesHealthEvaluation
22595		err := json.Unmarshal(body, &she)
22596		return she, err
22597	case string(KindSystemApplication):
22598		var sahe SystemApplicationHealthEvaluation
22599		err := json.Unmarshal(body, &sahe)
22600		return sahe, err
22601	case string(KindUpgradeDomainDeltaNodesCheck):
22602		var uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation
22603		err := json.Unmarshal(body, &uddnche)
22604		return uddnche, err
22605	case string(KindUpgradeDomainNodes):
22606		var udnhe UpgradeDomainNodesHealthEvaluation
22607		err := json.Unmarshal(body, &udnhe)
22608		return udnhe, err
22609	default:
22610		var he HealthEvaluation
22611		err := json.Unmarshal(body, &he)
22612		return he, err
22613	}
22614}
22615func unmarshalBasicHealthEvaluationArray(body []byte) ([]BasicHealthEvaluation, error) {
22616	var rawMessages []*json.RawMessage
22617	err := json.Unmarshal(body, &rawMessages)
22618	if err != nil {
22619		return nil, err
22620	}
22621
22622	heArray := make([]BasicHealthEvaluation, len(rawMessages))
22623
22624	for index, rawMessage := range rawMessages {
22625		he, err := unmarshalBasicHealthEvaluation(*rawMessage)
22626		if err != nil {
22627			return nil, err
22628		}
22629		heArray[index] = he
22630	}
22631	return heArray, nil
22632}
22633
22634// MarshalJSON is the custom marshaler for HealthEvaluation.
22635func (he HealthEvaluation) MarshalJSON() ([]byte, error) {
22636	he.Kind = KindHealthEvaluation
22637	objectMap := make(map[string]interface{})
22638	if he.AggregatedHealthState != "" {
22639		objectMap["AggregatedHealthState"] = he.AggregatedHealthState
22640	}
22641	if he.Description != nil {
22642		objectMap["Description"] = he.Description
22643	}
22644	if he.Kind != "" {
22645		objectMap["Kind"] = he.Kind
22646	}
22647	return json.Marshal(objectMap)
22648}
22649
22650// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22651func (he HealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
22652	return nil, false
22653}
22654
22655// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22656func (he HealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
22657	return nil, false
22658}
22659
22660// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22661func (he HealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
22662	return nil, false
22663}
22664
22665// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22666func (he HealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
22667	return nil, false
22668}
22669
22670// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22671func (he HealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
22672	return nil, false
22673}
22674
22675// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22676func (he HealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
22677	return nil, false
22678}
22679
22680// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22681func (he HealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
22682	return nil, false
22683}
22684
22685// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22686func (he HealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
22687	return nil, false
22688}
22689
22690// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22691func (he HealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
22692	return nil, false
22693}
22694
22695// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22696func (he HealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
22697	return nil, false
22698}
22699
22700// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22701func (he HealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
22702	return nil, false
22703}
22704
22705// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22706func (he HealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
22707	return nil, false
22708}
22709
22710// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22711func (he HealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
22712	return nil, false
22713}
22714
22715// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22716func (he HealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
22717	return nil, false
22718}
22719
22720// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22721func (he HealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
22722	return nil, false
22723}
22724
22725// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22726func (he HealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
22727	return nil, false
22728}
22729
22730// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22731func (he HealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
22732	return nil, false
22733}
22734
22735// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22736func (he HealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
22737	return nil, false
22738}
22739
22740// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22741func (he HealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
22742	return nil, false
22743}
22744
22745// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22746func (he HealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
22747	return nil, false
22748}
22749
22750// AsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22751func (he HealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
22752	return &he, true
22753}
22754
22755// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
22756func (he HealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
22757	return &he, true
22758}
22759
22760// HealthEvaluationWrapper wrapper object for health evaluation.
22761type HealthEvaluationWrapper struct {
22762	// HealthEvaluation - Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.
22763	HealthEvaluation BasicHealthEvaluation `json:"HealthEvaluation,omitempty"`
22764}
22765
22766// UnmarshalJSON is the custom unmarshaler for HealthEvaluationWrapper struct.
22767func (hew *HealthEvaluationWrapper) UnmarshalJSON(body []byte) error {
22768	var m map[string]*json.RawMessage
22769	err := json.Unmarshal(body, &m)
22770	if err != nil {
22771		return err
22772	}
22773	for k, v := range m {
22774		switch k {
22775		case "HealthEvaluation":
22776			if v != nil {
22777				healthEvaluation, err := unmarshalBasicHealthEvaluation(*v)
22778				if err != nil {
22779					return err
22780				}
22781				hew.HealthEvaluation = healthEvaluation
22782			}
22783		}
22784	}
22785
22786	return nil
22787}
22788
22789// HealthEvent represents health information reported on a health entity, such as cluster, application or
22790// node, with additional metadata added by the Health Manager.
22791type HealthEvent struct {
22792	// IsExpired - Returns true if the health event is expired, otherwise false.
22793	IsExpired *bool `json:"IsExpired,omitempty"`
22794	// SourceUtcTimestamp - The date and time when the health report was sent by the source.
22795	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
22796	// LastModifiedUtcTimestamp - The date and time when the health report was last modified by the health store.
22797	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
22798	// LastOkTransitionAt - If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.
22799	// For periodic reporting, many reports with the same state may have been generated.
22800	// This property returns the date and time when the first 'Ok' health report was received.
22801	// 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.
22802	// If the health state was never 'Ok', the value will be zero date-time.
22803	LastOkTransitionAt *date.Time `json:"LastOkTransitionAt,omitempty"`
22804	// 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.
22805	// 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.
22806	// If the health state was never 'Warning', the value will be zero date-time.
22807	LastWarningTransitionAt *date.Time `json:"LastWarningTransitionAt,omitempty"`
22808	// 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.
22809	// 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.
22810	// If the health state was never 'Error', the value will be zero date-time.
22811	LastErrorTransitionAt *date.Time `json:"LastErrorTransitionAt,omitempty"`
22812	// SourceID - The source name which identifies the client/watchdog/system component which generated the health information.
22813	SourceID *string `json:"SourceId,omitempty"`
22814	// Property - The property of the health information. An entity can have health reports for different properties.
22815	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
22816	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
22817	// so it can report "AvailableDisk" property on that node.
22818	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
22819	// In the health store, these reports are treated as separate health events for the specified node.
22820	// Together with the SourceId, the property uniquely identifies the health information.
22821	Property *string `json:"Property,omitempty"`
22822	// 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'
22823	HealthState HealthState `json:"HealthState,omitempty"`
22824	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
22825	// When clients report periodically, they should send reports with higher frequency than time to live.
22826	// If clients report on transition, they can set the time to live to infinite.
22827	// When time to live expires, the health event that contains the health information
22828	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
22829	// If not specified, time to live defaults to infinite value.
22830	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
22831	// Description - The description of the health information. It represents free text used to add human readable information about the report.
22832	// The maximum string length for the description is 4096 characters.
22833	// If the provided string is longer, it will be automatically truncated.
22834	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
22835	// The presence of the marker indicates to users that truncation occurred.
22836	// Note that when truncated, the description has less than 4096 characters from the original string.
22837	Description *string `json:"Description,omitempty"`
22838	// SequenceNumber - The sequence number for this health report as a numeric string.
22839	// The report sequence number is used by the health store to detect stale reports.
22840	// If not specified, a sequence number is auto-generated by the health client when a report is added.
22841	SequenceNumber *string `json:"SequenceNumber,omitempty"`
22842	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
22843	// If set to true, the report is removed from the health store after it expires.
22844	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
22845	// When clients report periodically, they should set RemoveWhenExpired false (default).
22846	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
22847	// This flags the entity as being in Error health state.
22848	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
22849}
22850
22851// HealthInformation represents common health report information. It is included in all health reports sent
22852// to health store and in all health events returned by health queries.
22853type HealthInformation struct {
22854	// SourceID - The source name which identifies the client/watchdog/system component which generated the health information.
22855	SourceID *string `json:"SourceId,omitempty"`
22856	// Property - The property of the health information. An entity can have health reports for different properties.
22857	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
22858	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
22859	// so it can report "AvailableDisk" property on that node.
22860	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
22861	// In the health store, these reports are treated as separate health events for the specified node.
22862	// Together with the SourceId, the property uniquely identifies the health information.
22863	Property *string `json:"Property,omitempty"`
22864	// 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'
22865	HealthState HealthState `json:"HealthState,omitempty"`
22866	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
22867	// When clients report periodically, they should send reports with higher frequency than time to live.
22868	// If clients report on transition, they can set the time to live to infinite.
22869	// When time to live expires, the health event that contains the health information
22870	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
22871	// If not specified, time to live defaults to infinite value.
22872	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
22873	// Description - The description of the health information. It represents free text used to add human readable information about the report.
22874	// The maximum string length for the description is 4096 characters.
22875	// If the provided string is longer, it will be automatically truncated.
22876	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
22877	// The presence of the marker indicates to users that truncation occurred.
22878	// Note that when truncated, the description has less than 4096 characters from the original string.
22879	Description *string `json:"Description,omitempty"`
22880	// SequenceNumber - The sequence number for this health report as a numeric string.
22881	// The report sequence number is used by the health store to detect stale reports.
22882	// If not specified, a sequence number is auto-generated by the health client when a report is added.
22883	SequenceNumber *string `json:"SequenceNumber,omitempty"`
22884	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
22885	// If set to true, the report is removed from the health store after it expires.
22886	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
22887	// When clients report periodically, they should set RemoveWhenExpired false (default).
22888	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
22889	// This flags the entity as being in Error health state.
22890	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
22891}
22892
22893// HealthStateCount represents information about how many health entities are in Ok, Warning and Error
22894// health state.
22895type HealthStateCount struct {
22896	// OkCount - The number of health entities with aggregated health state Ok.
22897	OkCount *int64 `json:"OkCount,omitempty"`
22898	// WarningCount - The number of health entities with aggregated health state Warning.
22899	WarningCount *int64 `json:"WarningCount,omitempty"`
22900	// ErrorCount - The number of health entities with aggregated health state Error.
22901	ErrorCount *int64 `json:"ErrorCount,omitempty"`
22902}
22903
22904// HealthStatistics the health statistics of an entity, returned as part of the health query result when
22905// the query description is configured to include statistics.
22906// The statistics include health state counts for all children types of the current entity.
22907// For example, for cluster, the health statistics include health state counts for nodes, applications,
22908// services, partitions, replicas, deployed applications and deployed service packages.
22909// For partition, the health statistics include health counts for replicas.
22910type HealthStatistics struct {
22911	// 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.
22912	HealthStateCountList *[]EntityKindHealthStateCount `json:"HealthStateCountList,omitempty"`
22913}
22914
22915// ImageStoreContent information about the image store content.
22916type ImageStoreContent struct {
22917	autorest.Response `json:"-"`
22918	// StoreFiles - The list of image store file info objects represents files found under the given image store relative path.
22919	StoreFiles *[]FileInfo `json:"StoreFiles,omitempty"`
22920	// StoreFolders - The list of image store folder info objects represents subfolders found under the given image store relative path.
22921	StoreFolders *[]FolderInfo `json:"StoreFolders,omitempty"`
22922}
22923
22924// ImageStoreCopyDescription information about how to copy image store content from one image store
22925// relative path to another image store relative path.
22926type ImageStoreCopyDescription struct {
22927	// RemoteSource - The relative path of source image store content to be copied from.
22928	RemoteSource *string `json:"RemoteSource,omitempty"`
22929	// RemoteDestination - The relative path of destination image store content to be copied to.
22930	RemoteDestination *string `json:"RemoteDestination,omitempty"`
22931	// SkipFiles - The list of the file names to be skipped for copying.
22932	SkipFiles *[]string `json:"SkipFiles,omitempty"`
22933	// 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.
22934	CheckMarkFile *bool `json:"CheckMarkFile,omitempty"`
22935}
22936
22937// Int64PropertyValue describes a Service Fabric property value of type Int64.
22938type Int64PropertyValue struct {
22939	// Data - The data of the property value.
22940	Data *string `json:"Data,omitempty"`
22941	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
22942	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
22943}
22944
22945// MarshalJSON is the custom marshaler for Int64PropertyValue.
22946func (i6pv Int64PropertyValue) MarshalJSON() ([]byte, error) {
22947	i6pv.Kind = KindInt64
22948	objectMap := make(map[string]interface{})
22949	if i6pv.Data != nil {
22950		objectMap["Data"] = i6pv.Data
22951	}
22952	if i6pv.Kind != "" {
22953		objectMap["Kind"] = i6pv.Kind
22954	}
22955	return json.Marshal(objectMap)
22956}
22957
22958// AsBinaryPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
22959func (i6pv Int64PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
22960	return nil, false
22961}
22962
22963// AsInt64PropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
22964func (i6pv Int64PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
22965	return &i6pv, true
22966}
22967
22968// AsDoublePropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
22969func (i6pv Int64PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
22970	return nil, false
22971}
22972
22973// AsStringPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
22974func (i6pv Int64PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
22975	return nil, false
22976}
22977
22978// AsGUIDPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
22979func (i6pv Int64PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
22980	return nil, false
22981}
22982
22983// AsPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
22984func (i6pv Int64PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
22985	return nil, false
22986}
22987
22988// AsBasicPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
22989func (i6pv Int64PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
22990	return &i6pv, true
22991}
22992
22993// Int64RangePartitionInformation describes the partition information for the integer range that is based
22994// on partition schemes.
22995type Int64RangePartitionInformation struct {
22996	// LowKey - Specifies the minimum key value handled by this partition.
22997	LowKey *string `json:"LowKey,omitempty"`
22998	// HighKey - Specifies the maximum key value handled by this partition.
22999	HighKey *string `json:"HighKey,omitempty"`
23000	// 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.
23001	ID *uuid.UUID `json:"Id,omitempty"`
23002	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
23003	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
23004}
23005
23006// MarshalJSON is the custom marshaler for Int64RangePartitionInformation.
23007func (i6rpi Int64RangePartitionInformation) MarshalJSON() ([]byte, error) {
23008	i6rpi.ServicePartitionKind = ServicePartitionKindInt64Range1
23009	objectMap := make(map[string]interface{})
23010	if i6rpi.LowKey != nil {
23011		objectMap["LowKey"] = i6rpi.LowKey
23012	}
23013	if i6rpi.HighKey != nil {
23014		objectMap["HighKey"] = i6rpi.HighKey
23015	}
23016	if i6rpi.ID != nil {
23017		objectMap["Id"] = i6rpi.ID
23018	}
23019	if i6rpi.ServicePartitionKind != "" {
23020		objectMap["ServicePartitionKind"] = i6rpi.ServicePartitionKind
23021	}
23022	return json.Marshal(objectMap)
23023}
23024
23025// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23026func (i6rpi Int64RangePartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
23027	return &i6rpi, true
23028}
23029
23030// AsNamedPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23031func (i6rpi Int64RangePartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
23032	return nil, false
23033}
23034
23035// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23036func (i6rpi Int64RangePartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
23037	return nil, false
23038}
23039
23040// AsPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23041func (i6rpi Int64RangePartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
23042	return nil, false
23043}
23044
23045// AsBasicPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
23046func (i6rpi Int64RangePartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
23047	return &i6rpi, true
23048}
23049
23050// InvokeDataLossResult represents information about an operation in a terminal state (Completed or
23051// Faulted).
23052type InvokeDataLossResult struct {
23053	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
23054	ErrorCode *int32 `json:"ErrorCode,omitempty"`
23055	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
23056	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
23057}
23058
23059// InvokeQuorumLossResult represents information about an operation in a terminal state (Completed or
23060// Faulted).
23061type InvokeQuorumLossResult struct {
23062	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
23063	ErrorCode *int32 `json:"ErrorCode,omitempty"`
23064	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
23065	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
23066}
23067
23068// KeyValueStoreReplicaStatus key value store related information for the replica.
23069type KeyValueStoreReplicaStatus struct {
23070	// DatabaseRowCountEstimate - Value indicating the estimated number of rows in the underlying database.
23071	DatabaseRowCountEstimate *string `json:"DatabaseRowCountEstimate,omitempty"`
23072	// DatabaseLogicalSizeEstimate - Value indicating the estimated size of the underlying database.
23073	DatabaseLogicalSizeEstimate *string `json:"DatabaseLogicalSizeEstimate,omitempty"`
23074	// CopyNotificationCurrentKeyFilter - Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback.
23075	CopyNotificationCurrentKeyFilter *string `json:"CopyNotificationCurrentKeyFilter,omitempty"`
23076	// CopyNotificationCurrentProgress - Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback.
23077	CopyNotificationCurrentProgress *string `json:"CopyNotificationCurrentProgress,omitempty"`
23078	// StatusDetails - Value indicating the current status details of the replica.
23079	StatusDetails *string `json:"StatusDetails,omitempty"`
23080	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
23081	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
23082}
23083
23084// MarshalJSON is the custom marshaler for KeyValueStoreReplicaStatus.
23085func (kvsrs KeyValueStoreReplicaStatus) MarshalJSON() ([]byte, error) {
23086	kvsrs.Kind = KindKeyValueStore
23087	objectMap := make(map[string]interface{})
23088	if kvsrs.DatabaseRowCountEstimate != nil {
23089		objectMap["DatabaseRowCountEstimate"] = kvsrs.DatabaseRowCountEstimate
23090	}
23091	if kvsrs.DatabaseLogicalSizeEstimate != nil {
23092		objectMap["DatabaseLogicalSizeEstimate"] = kvsrs.DatabaseLogicalSizeEstimate
23093	}
23094	if kvsrs.CopyNotificationCurrentKeyFilter != nil {
23095		objectMap["CopyNotificationCurrentKeyFilter"] = kvsrs.CopyNotificationCurrentKeyFilter
23096	}
23097	if kvsrs.CopyNotificationCurrentProgress != nil {
23098		objectMap["CopyNotificationCurrentProgress"] = kvsrs.CopyNotificationCurrentProgress
23099	}
23100	if kvsrs.StatusDetails != nil {
23101		objectMap["StatusDetails"] = kvsrs.StatusDetails
23102	}
23103	if kvsrs.Kind != "" {
23104		objectMap["Kind"] = kvsrs.Kind
23105	}
23106	return json.Marshal(objectMap)
23107}
23108
23109// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
23110func (kvsrs KeyValueStoreReplicaStatus) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
23111	return &kvsrs, true
23112}
23113
23114// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
23115func (kvsrs KeyValueStoreReplicaStatus) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
23116	return nil, false
23117}
23118
23119// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
23120func (kvsrs KeyValueStoreReplicaStatus) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
23121	return &kvsrs, true
23122}
23123
23124// ListApplicationEvent ...
23125type ListApplicationEvent struct {
23126	autorest.Response `json:"-"`
23127	Value             *[]BasicApplicationEvent `json:"value,omitempty"`
23128}
23129
23130// UnmarshalJSON is the custom unmarshaler for ListApplicationEvent struct.
23131func (lae *ListApplicationEvent) UnmarshalJSON(body []byte) error {
23132	ae, err := unmarshalBasicApplicationEventArray(body)
23133	if err != nil {
23134		return err
23135	}
23136	lae.Value = &ae
23137
23138	return nil
23139}
23140
23141// ListClusterEvent ...
23142type ListClusterEvent struct {
23143	autorest.Response `json:"-"`
23144	Value             *[]BasicClusterEvent `json:"value,omitempty"`
23145}
23146
23147// UnmarshalJSON is the custom unmarshaler for ListClusterEvent struct.
23148func (lce *ListClusterEvent) UnmarshalJSON(body []byte) error {
23149	ce, err := unmarshalBasicClusterEventArray(body)
23150	if err != nil {
23151		return err
23152	}
23153	lce.Value = &ce
23154
23155	return nil
23156}
23157
23158// ListContainerInstanceEvent ...
23159type ListContainerInstanceEvent struct {
23160	autorest.Response `json:"-"`
23161	Value             *[]ContainerInstanceEvent `json:"value,omitempty"`
23162}
23163
23164// ListDeployedCodePackageInfo ...
23165type ListDeployedCodePackageInfo struct {
23166	autorest.Response `json:"-"`
23167	Value             *[]DeployedCodePackageInfo `json:"value,omitempty"`
23168}
23169
23170// ListDeployedServicePackageInfo ...
23171type ListDeployedServicePackageInfo struct {
23172	autorest.Response `json:"-"`
23173	Value             *[]DeployedServicePackageInfo `json:"value,omitempty"`
23174}
23175
23176// ListDeployedServiceReplicaInfo ...
23177type ListDeployedServiceReplicaInfo struct {
23178	autorest.Response `json:"-"`
23179	Value             *[]BasicDeployedServiceReplicaInfo `json:"value,omitempty"`
23180}
23181
23182// UnmarshalJSON is the custom unmarshaler for ListDeployedServiceReplicaInfo struct.
23183func (ldsri *ListDeployedServiceReplicaInfo) UnmarshalJSON(body []byte) error {
23184	dsri, err := unmarshalBasicDeployedServiceReplicaInfoArray(body)
23185	if err != nil {
23186		return err
23187	}
23188	ldsri.Value = &dsri
23189
23190	return nil
23191}
23192
23193// ListDeployedServiceTypeInfo ...
23194type ListDeployedServiceTypeInfo struct {
23195	autorest.Response `json:"-"`
23196	Value             *[]DeployedServiceTypeInfo `json:"value,omitempty"`
23197}
23198
23199// ListFabricCodeVersionInfo ...
23200type ListFabricCodeVersionInfo struct {
23201	autorest.Response `json:"-"`
23202	Value             *[]FabricCodeVersionInfo `json:"value,omitempty"`
23203}
23204
23205// ListFabricConfigVersionInfo ...
23206type ListFabricConfigVersionInfo struct {
23207	autorest.Response `json:"-"`
23208	Value             *[]FabricConfigVersionInfo `json:"value,omitempty"`
23209}
23210
23211// ListFabricEvent ...
23212type ListFabricEvent struct {
23213	autorest.Response `json:"-"`
23214	Value             *[]BasicFabricEvent `json:"value,omitempty"`
23215}
23216
23217// UnmarshalJSON is the custom unmarshaler for ListFabricEvent struct.
23218func (lfe *ListFabricEvent) UnmarshalJSON(body []byte) error {
23219	fe, err := unmarshalBasicFabricEventArray(body)
23220	if err != nil {
23221		return err
23222	}
23223	lfe.Value = &fe
23224
23225	return nil
23226}
23227
23228// ListNodeEvent ...
23229type ListNodeEvent struct {
23230	autorest.Response `json:"-"`
23231	Value             *[]BasicNodeEvent `json:"value,omitempty"`
23232}
23233
23234// UnmarshalJSON is the custom unmarshaler for ListNodeEvent struct.
23235func (lne *ListNodeEvent) UnmarshalJSON(body []byte) error {
23236	ne, err := unmarshalBasicNodeEventArray(body)
23237	if err != nil {
23238		return err
23239	}
23240	lne.Value = &ne
23241
23242	return nil
23243}
23244
23245// ListOperationStatus ...
23246type ListOperationStatus struct {
23247	autorest.Response `json:"-"`
23248	Value             *[]OperationStatus `json:"value,omitempty"`
23249}
23250
23251// ListPartitionEvent ...
23252type ListPartitionEvent struct {
23253	autorest.Response `json:"-"`
23254	Value             *[]BasicPartitionEvent `json:"value,omitempty"`
23255}
23256
23257// UnmarshalJSON is the custom unmarshaler for ListPartitionEvent struct.
23258func (lpe *ListPartitionEvent) UnmarshalJSON(body []byte) error {
23259	peVar, err := unmarshalBasicPartitionEventArray(body)
23260	if err != nil {
23261		return err
23262	}
23263	lpe.Value = &peVar
23264
23265	return nil
23266}
23267
23268// ListRepairTask ...
23269type ListRepairTask struct {
23270	autorest.Response `json:"-"`
23271	Value             *[]RepairTask `json:"value,omitempty"`
23272}
23273
23274// ListReplicaEvent ...
23275type ListReplicaEvent struct {
23276	autorest.Response `json:"-"`
23277	Value             *[]BasicReplicaEvent `json:"value,omitempty"`
23278}
23279
23280// UnmarshalJSON is the custom unmarshaler for ListReplicaEvent struct.
23281func (lre *ListReplicaEvent) UnmarshalJSON(body []byte) error {
23282	re, err := unmarshalBasicReplicaEventArray(body)
23283	if err != nil {
23284		return err
23285	}
23286	lre.Value = &re
23287
23288	return nil
23289}
23290
23291// ListServiceEvent ...
23292type ListServiceEvent struct {
23293	autorest.Response `json:"-"`
23294	Value             *[]BasicServiceEvent `json:"value,omitempty"`
23295}
23296
23297// UnmarshalJSON is the custom unmarshaler for ListServiceEvent struct.
23298func (lse *ListServiceEvent) UnmarshalJSON(body []byte) error {
23299	se, err := unmarshalBasicServiceEventArray(body)
23300	if err != nil {
23301		return err
23302	}
23303	lse.Value = &se
23304
23305	return nil
23306}
23307
23308// ListServiceTypeInfo ...
23309type ListServiceTypeInfo struct {
23310	autorest.Response `json:"-"`
23311	Value             *[]ServiceTypeInfo `json:"value,omitempty"`
23312}
23313
23314// LoadMetricReport represents the load metric report which contains the time metric was reported, its name
23315// and value.
23316type LoadMetricReport struct {
23317	// LastReportedUtc - Gets the UTC time when the load was reported.
23318	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
23319	// Name - The name of the load metric.
23320	Name *string `json:"Name,omitempty"`
23321	// Value - The value of the load metric.
23322	Value *string `json:"Value,omitempty"`
23323}
23324
23325// LoadMetricReportInfo information about load reported by replica.
23326type LoadMetricReportInfo struct {
23327	// Name - The name of the metric.
23328	Name *string `json:"Name,omitempty"`
23329	// Value - The value of the load for the metric..
23330	Value *int32 `json:"Value,omitempty"`
23331	// LastReportedUtc - The UTC time when the load is reported.
23332	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
23333}
23334
23335// MonitoringPolicyDescription describes the parameters for monitoring an upgrade in Monitored mode.
23336type MonitoringPolicyDescription struct {
23337	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
23338	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
23339	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
23340	FailureAction FailureAction `json:"FailureAction,omitempty"`
23341	// 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.
23342	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
23343	// 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.
23344	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
23345	// 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.
23346	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
23347	// 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.
23348	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
23349	// 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.
23350	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
23351}
23352
23353// NameDescription describes a Service Fabric name.
23354type NameDescription struct {
23355	// Name - The Service Fabric name, including the 'fabric:' URI scheme.
23356	Name *string `json:"Name,omitempty"`
23357}
23358
23359// NamedPartitionInformation describes the partition information for the name as a string that is based on
23360// partition schemes.
23361type NamedPartitionInformation struct {
23362	// Name - Name of the partition.
23363	Name *string `json:"Name,omitempty"`
23364	// 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.
23365	ID *uuid.UUID `json:"Id,omitempty"`
23366	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
23367	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
23368}
23369
23370// MarshalJSON is the custom marshaler for NamedPartitionInformation.
23371func (npi NamedPartitionInformation) MarshalJSON() ([]byte, error) {
23372	npi.ServicePartitionKind = ServicePartitionKindNamed1
23373	objectMap := make(map[string]interface{})
23374	if npi.Name != nil {
23375		objectMap["Name"] = npi.Name
23376	}
23377	if npi.ID != nil {
23378		objectMap["Id"] = npi.ID
23379	}
23380	if npi.ServicePartitionKind != "" {
23381		objectMap["ServicePartitionKind"] = npi.ServicePartitionKind
23382	}
23383	return json.Marshal(objectMap)
23384}
23385
23386// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23387func (npi NamedPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
23388	return nil, false
23389}
23390
23391// AsNamedPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23392func (npi NamedPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
23393	return &npi, true
23394}
23395
23396// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23397func (npi NamedPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
23398	return nil, false
23399}
23400
23401// AsPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23402func (npi NamedPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
23403	return nil, false
23404}
23405
23406// AsBasicPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
23407func (npi NamedPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
23408	return &npi, true
23409}
23410
23411// NamedPartitionSchemeDescription describes the named partition scheme of the service.
23412type NamedPartitionSchemeDescription struct {
23413	// Count - The number of partitions.
23414	Count *int32 `json:"Count,omitempty"`
23415	// Names - Array of size specified by the ‘Count’ parameter, for the names of the partitions.
23416	Names *[]string `json:"Names,omitempty"`
23417	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
23418	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
23419}
23420
23421// MarshalJSON is the custom marshaler for NamedPartitionSchemeDescription.
23422func (npsd NamedPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
23423	npsd.PartitionScheme = PartitionSchemeNamed1
23424	objectMap := make(map[string]interface{})
23425	if npsd.Count != nil {
23426		objectMap["Count"] = npsd.Count
23427	}
23428	if npsd.Names != nil {
23429		objectMap["Names"] = npsd.Names
23430	}
23431	if npsd.PartitionScheme != "" {
23432		objectMap["PartitionScheme"] = npsd.PartitionScheme
23433	}
23434	return json.Marshal(objectMap)
23435}
23436
23437// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23438func (npsd NamedPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
23439	return &npsd, true
23440}
23441
23442// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23443func (npsd NamedPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
23444	return nil, false
23445}
23446
23447// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23448func (npsd NamedPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
23449	return nil, false
23450}
23451
23452// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23453func (npsd NamedPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
23454	return nil, false
23455}
23456
23457// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
23458func (npsd NamedPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
23459	return &npsd, true
23460}
23461
23462// NodeAbortedEvent node Aborted event.
23463type NodeAbortedEvent struct {
23464	// NodeInstance - Id of Node instance.
23465	NodeInstance *int64 `json:"NodeInstance,omitempty"`
23466	// NodeID - Id of Node.
23467	NodeID *string `json:"NodeId,omitempty"`
23468	// UpgradeDomain - Upgrade domain of Node.
23469	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
23470	// FaultDomain - Fault domain of Node.
23471	FaultDomain *string `json:"FaultDomain,omitempty"`
23472	// IPAddressOrFQDN - IP address or FQDN.
23473	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
23474	// Hostname - Name of Host.
23475	Hostname *string `json:"Hostname,omitempty"`
23476	// IsSeedNode - Indicates if it is seed node.
23477	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
23478	// NodeVersion - Version of Node.
23479	NodeVersion *string `json:"NodeVersion,omitempty"`
23480	// NodeName - The name of a Service Fabric node.
23481	NodeName *string `json:"NodeName,omitempty"`
23482	// EventInstanceID - The identifier for the FabricEvent instance.
23483	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
23484	// TimeStamp - The time event was logged.
23485	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
23486	// HasCorrelatedEvents - Shows there is existing related events available.
23487	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
23488	// 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'
23489	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
23490}
23491
23492// MarshalJSON is the custom marshaler for NodeAbortedEvent.
23493func (nae NodeAbortedEvent) MarshalJSON() ([]byte, error) {
23494	nae.Kind = KindNodeAborted
23495	objectMap := make(map[string]interface{})
23496	if nae.NodeInstance != nil {
23497		objectMap["NodeInstance"] = nae.NodeInstance
23498	}
23499	if nae.NodeID != nil {
23500		objectMap["NodeId"] = nae.NodeID
23501	}
23502	if nae.UpgradeDomain != nil {
23503		objectMap["UpgradeDomain"] = nae.UpgradeDomain
23504	}
23505	if nae.FaultDomain != nil {
23506		objectMap["FaultDomain"] = nae.FaultDomain
23507	}
23508	if nae.IPAddressOrFQDN != nil {
23509		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
23510	}
23511	if nae.Hostname != nil {
23512		objectMap["Hostname"] = nae.Hostname
23513	}
23514	if nae.IsSeedNode != nil {
23515		objectMap["IsSeedNode"] = nae.IsSeedNode
23516	}
23517	if nae.NodeVersion != nil {
23518		objectMap["NodeVersion"] = nae.NodeVersion
23519	}
23520	if nae.NodeName != nil {
23521		objectMap["NodeName"] = nae.NodeName
23522	}
23523	if nae.EventInstanceID != nil {
23524		objectMap["EventInstanceId"] = nae.EventInstanceID
23525	}
23526	if nae.TimeStamp != nil {
23527		objectMap["TimeStamp"] = nae.TimeStamp
23528	}
23529	if nae.HasCorrelatedEvents != nil {
23530		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
23531	}
23532	if nae.Kind != "" {
23533		objectMap["Kind"] = nae.Kind
23534	}
23535	return json.Marshal(objectMap)
23536}
23537
23538// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23539func (nae NodeAbortedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
23540	return nil, false
23541}
23542
23543// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23544func (nae NodeAbortedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
23545	return nil, false
23546}
23547
23548// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23549func (nae NodeAbortedEvent) AsClusterEvent() (*ClusterEvent, bool) {
23550	return nil, false
23551}
23552
23553// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23554func (nae NodeAbortedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
23555	return nil, false
23556}
23557
23558// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23559func (nae NodeAbortedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
23560	return nil, false
23561}
23562
23563// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23564func (nae NodeAbortedEvent) AsNodeEvent() (*NodeEvent, bool) {
23565	return nil, false
23566}
23567
23568// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23569func (nae NodeAbortedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
23570	return &nae, true
23571}
23572
23573// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23574func (nae NodeAbortedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
23575	return nil, false
23576}
23577
23578// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23579func (nae NodeAbortedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
23580	return nil, false
23581}
23582
23583// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23584func (nae NodeAbortedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
23585	return nil, false
23586}
23587
23588// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23589func (nae NodeAbortedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
23590	return nil, false
23591}
23592
23593// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23594func (nae NodeAbortedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
23595	return nil, false
23596}
23597
23598// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23599func (nae NodeAbortedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
23600	return nil, false
23601}
23602
23603// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23604func (nae NodeAbortedEvent) AsServiceEvent() (*ServiceEvent, bool) {
23605	return nil, false
23606}
23607
23608// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23609func (nae NodeAbortedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
23610	return nil, false
23611}
23612
23613// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23614func (nae NodeAbortedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
23615	return nil, false
23616}
23617
23618// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23619func (nae NodeAbortedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
23620	return nil, false
23621}
23622
23623// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23624func (nae NodeAbortedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
23625	return nil, false
23626}
23627
23628// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23629func (nae NodeAbortedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
23630	return nil, false
23631}
23632
23633// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23634func (nae NodeAbortedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
23635	return nil, false
23636}
23637
23638// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23639func (nae NodeAbortedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
23640	return nil, false
23641}
23642
23643// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23644func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
23645	return nil, false
23646}
23647
23648// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23649func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
23650	return nil, false
23651}
23652
23653// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23654func (nae NodeAbortedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
23655	return nil, false
23656}
23657
23658// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23659func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
23660	return nil, false
23661}
23662
23663// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23664func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
23665	return nil, false
23666}
23667
23668// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23669func (nae NodeAbortedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
23670	return nil, false
23671}
23672
23673// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23674func (nae NodeAbortedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
23675	return nil, false
23676}
23677
23678// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23679func (nae NodeAbortedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
23680	return &nae, true
23681}
23682
23683// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23684func (nae NodeAbortedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
23685	return nil, false
23686}
23687
23688// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23689func (nae NodeAbortedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
23690	return nil, false
23691}
23692
23693// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23694func (nae NodeAbortedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
23695	return nil, false
23696}
23697
23698// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23699func (nae NodeAbortedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
23700	return nil, false
23701}
23702
23703// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23704func (nae NodeAbortedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
23705	return nil, false
23706}
23707
23708// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23709func (nae NodeAbortedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
23710	return nil, false
23711}
23712
23713// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23714func (nae NodeAbortedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
23715	return nil, false
23716}
23717
23718// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23719func (nae NodeAbortedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
23720	return nil, false
23721}
23722
23723// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23724func (nae NodeAbortedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
23725	return nil, false
23726}
23727
23728// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23729func (nae NodeAbortedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
23730	return nil, false
23731}
23732
23733// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23734func (nae NodeAbortedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
23735	return nil, false
23736}
23737
23738// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23739func (nae NodeAbortedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
23740	return nil, false
23741}
23742
23743// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23744func (nae NodeAbortedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
23745	return nil, false
23746}
23747
23748// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23749func (nae NodeAbortedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
23750	return nil, false
23751}
23752
23753// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23754func (nae NodeAbortedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
23755	return nil, false
23756}
23757
23758// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23759func (nae NodeAbortedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
23760	return nil, false
23761}
23762
23763// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23764func (nae NodeAbortedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
23765	return nil, false
23766}
23767
23768// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23769func (nae NodeAbortedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
23770	return nil, false
23771}
23772
23773// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23774func (nae NodeAbortedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
23775	return nil, false
23776}
23777
23778// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23779func (nae NodeAbortedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
23780	return nil, false
23781}
23782
23783// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23784func (nae NodeAbortedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
23785	return nil, false
23786}
23787
23788// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23789func (nae NodeAbortedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
23790	return nil, false
23791}
23792
23793// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23794func (nae NodeAbortedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
23795	return nil, false
23796}
23797
23798// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23799func (nae NodeAbortedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
23800	return nil, false
23801}
23802
23803// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23804func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
23805	return nil, false
23806}
23807
23808// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23809func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
23810	return nil, false
23811}
23812
23813// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23814func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
23815	return nil, false
23816}
23817
23818// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23819func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
23820	return nil, false
23821}
23822
23823// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23824func (nae NodeAbortedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
23825	return nil, false
23826}
23827
23828// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23829func (nae NodeAbortedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
23830	return nil, false
23831}
23832
23833// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23834func (nae NodeAbortedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
23835	return nil, false
23836}
23837
23838// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23839func (nae NodeAbortedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
23840	return nil, false
23841}
23842
23843// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23844func (nae NodeAbortedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
23845	return nil, false
23846}
23847
23848// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23849func (nae NodeAbortedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
23850	return nil, false
23851}
23852
23853// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23854func (nae NodeAbortedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
23855	return nil, false
23856}
23857
23858// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23859func (nae NodeAbortedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
23860	return nil, false
23861}
23862
23863// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23864func (nae NodeAbortedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
23865	return nil, false
23866}
23867
23868// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23869func (nae NodeAbortedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
23870	return nil, false
23871}
23872
23873// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23874func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
23875	return nil, false
23876}
23877
23878// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23879func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
23880	return nil, false
23881}
23882
23883// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23884func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
23885	return nil, false
23886}
23887
23888// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23889func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
23890	return nil, false
23891}
23892
23893// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23894func (nae NodeAbortedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
23895	return nil, false
23896}
23897
23898// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23899func (nae NodeAbortedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
23900	return nil, false
23901}
23902
23903// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23904func (nae NodeAbortedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
23905	return nil, false
23906}
23907
23908// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23909func (nae NodeAbortedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
23910	return nil, false
23911}
23912
23913// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23914func (nae NodeAbortedEvent) AsFabricEvent() (*FabricEvent, bool) {
23915	return nil, false
23916}
23917
23918// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
23919func (nae NodeAbortedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
23920	return &nae, true
23921}
23922
23923// NodeAbortingEvent node Aborting event.
23924type NodeAbortingEvent struct {
23925	// NodeInstance - Id of Node instance.
23926	NodeInstance *int64 `json:"NodeInstance,omitempty"`
23927	// NodeID - Id of Node.
23928	NodeID *string `json:"NodeId,omitempty"`
23929	// UpgradeDomain - Upgrade domain of Node.
23930	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
23931	// FaultDomain - Fault domain of Node.
23932	FaultDomain *string `json:"FaultDomain,omitempty"`
23933	// IPAddressOrFQDN - IP address or FQDN.
23934	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
23935	// Hostname - Name of Host.
23936	Hostname *string `json:"Hostname,omitempty"`
23937	// IsSeedNode - Indicates if it is seed node.
23938	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
23939	// NodeVersion - Version of Node.
23940	NodeVersion *string `json:"NodeVersion,omitempty"`
23941	// NodeName - The name of a Service Fabric node.
23942	NodeName *string `json:"NodeName,omitempty"`
23943	// EventInstanceID - The identifier for the FabricEvent instance.
23944	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
23945	// TimeStamp - The time event was logged.
23946	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
23947	// HasCorrelatedEvents - Shows there is existing related events available.
23948	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
23949	// 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'
23950	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
23951}
23952
23953// MarshalJSON is the custom marshaler for NodeAbortingEvent.
23954func (nae NodeAbortingEvent) MarshalJSON() ([]byte, error) {
23955	nae.Kind = KindNodeAborting
23956	objectMap := make(map[string]interface{})
23957	if nae.NodeInstance != nil {
23958		objectMap["NodeInstance"] = nae.NodeInstance
23959	}
23960	if nae.NodeID != nil {
23961		objectMap["NodeId"] = nae.NodeID
23962	}
23963	if nae.UpgradeDomain != nil {
23964		objectMap["UpgradeDomain"] = nae.UpgradeDomain
23965	}
23966	if nae.FaultDomain != nil {
23967		objectMap["FaultDomain"] = nae.FaultDomain
23968	}
23969	if nae.IPAddressOrFQDN != nil {
23970		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
23971	}
23972	if nae.Hostname != nil {
23973		objectMap["Hostname"] = nae.Hostname
23974	}
23975	if nae.IsSeedNode != nil {
23976		objectMap["IsSeedNode"] = nae.IsSeedNode
23977	}
23978	if nae.NodeVersion != nil {
23979		objectMap["NodeVersion"] = nae.NodeVersion
23980	}
23981	if nae.NodeName != nil {
23982		objectMap["NodeName"] = nae.NodeName
23983	}
23984	if nae.EventInstanceID != nil {
23985		objectMap["EventInstanceId"] = nae.EventInstanceID
23986	}
23987	if nae.TimeStamp != nil {
23988		objectMap["TimeStamp"] = nae.TimeStamp
23989	}
23990	if nae.HasCorrelatedEvents != nil {
23991		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
23992	}
23993	if nae.Kind != "" {
23994		objectMap["Kind"] = nae.Kind
23995	}
23996	return json.Marshal(objectMap)
23997}
23998
23999// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24000func (nae NodeAbortingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
24001	return nil, false
24002}
24003
24004// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24005func (nae NodeAbortingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
24006	return nil, false
24007}
24008
24009// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24010func (nae NodeAbortingEvent) AsClusterEvent() (*ClusterEvent, bool) {
24011	return nil, false
24012}
24013
24014// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24015func (nae NodeAbortingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
24016	return nil, false
24017}
24018
24019// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24020func (nae NodeAbortingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
24021	return nil, false
24022}
24023
24024// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24025func (nae NodeAbortingEvent) AsNodeEvent() (*NodeEvent, bool) {
24026	return nil, false
24027}
24028
24029// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24030func (nae NodeAbortingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
24031	return &nae, true
24032}
24033
24034// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24035func (nae NodeAbortingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
24036	return nil, false
24037}
24038
24039// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24040func (nae NodeAbortingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
24041	return nil, false
24042}
24043
24044// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24045func (nae NodeAbortingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
24046	return nil, false
24047}
24048
24049// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24050func (nae NodeAbortingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
24051	return nil, false
24052}
24053
24054// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24055func (nae NodeAbortingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
24056	return nil, false
24057}
24058
24059// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24060func (nae NodeAbortingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
24061	return nil, false
24062}
24063
24064// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24065func (nae NodeAbortingEvent) AsServiceEvent() (*ServiceEvent, bool) {
24066	return nil, false
24067}
24068
24069// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24070func (nae NodeAbortingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
24071	return nil, false
24072}
24073
24074// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24075func (nae NodeAbortingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
24076	return nil, false
24077}
24078
24079// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24080func (nae NodeAbortingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
24081	return nil, false
24082}
24083
24084// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24085func (nae NodeAbortingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
24086	return nil, false
24087}
24088
24089// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24090func (nae NodeAbortingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
24091	return nil, false
24092}
24093
24094// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24095func (nae NodeAbortingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
24096	return nil, false
24097}
24098
24099// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24100func (nae NodeAbortingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
24101	return nil, false
24102}
24103
24104// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24105func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
24106	return nil, false
24107}
24108
24109// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24110func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
24111	return nil, false
24112}
24113
24114// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24115func (nae NodeAbortingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
24116	return nil, false
24117}
24118
24119// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24120func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
24121	return nil, false
24122}
24123
24124// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24125func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
24126	return nil, false
24127}
24128
24129// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24130func (nae NodeAbortingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
24131	return nil, false
24132}
24133
24134// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24135func (nae NodeAbortingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
24136	return nil, false
24137}
24138
24139// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24140func (nae NodeAbortingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
24141	return nil, false
24142}
24143
24144// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24145func (nae NodeAbortingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
24146	return &nae, true
24147}
24148
24149// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24150func (nae NodeAbortingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
24151	return nil, false
24152}
24153
24154// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24155func (nae NodeAbortingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
24156	return nil, false
24157}
24158
24159// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24160func (nae NodeAbortingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
24161	return nil, false
24162}
24163
24164// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24165func (nae NodeAbortingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
24166	return nil, false
24167}
24168
24169// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24170func (nae NodeAbortingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
24171	return nil, false
24172}
24173
24174// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24175func (nae NodeAbortingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
24176	return nil, false
24177}
24178
24179// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24180func (nae NodeAbortingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
24181	return nil, false
24182}
24183
24184// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24185func (nae NodeAbortingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
24186	return nil, false
24187}
24188
24189// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24190func (nae NodeAbortingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
24191	return nil, false
24192}
24193
24194// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24195func (nae NodeAbortingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
24196	return nil, false
24197}
24198
24199// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24200func (nae NodeAbortingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
24201	return nil, false
24202}
24203
24204// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24205func (nae NodeAbortingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
24206	return nil, false
24207}
24208
24209// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24210func (nae NodeAbortingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
24211	return nil, false
24212}
24213
24214// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24215func (nae NodeAbortingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
24216	return nil, false
24217}
24218
24219// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24220func (nae NodeAbortingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
24221	return nil, false
24222}
24223
24224// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24225func (nae NodeAbortingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
24226	return nil, false
24227}
24228
24229// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24230func (nae NodeAbortingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
24231	return nil, false
24232}
24233
24234// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24235func (nae NodeAbortingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
24236	return nil, false
24237}
24238
24239// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24240func (nae NodeAbortingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
24241	return nil, false
24242}
24243
24244// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24245func (nae NodeAbortingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
24246	return nil, false
24247}
24248
24249// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24250func (nae NodeAbortingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
24251	return nil, false
24252}
24253
24254// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24255func (nae NodeAbortingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
24256	return nil, false
24257}
24258
24259// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24260func (nae NodeAbortingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
24261	return nil, false
24262}
24263
24264// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24265func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
24266	return nil, false
24267}
24268
24269// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24270func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
24271	return nil, false
24272}
24273
24274// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24275func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
24276	return nil, false
24277}
24278
24279// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24280func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
24281	return nil, false
24282}
24283
24284// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24285func (nae NodeAbortingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
24286	return nil, false
24287}
24288
24289// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24290func (nae NodeAbortingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
24291	return nil, false
24292}
24293
24294// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24295func (nae NodeAbortingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
24296	return nil, false
24297}
24298
24299// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24300func (nae NodeAbortingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
24301	return nil, false
24302}
24303
24304// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24305func (nae NodeAbortingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
24306	return nil, false
24307}
24308
24309// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24310func (nae NodeAbortingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
24311	return nil, false
24312}
24313
24314// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24315func (nae NodeAbortingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
24316	return nil, false
24317}
24318
24319// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24320func (nae NodeAbortingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
24321	return nil, false
24322}
24323
24324// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24325func (nae NodeAbortingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
24326	return nil, false
24327}
24328
24329// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24330func (nae NodeAbortingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
24331	return nil, false
24332}
24333
24334// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24335func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
24336	return nil, false
24337}
24338
24339// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24340func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
24341	return nil, false
24342}
24343
24344// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24345func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
24346	return nil, false
24347}
24348
24349// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24350func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
24351	return nil, false
24352}
24353
24354// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24355func (nae NodeAbortingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
24356	return nil, false
24357}
24358
24359// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24360func (nae NodeAbortingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
24361	return nil, false
24362}
24363
24364// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24365func (nae NodeAbortingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
24366	return nil, false
24367}
24368
24369// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24370func (nae NodeAbortingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
24371	return nil, false
24372}
24373
24374// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24375func (nae NodeAbortingEvent) AsFabricEvent() (*FabricEvent, bool) {
24376	return nil, false
24377}
24378
24379// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
24380func (nae NodeAbortingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
24381	return &nae, true
24382}
24383
24384// NodeAddedEvent node Added event.
24385type NodeAddedEvent struct {
24386	// NodeID - Id of Node.
24387	NodeID *string `json:"NodeId,omitempty"`
24388	// NodeInstance - Id of Node instance.
24389	NodeInstance *int64 `json:"NodeInstance,omitempty"`
24390	// NodeType - Type of Node.
24391	NodeType *string `json:"NodeType,omitempty"`
24392	// FabricVersion - Fabric version.
24393	FabricVersion *string `json:"FabricVersion,omitempty"`
24394	// IPAddressOrFQDN - IP address or FQDN.
24395	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
24396	// NodeCapacities - Capacities.
24397	NodeCapacities *string `json:"NodeCapacities,omitempty"`
24398	// NodeName - The name of a Service Fabric node.
24399	NodeName *string `json:"NodeName,omitempty"`
24400	// EventInstanceID - The identifier for the FabricEvent instance.
24401	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
24402	// TimeStamp - The time event was logged.
24403	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
24404	// HasCorrelatedEvents - Shows there is existing related events available.
24405	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
24406	// 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'
24407	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
24408}
24409
24410// MarshalJSON is the custom marshaler for NodeAddedEvent.
24411func (nae NodeAddedEvent) MarshalJSON() ([]byte, error) {
24412	nae.Kind = KindNodeAdded
24413	objectMap := make(map[string]interface{})
24414	if nae.NodeID != nil {
24415		objectMap["NodeId"] = nae.NodeID
24416	}
24417	if nae.NodeInstance != nil {
24418		objectMap["NodeInstance"] = nae.NodeInstance
24419	}
24420	if nae.NodeType != nil {
24421		objectMap["NodeType"] = nae.NodeType
24422	}
24423	if nae.FabricVersion != nil {
24424		objectMap["FabricVersion"] = nae.FabricVersion
24425	}
24426	if nae.IPAddressOrFQDN != nil {
24427		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
24428	}
24429	if nae.NodeCapacities != nil {
24430		objectMap["NodeCapacities"] = nae.NodeCapacities
24431	}
24432	if nae.NodeName != nil {
24433		objectMap["NodeName"] = nae.NodeName
24434	}
24435	if nae.EventInstanceID != nil {
24436		objectMap["EventInstanceId"] = nae.EventInstanceID
24437	}
24438	if nae.TimeStamp != nil {
24439		objectMap["TimeStamp"] = nae.TimeStamp
24440	}
24441	if nae.HasCorrelatedEvents != nil {
24442		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
24443	}
24444	if nae.Kind != "" {
24445		objectMap["Kind"] = nae.Kind
24446	}
24447	return json.Marshal(objectMap)
24448}
24449
24450// AsApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24451func (nae NodeAddedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
24452	return nil, false
24453}
24454
24455// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24456func (nae NodeAddedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
24457	return nil, false
24458}
24459
24460// AsClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24461func (nae NodeAddedEvent) AsClusterEvent() (*ClusterEvent, bool) {
24462	return nil, false
24463}
24464
24465// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24466func (nae NodeAddedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
24467	return nil, false
24468}
24469
24470// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24471func (nae NodeAddedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
24472	return nil, false
24473}
24474
24475// AsNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24476func (nae NodeAddedEvent) AsNodeEvent() (*NodeEvent, bool) {
24477	return nil, false
24478}
24479
24480// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24481func (nae NodeAddedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
24482	return &nae, true
24483}
24484
24485// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24486func (nae NodeAddedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
24487	return nil, false
24488}
24489
24490// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24491func (nae NodeAddedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
24492	return nil, false
24493}
24494
24495// AsPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24496func (nae NodeAddedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
24497	return nil, false
24498}
24499
24500// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24501func (nae NodeAddedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
24502	return nil, false
24503}
24504
24505// AsReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24506func (nae NodeAddedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
24507	return nil, false
24508}
24509
24510// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24511func (nae NodeAddedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
24512	return nil, false
24513}
24514
24515// AsServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24516func (nae NodeAddedEvent) AsServiceEvent() (*ServiceEvent, bool) {
24517	return nil, false
24518}
24519
24520// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24521func (nae NodeAddedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
24522	return nil, false
24523}
24524
24525// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24526func (nae NodeAddedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
24527	return nil, false
24528}
24529
24530// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24531func (nae NodeAddedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
24532	return nil, false
24533}
24534
24535// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24536func (nae NodeAddedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
24537	return nil, false
24538}
24539
24540// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24541func (nae NodeAddedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
24542	return nil, false
24543}
24544
24545// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24546func (nae NodeAddedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
24547	return nil, false
24548}
24549
24550// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24551func (nae NodeAddedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
24552	return nil, false
24553}
24554
24555// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24556func (nae NodeAddedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
24557	return nil, false
24558}
24559
24560// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24561func (nae NodeAddedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
24562	return nil, false
24563}
24564
24565// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24566func (nae NodeAddedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
24567	return nil, false
24568}
24569
24570// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24571func (nae NodeAddedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
24572	return nil, false
24573}
24574
24575// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24576func (nae NodeAddedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
24577	return nil, false
24578}
24579
24580// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24581func (nae NodeAddedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
24582	return nil, false
24583}
24584
24585// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24586func (nae NodeAddedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
24587	return nil, false
24588}
24589
24590// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24591func (nae NodeAddedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
24592	return nil, false
24593}
24594
24595// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24596func (nae NodeAddedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
24597	return nil, false
24598}
24599
24600// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24601func (nae NodeAddedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
24602	return &nae, true
24603}
24604
24605// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24606func (nae NodeAddedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
24607	return nil, false
24608}
24609
24610// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24611func (nae NodeAddedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
24612	return nil, false
24613}
24614
24615// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24616func (nae NodeAddedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
24617	return nil, false
24618}
24619
24620// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24621func (nae NodeAddedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
24622	return nil, false
24623}
24624
24625// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24626func (nae NodeAddedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
24627	return nil, false
24628}
24629
24630// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24631func (nae NodeAddedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
24632	return nil, false
24633}
24634
24635// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24636func (nae NodeAddedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
24637	return nil, false
24638}
24639
24640// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24641func (nae NodeAddedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
24642	return nil, false
24643}
24644
24645// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24646func (nae NodeAddedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
24647	return nil, false
24648}
24649
24650// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24651func (nae NodeAddedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
24652	return nil, false
24653}
24654
24655// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24656func (nae NodeAddedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
24657	return nil, false
24658}
24659
24660// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24661func (nae NodeAddedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
24662	return nil, false
24663}
24664
24665// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24666func (nae NodeAddedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
24667	return nil, false
24668}
24669
24670// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24671func (nae NodeAddedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
24672	return nil, false
24673}
24674
24675// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24676func (nae NodeAddedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
24677	return nil, false
24678}
24679
24680// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24681func (nae NodeAddedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
24682	return nil, false
24683}
24684
24685// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24686func (nae NodeAddedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
24687	return nil, false
24688}
24689
24690// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24691func (nae NodeAddedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
24692	return nil, false
24693}
24694
24695// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24696func (nae NodeAddedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
24697	return nil, false
24698}
24699
24700// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24701func (nae NodeAddedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
24702	return nil, false
24703}
24704
24705// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24706func (nae NodeAddedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
24707	return nil, false
24708}
24709
24710// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24711func (nae NodeAddedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
24712	return nil, false
24713}
24714
24715// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24716func (nae NodeAddedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
24717	return nil, false
24718}
24719
24720// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24721func (nae NodeAddedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
24722	return nil, false
24723}
24724
24725// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24726func (nae NodeAddedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
24727	return nil, false
24728}
24729
24730// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24731func (nae NodeAddedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
24732	return nil, false
24733}
24734
24735// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24736func (nae NodeAddedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
24737	return nil, false
24738}
24739
24740// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24741func (nae NodeAddedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
24742	return nil, false
24743}
24744
24745// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24746func (nae NodeAddedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
24747	return nil, false
24748}
24749
24750// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24751func (nae NodeAddedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
24752	return nil, false
24753}
24754
24755// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24756func (nae NodeAddedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
24757	return nil, false
24758}
24759
24760// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24761func (nae NodeAddedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
24762	return nil, false
24763}
24764
24765// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24766func (nae NodeAddedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
24767	return nil, false
24768}
24769
24770// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24771func (nae NodeAddedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
24772	return nil, false
24773}
24774
24775// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24776func (nae NodeAddedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
24777	return nil, false
24778}
24779
24780// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24781func (nae NodeAddedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
24782	return nil, false
24783}
24784
24785// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24786func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
24787	return nil, false
24788}
24789
24790// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24791func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
24792	return nil, false
24793}
24794
24795// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24796func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
24797	return nil, false
24798}
24799
24800// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24801func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
24802	return nil, false
24803}
24804
24805// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24806func (nae NodeAddedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
24807	return nil, false
24808}
24809
24810// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24811func (nae NodeAddedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
24812	return nil, false
24813}
24814
24815// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24816func (nae NodeAddedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
24817	return nil, false
24818}
24819
24820// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24821func (nae NodeAddedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
24822	return nil, false
24823}
24824
24825// AsFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24826func (nae NodeAddedEvent) AsFabricEvent() (*FabricEvent, bool) {
24827	return nil, false
24828}
24829
24830// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
24831func (nae NodeAddedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
24832	return &nae, true
24833}
24834
24835// NodeCloseEvent node Close event.
24836type NodeCloseEvent struct {
24837	// NodeID - Id of Node.
24838	NodeID *string `json:"NodeId,omitempty"`
24839	// NodeInstance - Id of Node instance.
24840	NodeInstance *string `json:"NodeInstance,omitempty"`
24841	// Error - Describes error.
24842	Error *string `json:"Error,omitempty"`
24843	// NodeName - The name of a Service Fabric node.
24844	NodeName *string `json:"NodeName,omitempty"`
24845	// EventInstanceID - The identifier for the FabricEvent instance.
24846	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
24847	// TimeStamp - The time event was logged.
24848	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
24849	// HasCorrelatedEvents - Shows there is existing related events available.
24850	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
24851	// 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'
24852	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
24853}
24854
24855// MarshalJSON is the custom marshaler for NodeCloseEvent.
24856func (nce NodeCloseEvent) MarshalJSON() ([]byte, error) {
24857	nce.Kind = KindNodeClose
24858	objectMap := make(map[string]interface{})
24859	if nce.NodeID != nil {
24860		objectMap["NodeId"] = nce.NodeID
24861	}
24862	if nce.NodeInstance != nil {
24863		objectMap["NodeInstance"] = nce.NodeInstance
24864	}
24865	if nce.Error != nil {
24866		objectMap["Error"] = nce.Error
24867	}
24868	if nce.NodeName != nil {
24869		objectMap["NodeName"] = nce.NodeName
24870	}
24871	if nce.EventInstanceID != nil {
24872		objectMap["EventInstanceId"] = nce.EventInstanceID
24873	}
24874	if nce.TimeStamp != nil {
24875		objectMap["TimeStamp"] = nce.TimeStamp
24876	}
24877	if nce.HasCorrelatedEvents != nil {
24878		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
24879	}
24880	if nce.Kind != "" {
24881		objectMap["Kind"] = nce.Kind
24882	}
24883	return json.Marshal(objectMap)
24884}
24885
24886// AsApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24887func (nce NodeCloseEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
24888	return nil, false
24889}
24890
24891// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24892func (nce NodeCloseEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
24893	return nil, false
24894}
24895
24896// AsClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24897func (nce NodeCloseEvent) AsClusterEvent() (*ClusterEvent, bool) {
24898	return nil, false
24899}
24900
24901// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24902func (nce NodeCloseEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
24903	return nil, false
24904}
24905
24906// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24907func (nce NodeCloseEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
24908	return nil, false
24909}
24910
24911// AsNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24912func (nce NodeCloseEvent) AsNodeEvent() (*NodeEvent, bool) {
24913	return nil, false
24914}
24915
24916// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24917func (nce NodeCloseEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
24918	return &nce, true
24919}
24920
24921// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24922func (nce NodeCloseEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
24923	return nil, false
24924}
24925
24926// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24927func (nce NodeCloseEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
24928	return nil, false
24929}
24930
24931// AsPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24932func (nce NodeCloseEvent) AsPartitionEvent() (*PartitionEvent, bool) {
24933	return nil, false
24934}
24935
24936// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24937func (nce NodeCloseEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
24938	return nil, false
24939}
24940
24941// AsReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24942func (nce NodeCloseEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
24943	return nil, false
24944}
24945
24946// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24947func (nce NodeCloseEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
24948	return nil, false
24949}
24950
24951// AsServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24952func (nce NodeCloseEvent) AsServiceEvent() (*ServiceEvent, bool) {
24953	return nil, false
24954}
24955
24956// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24957func (nce NodeCloseEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
24958	return nil, false
24959}
24960
24961// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24962func (nce NodeCloseEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
24963	return nil, false
24964}
24965
24966// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24967func (nce NodeCloseEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
24968	return nil, false
24969}
24970
24971// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24972func (nce NodeCloseEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
24973	return nil, false
24974}
24975
24976// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24977func (nce NodeCloseEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
24978	return nil, false
24979}
24980
24981// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24982func (nce NodeCloseEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
24983	return nil, false
24984}
24985
24986// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24987func (nce NodeCloseEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
24988	return nil, false
24989}
24990
24991// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24992func (nce NodeCloseEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
24993	return nil, false
24994}
24995
24996// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
24997func (nce NodeCloseEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
24998	return nil, false
24999}
25000
25001// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25002func (nce NodeCloseEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
25003	return nil, false
25004}
25005
25006// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25007func (nce NodeCloseEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
25008	return nil, false
25009}
25010
25011// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25012func (nce NodeCloseEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
25013	return nil, false
25014}
25015
25016// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25017func (nce NodeCloseEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
25018	return nil, false
25019}
25020
25021// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25022func (nce NodeCloseEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
25023	return nil, false
25024}
25025
25026// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25027func (nce NodeCloseEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
25028	return nil, false
25029}
25030
25031// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25032func (nce NodeCloseEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
25033	return nil, false
25034}
25035
25036// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25037func (nce NodeCloseEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
25038	return nil, false
25039}
25040
25041// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25042func (nce NodeCloseEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
25043	return &nce, true
25044}
25045
25046// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25047func (nce NodeCloseEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
25048	return nil, false
25049}
25050
25051// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25052func (nce NodeCloseEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
25053	return nil, false
25054}
25055
25056// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25057func (nce NodeCloseEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
25058	return nil, false
25059}
25060
25061// AsNodeDownEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25062func (nce NodeCloseEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
25063	return nil, false
25064}
25065
25066// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25067func (nce NodeCloseEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
25068	return nil, false
25069}
25070
25071// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25072func (nce NodeCloseEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
25073	return nil, false
25074}
25075
25076// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25077func (nce NodeCloseEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
25078	return nil, false
25079}
25080
25081// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25082func (nce NodeCloseEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
25083	return nil, false
25084}
25085
25086// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25087func (nce NodeCloseEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
25088	return nil, false
25089}
25090
25091// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25092func (nce NodeCloseEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
25093	return nil, false
25094}
25095
25096// AsNodeUpEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25097func (nce NodeCloseEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
25098	return nil, false
25099}
25100
25101// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25102func (nce NodeCloseEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
25103	return nil, false
25104}
25105
25106// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25107func (nce NodeCloseEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
25108	return nil, false
25109}
25110
25111// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25112func (nce NodeCloseEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
25113	return nil, false
25114}
25115
25116// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25117func (nce NodeCloseEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
25118	return nil, false
25119}
25120
25121// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25122func (nce NodeCloseEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
25123	return nil, false
25124}
25125
25126// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25127func (nce NodeCloseEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
25128	return nil, false
25129}
25130
25131// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25132func (nce NodeCloseEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
25133	return nil, false
25134}
25135
25136// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25137func (nce NodeCloseEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
25138	return nil, false
25139}
25140
25141// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25142func (nce NodeCloseEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
25143	return nil, false
25144}
25145
25146// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25147func (nce NodeCloseEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
25148	return nil, false
25149}
25150
25151// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25152func (nce NodeCloseEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
25153	return nil, false
25154}
25155
25156// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25157func (nce NodeCloseEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
25158	return nil, false
25159}
25160
25161// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25162func (nce NodeCloseEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
25163	return nil, false
25164}
25165
25166// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25167func (nce NodeCloseEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
25168	return nil, false
25169}
25170
25171// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25172func (nce NodeCloseEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
25173	return nil, false
25174}
25175
25176// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25177func (nce NodeCloseEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
25178	return nil, false
25179}
25180
25181// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25182func (nce NodeCloseEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
25183	return nil, false
25184}
25185
25186// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25187func (nce NodeCloseEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
25188	return nil, false
25189}
25190
25191// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25192func (nce NodeCloseEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
25193	return nil, false
25194}
25195
25196// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25197func (nce NodeCloseEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
25198	return nil, false
25199}
25200
25201// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25202func (nce NodeCloseEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
25203	return nil, false
25204}
25205
25206// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25207func (nce NodeCloseEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
25208	return nil, false
25209}
25210
25211// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25212func (nce NodeCloseEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
25213	return nil, false
25214}
25215
25216// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25217func (nce NodeCloseEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
25218	return nil, false
25219}
25220
25221// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25222func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
25223	return nil, false
25224}
25225
25226// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25227func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
25228	return nil, false
25229}
25230
25231// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25232func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
25233	return nil, false
25234}
25235
25236// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25237func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
25238	return nil, false
25239}
25240
25241// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25242func (nce NodeCloseEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
25243	return nil, false
25244}
25245
25246// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25247func (nce NodeCloseEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
25248	return nil, false
25249}
25250
25251// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25252func (nce NodeCloseEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
25253	return nil, false
25254}
25255
25256// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25257func (nce NodeCloseEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
25258	return nil, false
25259}
25260
25261// AsFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25262func (nce NodeCloseEvent) AsFabricEvent() (*FabricEvent, bool) {
25263	return nil, false
25264}
25265
25266// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
25267func (nce NodeCloseEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
25268	return &nce, true
25269}
25270
25271// NodeClosingEvent node Closing event.
25272type NodeClosingEvent struct {
25273	// NodeInstance - Id of Node instance.
25274	NodeInstance *int64 `json:"NodeInstance,omitempty"`
25275	// NodeID - Id of Node.
25276	NodeID *string `json:"NodeId,omitempty"`
25277	// UpgradeDomain - Upgrade domain of Node.
25278	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
25279	// FaultDomain - Fault domain of Node.
25280	FaultDomain *string `json:"FaultDomain,omitempty"`
25281	// IPAddressOrFQDN - IP address or FQDN.
25282	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
25283	// Hostname - Name of Host.
25284	Hostname *string `json:"Hostname,omitempty"`
25285	// IsSeedNode - Indicates if it is seed node.
25286	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
25287	// NodeVersion - Version of Node.
25288	NodeVersion *string `json:"NodeVersion,omitempty"`
25289	// NodeName - The name of a Service Fabric node.
25290	NodeName *string `json:"NodeName,omitempty"`
25291	// EventInstanceID - The identifier for the FabricEvent instance.
25292	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
25293	// TimeStamp - The time event was logged.
25294	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
25295	// HasCorrelatedEvents - Shows there is existing related events available.
25296	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
25297	// 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'
25298	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
25299}
25300
25301// MarshalJSON is the custom marshaler for NodeClosingEvent.
25302func (nce NodeClosingEvent) MarshalJSON() ([]byte, error) {
25303	nce.Kind = KindNodeClosing
25304	objectMap := make(map[string]interface{})
25305	if nce.NodeInstance != nil {
25306		objectMap["NodeInstance"] = nce.NodeInstance
25307	}
25308	if nce.NodeID != nil {
25309		objectMap["NodeId"] = nce.NodeID
25310	}
25311	if nce.UpgradeDomain != nil {
25312		objectMap["UpgradeDomain"] = nce.UpgradeDomain
25313	}
25314	if nce.FaultDomain != nil {
25315		objectMap["FaultDomain"] = nce.FaultDomain
25316	}
25317	if nce.IPAddressOrFQDN != nil {
25318		objectMap["IpAddressOrFQDN"] = nce.IPAddressOrFQDN
25319	}
25320	if nce.Hostname != nil {
25321		objectMap["Hostname"] = nce.Hostname
25322	}
25323	if nce.IsSeedNode != nil {
25324		objectMap["IsSeedNode"] = nce.IsSeedNode
25325	}
25326	if nce.NodeVersion != nil {
25327		objectMap["NodeVersion"] = nce.NodeVersion
25328	}
25329	if nce.NodeName != nil {
25330		objectMap["NodeName"] = nce.NodeName
25331	}
25332	if nce.EventInstanceID != nil {
25333		objectMap["EventInstanceId"] = nce.EventInstanceID
25334	}
25335	if nce.TimeStamp != nil {
25336		objectMap["TimeStamp"] = nce.TimeStamp
25337	}
25338	if nce.HasCorrelatedEvents != nil {
25339		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
25340	}
25341	if nce.Kind != "" {
25342		objectMap["Kind"] = nce.Kind
25343	}
25344	return json.Marshal(objectMap)
25345}
25346
25347// AsApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25348func (nce NodeClosingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
25349	return nil, false
25350}
25351
25352// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25353func (nce NodeClosingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
25354	return nil, false
25355}
25356
25357// AsClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25358func (nce NodeClosingEvent) AsClusterEvent() (*ClusterEvent, bool) {
25359	return nil, false
25360}
25361
25362// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25363func (nce NodeClosingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
25364	return nil, false
25365}
25366
25367// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25368func (nce NodeClosingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
25369	return nil, false
25370}
25371
25372// AsNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25373func (nce NodeClosingEvent) AsNodeEvent() (*NodeEvent, bool) {
25374	return nil, false
25375}
25376
25377// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25378func (nce NodeClosingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
25379	return &nce, true
25380}
25381
25382// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25383func (nce NodeClosingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
25384	return nil, false
25385}
25386
25387// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25388func (nce NodeClosingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
25389	return nil, false
25390}
25391
25392// AsPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25393func (nce NodeClosingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
25394	return nil, false
25395}
25396
25397// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25398func (nce NodeClosingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
25399	return nil, false
25400}
25401
25402// AsReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25403func (nce NodeClosingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
25404	return nil, false
25405}
25406
25407// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25408func (nce NodeClosingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
25409	return nil, false
25410}
25411
25412// AsServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25413func (nce NodeClosingEvent) AsServiceEvent() (*ServiceEvent, bool) {
25414	return nil, false
25415}
25416
25417// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25418func (nce NodeClosingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
25419	return nil, false
25420}
25421
25422// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25423func (nce NodeClosingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
25424	return nil, false
25425}
25426
25427// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25428func (nce NodeClosingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
25429	return nil, false
25430}
25431
25432// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25433func (nce NodeClosingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
25434	return nil, false
25435}
25436
25437// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25438func (nce NodeClosingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
25439	return nil, false
25440}
25441
25442// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25443func (nce NodeClosingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
25444	return nil, false
25445}
25446
25447// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25448func (nce NodeClosingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
25449	return nil, false
25450}
25451
25452// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25453func (nce NodeClosingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
25454	return nil, false
25455}
25456
25457// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25458func (nce NodeClosingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
25459	return nil, false
25460}
25461
25462// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25463func (nce NodeClosingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
25464	return nil, false
25465}
25466
25467// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25468func (nce NodeClosingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
25469	return nil, false
25470}
25471
25472// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25473func (nce NodeClosingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
25474	return nil, false
25475}
25476
25477// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25478func (nce NodeClosingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
25479	return nil, false
25480}
25481
25482// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25483func (nce NodeClosingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
25484	return nil, false
25485}
25486
25487// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25488func (nce NodeClosingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
25489	return nil, false
25490}
25491
25492// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25493func (nce NodeClosingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
25494	return nil, false
25495}
25496
25497// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25498func (nce NodeClosingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
25499	return nil, false
25500}
25501
25502// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25503func (nce NodeClosingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
25504	return nil, false
25505}
25506
25507// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25508func (nce NodeClosingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
25509	return &nce, true
25510}
25511
25512// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25513func (nce NodeClosingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
25514	return nil, false
25515}
25516
25517// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25518func (nce NodeClosingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
25519	return nil, false
25520}
25521
25522// AsNodeDownEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25523func (nce NodeClosingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
25524	return nil, false
25525}
25526
25527// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25528func (nce NodeClosingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
25529	return nil, false
25530}
25531
25532// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25533func (nce NodeClosingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
25534	return nil, false
25535}
25536
25537// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25538func (nce NodeClosingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
25539	return nil, false
25540}
25541
25542// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25543func (nce NodeClosingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
25544	return nil, false
25545}
25546
25547// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25548func (nce NodeClosingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
25549	return nil, false
25550}
25551
25552// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25553func (nce NodeClosingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
25554	return nil, false
25555}
25556
25557// AsNodeUpEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25558func (nce NodeClosingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
25559	return nil, false
25560}
25561
25562// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25563func (nce NodeClosingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
25564	return nil, false
25565}
25566
25567// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25568func (nce NodeClosingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
25569	return nil, false
25570}
25571
25572// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25573func (nce NodeClosingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
25574	return nil, false
25575}
25576
25577// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25578func (nce NodeClosingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
25579	return nil, false
25580}
25581
25582// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25583func (nce NodeClosingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
25584	return nil, false
25585}
25586
25587// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25588func (nce NodeClosingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
25589	return nil, false
25590}
25591
25592// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25593func (nce NodeClosingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
25594	return nil, false
25595}
25596
25597// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25598func (nce NodeClosingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
25599	return nil, false
25600}
25601
25602// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25603func (nce NodeClosingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
25604	return nil, false
25605}
25606
25607// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25608func (nce NodeClosingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
25609	return nil, false
25610}
25611
25612// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25613func (nce NodeClosingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
25614	return nil, false
25615}
25616
25617// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25618func (nce NodeClosingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
25619	return nil, false
25620}
25621
25622// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25623func (nce NodeClosingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
25624	return nil, false
25625}
25626
25627// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25628func (nce NodeClosingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
25629	return nil, false
25630}
25631
25632// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25633func (nce NodeClosingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
25634	return nil, false
25635}
25636
25637// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25638func (nce NodeClosingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
25639	return nil, false
25640}
25641
25642// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25643func (nce NodeClosingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
25644	return nil, false
25645}
25646
25647// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25648func (nce NodeClosingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
25649	return nil, false
25650}
25651
25652// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25653func (nce NodeClosingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
25654	return nil, false
25655}
25656
25657// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25658func (nce NodeClosingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
25659	return nil, false
25660}
25661
25662// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25663func (nce NodeClosingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
25664	return nil, false
25665}
25666
25667// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25668func (nce NodeClosingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
25669	return nil, false
25670}
25671
25672// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25673func (nce NodeClosingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
25674	return nil, false
25675}
25676
25677// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25678func (nce NodeClosingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
25679	return nil, false
25680}
25681
25682// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25683func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
25684	return nil, false
25685}
25686
25687// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25688func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
25689	return nil, false
25690}
25691
25692// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25693func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
25694	return nil, false
25695}
25696
25697// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25698func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
25699	return nil, false
25700}
25701
25702// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25703func (nce NodeClosingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
25704	return nil, false
25705}
25706
25707// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25708func (nce NodeClosingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
25709	return nil, false
25710}
25711
25712// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25713func (nce NodeClosingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
25714	return nil, false
25715}
25716
25717// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25718func (nce NodeClosingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
25719	return nil, false
25720}
25721
25722// AsFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25723func (nce NodeClosingEvent) AsFabricEvent() (*FabricEvent, bool) {
25724	return nil, false
25725}
25726
25727// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
25728func (nce NodeClosingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
25729	return &nce, true
25730}
25731
25732// NodeDeactivateCompleteEvent node Deactivate Complete event.
25733type NodeDeactivateCompleteEvent struct {
25734	// NodeInstance - Id of Node instance.
25735	NodeInstance *int64 `json:"NodeInstance,omitempty"`
25736	// EffectiveDeactivateIntent - Describes deactivate intent.
25737	EffectiveDeactivateIntent *string `json:"EffectiveDeactivateIntent,omitempty"`
25738	// BatchIdsWithDeactivateIntent - Batch Ids.
25739	BatchIdsWithDeactivateIntent *string `json:"BatchIdsWithDeactivateIntent,omitempty"`
25740	// StartTime - Start time.
25741	StartTime *date.Time `json:"StartTime,omitempty"`
25742	// NodeName - The name of a Service Fabric node.
25743	NodeName *string `json:"NodeName,omitempty"`
25744	// EventInstanceID - The identifier for the FabricEvent instance.
25745	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
25746	// TimeStamp - The time event was logged.
25747	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
25748	// HasCorrelatedEvents - Shows there is existing related events available.
25749	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
25750	// 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'
25751	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
25752}
25753
25754// MarshalJSON is the custom marshaler for NodeDeactivateCompleteEvent.
25755func (ndce NodeDeactivateCompleteEvent) MarshalJSON() ([]byte, error) {
25756	ndce.Kind = KindNodeDeactivateComplete
25757	objectMap := make(map[string]interface{})
25758	if ndce.NodeInstance != nil {
25759		objectMap["NodeInstance"] = ndce.NodeInstance
25760	}
25761	if ndce.EffectiveDeactivateIntent != nil {
25762		objectMap["EffectiveDeactivateIntent"] = ndce.EffectiveDeactivateIntent
25763	}
25764	if ndce.BatchIdsWithDeactivateIntent != nil {
25765		objectMap["BatchIdsWithDeactivateIntent"] = ndce.BatchIdsWithDeactivateIntent
25766	}
25767	if ndce.StartTime != nil {
25768		objectMap["StartTime"] = ndce.StartTime
25769	}
25770	if ndce.NodeName != nil {
25771		objectMap["NodeName"] = ndce.NodeName
25772	}
25773	if ndce.EventInstanceID != nil {
25774		objectMap["EventInstanceId"] = ndce.EventInstanceID
25775	}
25776	if ndce.TimeStamp != nil {
25777		objectMap["TimeStamp"] = ndce.TimeStamp
25778	}
25779	if ndce.HasCorrelatedEvents != nil {
25780		objectMap["HasCorrelatedEvents"] = ndce.HasCorrelatedEvents
25781	}
25782	if ndce.Kind != "" {
25783		objectMap["Kind"] = ndce.Kind
25784	}
25785	return json.Marshal(objectMap)
25786}
25787
25788// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25789func (ndce NodeDeactivateCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
25790	return nil, false
25791}
25792
25793// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25794func (ndce NodeDeactivateCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
25795	return nil, false
25796}
25797
25798// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25799func (ndce NodeDeactivateCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
25800	return nil, false
25801}
25802
25803// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25804func (ndce NodeDeactivateCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
25805	return nil, false
25806}
25807
25808// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25809func (ndce NodeDeactivateCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
25810	return nil, false
25811}
25812
25813// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25814func (ndce NodeDeactivateCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
25815	return nil, false
25816}
25817
25818// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25819func (ndce NodeDeactivateCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
25820	return &ndce, true
25821}
25822
25823// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25824func (ndce NodeDeactivateCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
25825	return nil, false
25826}
25827
25828// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25829func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
25830	return nil, false
25831}
25832
25833// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25834func (ndce NodeDeactivateCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
25835	return nil, false
25836}
25837
25838// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25839func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
25840	return nil, false
25841}
25842
25843// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25844func (ndce NodeDeactivateCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
25845	return nil, false
25846}
25847
25848// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25849func (ndce NodeDeactivateCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
25850	return nil, false
25851}
25852
25853// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25854func (ndce NodeDeactivateCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
25855	return nil, false
25856}
25857
25858// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25859func (ndce NodeDeactivateCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
25860	return nil, false
25861}
25862
25863// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25864func (ndce NodeDeactivateCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
25865	return nil, false
25866}
25867
25868// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25869func (ndce NodeDeactivateCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
25870	return nil, false
25871}
25872
25873// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25874func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
25875	return nil, false
25876}
25877
25878// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25879func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
25880	return nil, false
25881}
25882
25883// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25884func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
25885	return nil, false
25886}
25887
25888// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25889func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
25890	return nil, false
25891}
25892
25893// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25894func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
25895	return nil, false
25896}
25897
25898// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25899func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
25900	return nil, false
25901}
25902
25903// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25904func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
25905	return nil, false
25906}
25907
25908// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25909func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
25910	return nil, false
25911}
25912
25913// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25914func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
25915	return nil, false
25916}
25917
25918// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25919func (ndce NodeDeactivateCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
25920	return nil, false
25921}
25922
25923// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25924func (ndce NodeDeactivateCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
25925	return nil, false
25926}
25927
25928// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25929func (ndce NodeDeactivateCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
25930	return nil, false
25931}
25932
25933// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25934func (ndce NodeDeactivateCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
25935	return nil, false
25936}
25937
25938// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25939func (ndce NodeDeactivateCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
25940	return nil, false
25941}
25942
25943// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25944func (ndce NodeDeactivateCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
25945	return nil, false
25946}
25947
25948// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25949func (ndce NodeDeactivateCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
25950	return nil, false
25951}
25952
25953// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25954func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
25955	return &ndce, true
25956}
25957
25958// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25959func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
25960	return nil, false
25961}
25962
25963// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25964func (ndce NodeDeactivateCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
25965	return nil, false
25966}
25967
25968// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25969func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
25970	return nil, false
25971}
25972
25973// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25974func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
25975	return nil, false
25976}
25977
25978// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25979func (ndce NodeDeactivateCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
25980	return nil, false
25981}
25982
25983// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25984func (ndce NodeDeactivateCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
25985	return nil, false
25986}
25987
25988// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25989func (ndce NodeDeactivateCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
25990	return nil, false
25991}
25992
25993// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25994func (ndce NodeDeactivateCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
25995	return nil, false
25996}
25997
25998// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
25999func (ndce NodeDeactivateCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
26000	return nil, false
26001}
26002
26003// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26004func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
26005	return nil, false
26006}
26007
26008// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26009func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
26010	return nil, false
26011}
26012
26013// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26014func (ndce NodeDeactivateCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
26015	return nil, false
26016}
26017
26018// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26019func (ndce NodeDeactivateCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
26020	return nil, false
26021}
26022
26023// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26024func (ndce NodeDeactivateCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
26025	return nil, false
26026}
26027
26028// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26029func (ndce NodeDeactivateCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
26030	return nil, false
26031}
26032
26033// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26034func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
26035	return nil, false
26036}
26037
26038// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26039func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
26040	return nil, false
26041}
26042
26043// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26044func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
26045	return nil, false
26046}
26047
26048// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26049func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
26050	return nil, false
26051}
26052
26053// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26054func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
26055	return nil, false
26056}
26057
26058// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26059func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
26060	return nil, false
26061}
26062
26063// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26064func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
26065	return nil, false
26066}
26067
26068// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26069func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
26070	return nil, false
26071}
26072
26073// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26074func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
26075	return nil, false
26076}
26077
26078// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26079func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
26080	return nil, false
26081}
26082
26083// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26084func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
26085	return nil, false
26086}
26087
26088// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26089func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
26090	return nil, false
26091}
26092
26093// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26094func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
26095	return nil, false
26096}
26097
26098// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26099func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
26100	return nil, false
26101}
26102
26103// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26104func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
26105	return nil, false
26106}
26107
26108// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26109func (ndce NodeDeactivateCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
26110	return nil, false
26111}
26112
26113// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26114func (ndce NodeDeactivateCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
26115	return nil, false
26116}
26117
26118// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26119func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
26120	return nil, false
26121}
26122
26123// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26124func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
26125	return nil, false
26126}
26127
26128// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26129func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
26130	return nil, false
26131}
26132
26133// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26134func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
26135	return nil, false
26136}
26137
26138// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26139func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
26140	return nil, false
26141}
26142
26143// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26144func (ndce NodeDeactivateCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
26145	return nil, false
26146}
26147
26148// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26149func (ndce NodeDeactivateCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
26150	return nil, false
26151}
26152
26153// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26154func (ndce NodeDeactivateCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
26155	return nil, false
26156}
26157
26158// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26159func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
26160	return nil, false
26161}
26162
26163// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26164func (ndce NodeDeactivateCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
26165	return nil, false
26166}
26167
26168// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
26169func (ndce NodeDeactivateCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
26170	return &ndce, true
26171}
26172
26173// NodeDeactivateStartEvent node Deactivate Start event.
26174type NodeDeactivateStartEvent struct {
26175	// NodeInstance - Id of Node instance.
26176	NodeInstance *int64 `json:"NodeInstance,omitempty"`
26177	// BatchID - Batch Id.
26178	BatchID *string `json:"BatchId,omitempty"`
26179	// DeactivateIntent - Describes deactivate intent.
26180	DeactivateIntent *string `json:"DeactivateIntent,omitempty"`
26181	// NodeName - The name of a Service Fabric node.
26182	NodeName *string `json:"NodeName,omitempty"`
26183	// EventInstanceID - The identifier for the FabricEvent instance.
26184	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
26185	// TimeStamp - The time event was logged.
26186	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
26187	// HasCorrelatedEvents - Shows there is existing related events available.
26188	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
26189	// 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'
26190	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
26191}
26192
26193// MarshalJSON is the custom marshaler for NodeDeactivateStartEvent.
26194func (ndse NodeDeactivateStartEvent) MarshalJSON() ([]byte, error) {
26195	ndse.Kind = KindNodeDeactivateStart
26196	objectMap := make(map[string]interface{})
26197	if ndse.NodeInstance != nil {
26198		objectMap["NodeInstance"] = ndse.NodeInstance
26199	}
26200	if ndse.BatchID != nil {
26201		objectMap["BatchId"] = ndse.BatchID
26202	}
26203	if ndse.DeactivateIntent != nil {
26204		objectMap["DeactivateIntent"] = ndse.DeactivateIntent
26205	}
26206	if ndse.NodeName != nil {
26207		objectMap["NodeName"] = ndse.NodeName
26208	}
26209	if ndse.EventInstanceID != nil {
26210		objectMap["EventInstanceId"] = ndse.EventInstanceID
26211	}
26212	if ndse.TimeStamp != nil {
26213		objectMap["TimeStamp"] = ndse.TimeStamp
26214	}
26215	if ndse.HasCorrelatedEvents != nil {
26216		objectMap["HasCorrelatedEvents"] = ndse.HasCorrelatedEvents
26217	}
26218	if ndse.Kind != "" {
26219		objectMap["Kind"] = ndse.Kind
26220	}
26221	return json.Marshal(objectMap)
26222}
26223
26224// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26225func (ndse NodeDeactivateStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
26226	return nil, false
26227}
26228
26229// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26230func (ndse NodeDeactivateStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
26231	return nil, false
26232}
26233
26234// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26235func (ndse NodeDeactivateStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
26236	return nil, false
26237}
26238
26239// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26240func (ndse NodeDeactivateStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
26241	return nil, false
26242}
26243
26244// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26245func (ndse NodeDeactivateStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
26246	return nil, false
26247}
26248
26249// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26250func (ndse NodeDeactivateStartEvent) AsNodeEvent() (*NodeEvent, bool) {
26251	return nil, false
26252}
26253
26254// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26255func (ndse NodeDeactivateStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
26256	return &ndse, true
26257}
26258
26259// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26260func (ndse NodeDeactivateStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
26261	return nil, false
26262}
26263
26264// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26265func (ndse NodeDeactivateStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
26266	return nil, false
26267}
26268
26269// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26270func (ndse NodeDeactivateStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
26271	return nil, false
26272}
26273
26274// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26275func (ndse NodeDeactivateStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
26276	return nil, false
26277}
26278
26279// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26280func (ndse NodeDeactivateStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
26281	return nil, false
26282}
26283
26284// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26285func (ndse NodeDeactivateStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
26286	return nil, false
26287}
26288
26289// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26290func (ndse NodeDeactivateStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
26291	return nil, false
26292}
26293
26294// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26295func (ndse NodeDeactivateStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
26296	return nil, false
26297}
26298
26299// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26300func (ndse NodeDeactivateStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
26301	return nil, false
26302}
26303
26304// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26305func (ndse NodeDeactivateStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
26306	return nil, false
26307}
26308
26309// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26310func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
26311	return nil, false
26312}
26313
26314// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26315func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
26316	return nil, false
26317}
26318
26319// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26320func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
26321	return nil, false
26322}
26323
26324// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26325func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
26326	return nil, false
26327}
26328
26329// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26330func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
26331	return nil, false
26332}
26333
26334// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26335func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
26336	return nil, false
26337}
26338
26339// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26340func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
26341	return nil, false
26342}
26343
26344// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26345func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
26346	return nil, false
26347}
26348
26349// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26350func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
26351	return nil, false
26352}
26353
26354// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26355func (ndse NodeDeactivateStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
26356	return nil, false
26357}
26358
26359// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26360func (ndse NodeDeactivateStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
26361	return nil, false
26362}
26363
26364// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26365func (ndse NodeDeactivateStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
26366	return nil, false
26367}
26368
26369// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26370func (ndse NodeDeactivateStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
26371	return nil, false
26372}
26373
26374// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26375func (ndse NodeDeactivateStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
26376	return nil, false
26377}
26378
26379// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26380func (ndse NodeDeactivateStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
26381	return nil, false
26382}
26383
26384// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26385func (ndse NodeDeactivateStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
26386	return nil, false
26387}
26388
26389// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26390func (ndse NodeDeactivateStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
26391	return nil, false
26392}
26393
26394// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26395func (ndse NodeDeactivateStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
26396	return &ndse, true
26397}
26398
26399// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26400func (ndse NodeDeactivateStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
26401	return nil, false
26402}
26403
26404// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26405func (ndse NodeDeactivateStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
26406	return nil, false
26407}
26408
26409// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26410func (ndse NodeDeactivateStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
26411	return nil, false
26412}
26413
26414// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26415func (ndse NodeDeactivateStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
26416	return nil, false
26417}
26418
26419// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26420func (ndse NodeDeactivateStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
26421	return nil, false
26422}
26423
26424// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26425func (ndse NodeDeactivateStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
26426	return nil, false
26427}
26428
26429// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26430func (ndse NodeDeactivateStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
26431	return nil, false
26432}
26433
26434// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26435func (ndse NodeDeactivateStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
26436	return nil, false
26437}
26438
26439// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26440func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
26441	return nil, false
26442}
26443
26444// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26445func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
26446	return nil, false
26447}
26448
26449// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26450func (ndse NodeDeactivateStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
26451	return nil, false
26452}
26453
26454// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26455func (ndse NodeDeactivateStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
26456	return nil, false
26457}
26458
26459// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26460func (ndse NodeDeactivateStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
26461	return nil, false
26462}
26463
26464// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26465func (ndse NodeDeactivateStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
26466	return nil, false
26467}
26468
26469// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26470func (ndse NodeDeactivateStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
26471	return nil, false
26472}
26473
26474// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26475func (ndse NodeDeactivateStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
26476	return nil, false
26477}
26478
26479// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26480func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
26481	return nil, false
26482}
26483
26484// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26485func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
26486	return nil, false
26487}
26488
26489// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26490func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
26491	return nil, false
26492}
26493
26494// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26495func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
26496	return nil, false
26497}
26498
26499// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26500func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
26501	return nil, false
26502}
26503
26504// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26505func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
26506	return nil, false
26507}
26508
26509// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26510func (ndse NodeDeactivateStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
26511	return nil, false
26512}
26513
26514// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26515func (ndse NodeDeactivateStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
26516	return nil, false
26517}
26518
26519// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26520func (ndse NodeDeactivateStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
26521	return nil, false
26522}
26523
26524// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26525func (ndse NodeDeactivateStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
26526	return nil, false
26527}
26528
26529// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26530func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
26531	return nil, false
26532}
26533
26534// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26535func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
26536	return nil, false
26537}
26538
26539// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26540func (ndse NodeDeactivateStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
26541	return nil, false
26542}
26543
26544// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26545func (ndse NodeDeactivateStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
26546	return nil, false
26547}
26548
26549// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26550func (ndse NodeDeactivateStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
26551	return nil, false
26552}
26553
26554// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26555func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
26556	return nil, false
26557}
26558
26559// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26560func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
26561	return nil, false
26562}
26563
26564// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26565func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
26566	return nil, false
26567}
26568
26569// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26570func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
26571	return nil, false
26572}
26573
26574// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26575func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
26576	return nil, false
26577}
26578
26579// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26580func (ndse NodeDeactivateStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
26581	return nil, false
26582}
26583
26584// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26585func (ndse NodeDeactivateStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
26586	return nil, false
26587}
26588
26589// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26590func (ndse NodeDeactivateStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
26591	return nil, false
26592}
26593
26594// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26595func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
26596	return nil, false
26597}
26598
26599// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26600func (ndse NodeDeactivateStartEvent) AsFabricEvent() (*FabricEvent, bool) {
26601	return nil, false
26602}
26603
26604// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
26605func (ndse NodeDeactivateStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
26606	return &ndse, true
26607}
26608
26609// NodeDeactivationInfo information about the node deactivation. This information is valid for a node that
26610// is undergoing deactivation or has already been deactivated.
26611type NodeDeactivationInfo struct {
26612	// 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'
26613	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
26614	// NodeDeactivationStatus - The status of node deactivation operation. Following are the possible values. Possible values include: 'NodeDeactivationStatusNone', 'NodeDeactivationStatusSafetyCheckInProgress', 'NodeDeactivationStatusSafetyCheckComplete', 'NodeDeactivationStatusCompleted'
26615	NodeDeactivationStatus NodeDeactivationStatus `json:"NodeDeactivationStatus,omitempty"`
26616	// NodeDeactivationTask - List of tasks representing the deactivation operation on the node.
26617	NodeDeactivationTask *[]NodeDeactivationTask `json:"NodeDeactivationTask,omitempty"`
26618	// PendingSafetyChecks - List of pending safety checks
26619	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
26620}
26621
26622// NodeDeactivationTask the task representing the deactivation operation on the node.
26623type NodeDeactivationTask struct {
26624	// NodeDeactivationTaskID - Identity of the task related to deactivation operation on the node.
26625	NodeDeactivationTaskID *NodeDeactivationTaskID `json:"NodeDeactivationTaskId,omitempty"`
26626	// 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'
26627	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
26628}
26629
26630// NodeDeactivationTaskID identity of the task related to deactivation operation on the node.
26631type NodeDeactivationTaskID struct {
26632	// ID - Value of the task id.
26633	ID *string `json:"Id,omitempty"`
26634	// NodeDeactivationTaskType - The type of the task that performed the node deactivation. Following are the possible values. Possible values include: 'NodeDeactivationTaskTypeInvalid', 'NodeDeactivationTaskTypeInfrastructure', 'NodeDeactivationTaskTypeRepair', 'NodeDeactivationTaskTypeClient'
26635	NodeDeactivationTaskType NodeDeactivationTaskType `json:"NodeDeactivationTaskType,omitempty"`
26636}
26637
26638// NodeDownEvent node Down event.
26639type NodeDownEvent struct {
26640	// NodeInstance - Id of Node instance.
26641	NodeInstance *int64 `json:"NodeInstance,omitempty"`
26642	// LastNodeUpAt - Time when Node was last up.
26643	LastNodeUpAt *date.Time `json:"LastNodeUpAt,omitempty"`
26644	// NodeName - The name of a Service Fabric node.
26645	NodeName *string `json:"NodeName,omitempty"`
26646	// EventInstanceID - The identifier for the FabricEvent instance.
26647	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
26648	// TimeStamp - The time event was logged.
26649	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
26650	// HasCorrelatedEvents - Shows there is existing related events available.
26651	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
26652	// 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'
26653	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
26654}
26655
26656// MarshalJSON is the custom marshaler for NodeDownEvent.
26657func (nde NodeDownEvent) MarshalJSON() ([]byte, error) {
26658	nde.Kind = KindNodeDown
26659	objectMap := make(map[string]interface{})
26660	if nde.NodeInstance != nil {
26661		objectMap["NodeInstance"] = nde.NodeInstance
26662	}
26663	if nde.LastNodeUpAt != nil {
26664		objectMap["LastNodeUpAt"] = nde.LastNodeUpAt
26665	}
26666	if nde.NodeName != nil {
26667		objectMap["NodeName"] = nde.NodeName
26668	}
26669	if nde.EventInstanceID != nil {
26670		objectMap["EventInstanceId"] = nde.EventInstanceID
26671	}
26672	if nde.TimeStamp != nil {
26673		objectMap["TimeStamp"] = nde.TimeStamp
26674	}
26675	if nde.HasCorrelatedEvents != nil {
26676		objectMap["HasCorrelatedEvents"] = nde.HasCorrelatedEvents
26677	}
26678	if nde.Kind != "" {
26679		objectMap["Kind"] = nde.Kind
26680	}
26681	return json.Marshal(objectMap)
26682}
26683
26684// AsApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
26685func (nde NodeDownEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
26686	return nil, false
26687}
26688
26689// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
26690func (nde NodeDownEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
26691	return nil, false
26692}
26693
26694// AsClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
26695func (nde NodeDownEvent) AsClusterEvent() (*ClusterEvent, bool) {
26696	return nil, false
26697}
26698
26699// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
26700func (nde NodeDownEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
26701	return nil, false
26702}
26703
26704// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDownEvent.
26705func (nde NodeDownEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
26706	return nil, false
26707}
26708
26709// AsNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
26710func (nde NodeDownEvent) AsNodeEvent() (*NodeEvent, bool) {
26711	return nil, false
26712}
26713
26714// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
26715func (nde NodeDownEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
26716	return &nde, true
26717}
26718
26719// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
26720func (nde NodeDownEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
26721	return nil, false
26722}
26723
26724// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
26725func (nde NodeDownEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
26726	return nil, false
26727}
26728
26729// AsPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
26730func (nde NodeDownEvent) AsPartitionEvent() (*PartitionEvent, bool) {
26731	return nil, false
26732}
26733
26734// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
26735func (nde NodeDownEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
26736	return nil, false
26737}
26738
26739// AsReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
26740func (nde NodeDownEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
26741	return nil, false
26742}
26743
26744// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
26745func (nde NodeDownEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
26746	return nil, false
26747}
26748
26749// AsServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
26750func (nde NodeDownEvent) AsServiceEvent() (*ServiceEvent, bool) {
26751	return nil, false
26752}
26753
26754// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
26755func (nde NodeDownEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
26756	return nil, false
26757}
26758
26759// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26760func (nde NodeDownEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
26761	return nil, false
26762}
26763
26764// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26765func (nde NodeDownEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
26766	return nil, false
26767}
26768
26769// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26770func (nde NodeDownEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
26771	return nil, false
26772}
26773
26774// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26775func (nde NodeDownEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
26776	return nil, false
26777}
26778
26779// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
26780func (nde NodeDownEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
26781	return nil, false
26782}
26783
26784// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
26785func (nde NodeDownEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
26786	return nil, false
26787}
26788
26789// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
26790func (nde NodeDownEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
26791	return nil, false
26792}
26793
26794// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
26795func (nde NodeDownEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
26796	return nil, false
26797}
26798
26799// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
26800func (nde NodeDownEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
26801	return nil, false
26802}
26803
26804// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26805func (nde NodeDownEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
26806	return nil, false
26807}
26808
26809// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26810func (nde NodeDownEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
26811	return nil, false
26812}
26813
26814// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26815func (nde NodeDownEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
26816	return nil, false
26817}
26818
26819// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26820func (nde NodeDownEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
26821	return nil, false
26822}
26823
26824// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26825func (nde NodeDownEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
26826	return nil, false
26827}
26828
26829// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDownEvent.
26830func (nde NodeDownEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
26831	return nil, false
26832}
26833
26834// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26835func (nde NodeDownEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
26836	return nil, false
26837}
26838
26839// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDownEvent.
26840func (nde NodeDownEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
26841	return nil, false
26842}
26843
26844// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDownEvent.
26845func (nde NodeDownEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
26846	return nil, false
26847}
26848
26849// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
26850func (nde NodeDownEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
26851	return nil, false
26852}
26853
26854// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
26855func (nde NodeDownEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
26856	return nil, false
26857}
26858
26859// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDownEvent.
26860func (nde NodeDownEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
26861	return &nde, true
26862}
26863
26864// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26865func (nde NodeDownEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
26866	return nil, false
26867}
26868
26869// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26870func (nde NodeDownEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
26871	return nil, false
26872}
26873
26874// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDownEvent.
26875func (nde NodeDownEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
26876	return nil, false
26877}
26878
26879// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26880func (nde NodeDownEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
26881	return nil, false
26882}
26883
26884// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDownEvent.
26885func (nde NodeDownEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
26886	return nil, false
26887}
26888
26889// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26890func (nde NodeDownEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
26891	return nil, false
26892}
26893
26894// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDownEvent.
26895func (nde NodeDownEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
26896	return nil, false
26897}
26898
26899// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26900func (nde NodeDownEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
26901	return nil, false
26902}
26903
26904// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26905func (nde NodeDownEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
26906	return nil, false
26907}
26908
26909// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26910func (nde NodeDownEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
26911	return nil, false
26912}
26913
26914// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
26915func (nde NodeDownEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
26916	return nil, false
26917}
26918
26919// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26920func (nde NodeDownEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
26921	return nil, false
26922}
26923
26924// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26925func (nde NodeDownEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
26926	return nil, false
26927}
26928
26929// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26930func (nde NodeDownEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
26931	return nil, false
26932}
26933
26934// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26935func (nde NodeDownEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
26936	return nil, false
26937}
26938
26939// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26940func (nde NodeDownEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
26941	return nil, false
26942}
26943
26944// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26945func (nde NodeDownEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
26946	return nil, false
26947}
26948
26949// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26950func (nde NodeDownEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
26951	return nil, false
26952}
26953
26954// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26955func (nde NodeDownEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
26956	return nil, false
26957}
26958
26959// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26960func (nde NodeDownEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
26961	return nil, false
26962}
26963
26964// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26965func (nde NodeDownEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
26966	return nil, false
26967}
26968
26969// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
26970func (nde NodeDownEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
26971	return nil, false
26972}
26973
26974// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
26975func (nde NodeDownEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
26976	return nil, false
26977}
26978
26979// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
26980func (nde NodeDownEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
26981	return nil, false
26982}
26983
26984// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
26985func (nde NodeDownEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
26986	return nil, false
26987}
26988
26989// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
26990func (nde NodeDownEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
26991	return nil, false
26992}
26993
26994// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
26995func (nde NodeDownEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
26996	return nil, false
26997}
26998
26999// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
27000func (nde NodeDownEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27001	return nil, false
27002}
27003
27004// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27005func (nde NodeDownEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27006	return nil, false
27007}
27008
27009// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27010func (nde NodeDownEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27011	return nil, false
27012}
27013
27014// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27015func (nde NodeDownEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27016	return nil, false
27017}
27018
27019// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27020func (nde NodeDownEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27021	return nil, false
27022}
27023
27024// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27025func (nde NodeDownEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27026	return nil, false
27027}
27028
27029// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27030func (nde NodeDownEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27031	return nil, false
27032}
27033
27034// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
27035func (nde NodeDownEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27036	return nil, false
27037}
27038
27039// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27040func (nde NodeDownEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27041	return nil, false
27042}
27043
27044// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27045func (nde NodeDownEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27046	return nil, false
27047}
27048
27049// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27050func (nde NodeDownEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27051	return nil, false
27052}
27053
27054// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
27055func (nde NodeDownEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27056	return nil, false
27057}
27058
27059// AsFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
27060func (nde NodeDownEvent) AsFabricEvent() (*FabricEvent, bool) {
27061	return nil, false
27062}
27063
27064// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
27065func (nde NodeDownEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27066	return &nde, true
27067}
27068
27069// BasicNodeEvent represents the base for all Node Events.
27070type BasicNodeEvent interface {
27071	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
27072	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
27073	AsNodeAddedEvent() (*NodeAddedEvent, bool)
27074	AsNodeCloseEvent() (*NodeCloseEvent, bool)
27075	AsNodeClosingEvent() (*NodeClosingEvent, bool)
27076	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
27077	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
27078	AsNodeDownEvent() (*NodeDownEvent, bool)
27079	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
27080	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
27081	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
27082	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
27083	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
27084	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
27085	AsNodeUpEvent() (*NodeUpEvent, bool)
27086	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
27087	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
27088	AsNodeEvent() (*NodeEvent, bool)
27089}
27090
27091// NodeEvent represents the base for all Node Events.
27092type NodeEvent struct {
27093	// NodeName - The name of a Service Fabric node.
27094	NodeName *string `json:"NodeName,omitempty"`
27095	// EventInstanceID - The identifier for the FabricEvent instance.
27096	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27097	// TimeStamp - The time event was logged.
27098	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27099	// HasCorrelatedEvents - Shows there is existing related events available.
27100	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27101	// 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'
27102	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27103}
27104
27105func unmarshalBasicNodeEvent(body []byte) (BasicNodeEvent, error) {
27106	var m map[string]interface{}
27107	err := json.Unmarshal(body, &m)
27108	if err != nil {
27109		return nil, err
27110	}
27111
27112	switch m["Kind"] {
27113	case string(KindNodeAborted):
27114		var nae NodeAbortedEvent
27115		err := json.Unmarshal(body, &nae)
27116		return nae, err
27117	case string(KindNodeAborting):
27118		var nae NodeAbortingEvent
27119		err := json.Unmarshal(body, &nae)
27120		return nae, err
27121	case string(KindNodeAdded):
27122		var nae NodeAddedEvent
27123		err := json.Unmarshal(body, &nae)
27124		return nae, err
27125	case string(KindNodeClose):
27126		var nce NodeCloseEvent
27127		err := json.Unmarshal(body, &nce)
27128		return nce, err
27129	case string(KindNodeClosing):
27130		var nce NodeClosingEvent
27131		err := json.Unmarshal(body, &nce)
27132		return nce, err
27133	case string(KindNodeDeactivateComplete):
27134		var ndce NodeDeactivateCompleteEvent
27135		err := json.Unmarshal(body, &ndce)
27136		return ndce, err
27137	case string(KindNodeDeactivateStart):
27138		var ndse NodeDeactivateStartEvent
27139		err := json.Unmarshal(body, &ndse)
27140		return ndse, err
27141	case string(KindNodeDown):
27142		var nde NodeDownEvent
27143		err := json.Unmarshal(body, &nde)
27144		return nde, err
27145	case string(KindNodeHealthReportCreated):
27146		var nhrce NodeHealthReportCreatedEvent
27147		err := json.Unmarshal(body, &nhrce)
27148		return nhrce, err
27149	case string(KindNodeHealthReportExpired):
27150		var nhree NodeHealthReportExpiredEvent
27151		err := json.Unmarshal(body, &nhree)
27152		return nhree, err
27153	case string(KindNodeOpenedSuccess):
27154		var nose NodeOpenedSuccessEvent
27155		err := json.Unmarshal(body, &nose)
27156		return nose, err
27157	case string(KindNodeOpenFailed):
27158		var nofe NodeOpenFailedEvent
27159		err := json.Unmarshal(body, &nofe)
27160		return nofe, err
27161	case string(KindNodeOpening):
27162		var noe NodeOpeningEvent
27163		err := json.Unmarshal(body, &noe)
27164		return noe, err
27165	case string(KindNodeRemoved):
27166		var nre NodeRemovedEvent
27167		err := json.Unmarshal(body, &nre)
27168		return nre, err
27169	case string(KindNodeUp):
27170		var nue NodeUpEvent
27171		err := json.Unmarshal(body, &nue)
27172		return nue, err
27173	case string(KindChaosRestartNodeFaultCompleted):
27174		var crnfce ChaosRestartNodeFaultCompletedEvent
27175		err := json.Unmarshal(body, &crnfce)
27176		return crnfce, err
27177	case string(KindChaosRestartNodeFaultScheduled):
27178		var crnfse ChaosRestartNodeFaultScheduledEvent
27179		err := json.Unmarshal(body, &crnfse)
27180		return crnfse, err
27181	default:
27182		var ne NodeEvent
27183		err := json.Unmarshal(body, &ne)
27184		return ne, err
27185	}
27186}
27187func unmarshalBasicNodeEventArray(body []byte) ([]BasicNodeEvent, error) {
27188	var rawMessages []*json.RawMessage
27189	err := json.Unmarshal(body, &rawMessages)
27190	if err != nil {
27191		return nil, err
27192	}
27193
27194	neArray := make([]BasicNodeEvent, len(rawMessages))
27195
27196	for index, rawMessage := range rawMessages {
27197		ne, err := unmarshalBasicNodeEvent(*rawMessage)
27198		if err != nil {
27199			return nil, err
27200		}
27201		neArray[index] = ne
27202	}
27203	return neArray, nil
27204}
27205
27206// MarshalJSON is the custom marshaler for NodeEvent.
27207func (ne NodeEvent) MarshalJSON() ([]byte, error) {
27208	ne.Kind = KindNodeEvent
27209	objectMap := make(map[string]interface{})
27210	if ne.NodeName != nil {
27211		objectMap["NodeName"] = ne.NodeName
27212	}
27213	if ne.EventInstanceID != nil {
27214		objectMap["EventInstanceId"] = ne.EventInstanceID
27215	}
27216	if ne.TimeStamp != nil {
27217		objectMap["TimeStamp"] = ne.TimeStamp
27218	}
27219	if ne.HasCorrelatedEvents != nil {
27220		objectMap["HasCorrelatedEvents"] = ne.HasCorrelatedEvents
27221	}
27222	if ne.Kind != "" {
27223		objectMap["Kind"] = ne.Kind
27224	}
27225	return json.Marshal(objectMap)
27226}
27227
27228// AsApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
27229func (ne NodeEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27230	return nil, false
27231}
27232
27233// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
27234func (ne NodeEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27235	return nil, false
27236}
27237
27238// AsClusterEvent is the BasicFabricEvent implementation for NodeEvent.
27239func (ne NodeEvent) AsClusterEvent() (*ClusterEvent, bool) {
27240	return nil, false
27241}
27242
27243// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeEvent.
27244func (ne NodeEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27245	return nil, false
27246}
27247
27248// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeEvent.
27249func (ne NodeEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27250	return nil, false
27251}
27252
27253// AsNodeEvent is the BasicFabricEvent implementation for NodeEvent.
27254func (ne NodeEvent) AsNodeEvent() (*NodeEvent, bool) {
27255	return &ne, true
27256}
27257
27258// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeEvent.
27259func (ne NodeEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27260	return &ne, true
27261}
27262
27263// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
27264func (ne NodeEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27265	return nil, false
27266}
27267
27268// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
27269func (ne NodeEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27270	return nil, false
27271}
27272
27273// AsPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
27274func (ne NodeEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27275	return nil, false
27276}
27277
27278// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
27279func (ne NodeEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27280	return nil, false
27281}
27282
27283// AsReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
27284func (ne NodeEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27285	return nil, false
27286}
27287
27288// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
27289func (ne NodeEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27290	return nil, false
27291}
27292
27293// AsServiceEvent is the BasicFabricEvent implementation for NodeEvent.
27294func (ne NodeEvent) AsServiceEvent() (*ServiceEvent, bool) {
27295	return nil, false
27296}
27297
27298// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeEvent.
27299func (ne NodeEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27300	return nil, false
27301}
27302
27303// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27304func (ne NodeEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27305	return nil, false
27306}
27307
27308// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
27309func (ne NodeEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27310	return nil, false
27311}
27312
27313// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27314func (ne NodeEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27315	return nil, false
27316}
27317
27318// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27319func (ne NodeEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27320	return nil, false
27321}
27322
27323// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27324func (ne NodeEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27325	return nil, false
27326}
27327
27328// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27329func (ne NodeEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27330	return nil, false
27331}
27332
27333// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27334func (ne NodeEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27335	return nil, false
27336}
27337
27338// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
27339func (ne NodeEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27340	return nil, false
27341}
27342
27343// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
27344func (ne NodeEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27345	return nil, false
27346}
27347
27348// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27349func (ne NodeEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27350	return nil, false
27351}
27352
27353// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27354func (ne NodeEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27355	return nil, false
27356}
27357
27358// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
27359func (ne NodeEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27360	return nil, false
27361}
27362
27363// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
27364func (ne NodeEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27365	return nil, false
27366}
27367
27368// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeEvent.
27369func (ne NodeEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
27370	return nil, false
27371}
27372
27373// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeEvent.
27374func (ne NodeEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
27375	return nil, false
27376}
27377
27378// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeEvent.
27379func (ne NodeEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
27380	return nil, false
27381}
27382
27383// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeEvent.
27384func (ne NodeEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
27385	return nil, false
27386}
27387
27388// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeEvent.
27389func (ne NodeEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
27390	return nil, false
27391}
27392
27393// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27394func (ne NodeEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
27395	return nil, false
27396}
27397
27398// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeEvent.
27399func (ne NodeEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
27400	return nil, false
27401}
27402
27403// AsNodeDownEvent is the BasicFabricEvent implementation for NodeEvent.
27404func (ne NodeEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
27405	return nil, false
27406}
27407
27408// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27409func (ne NodeEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
27410	return nil, false
27411}
27412
27413// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27414func (ne NodeEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
27415	return nil, false
27416}
27417
27418// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeEvent.
27419func (ne NodeEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
27420	return nil, false
27421}
27422
27423// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeEvent.
27424func (ne NodeEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
27425	return nil, false
27426}
27427
27428// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeEvent.
27429func (ne NodeEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
27430	return nil, false
27431}
27432
27433// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeEvent.
27434func (ne NodeEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
27435	return nil, false
27436}
27437
27438// AsNodeUpEvent is the BasicFabricEvent implementation for NodeEvent.
27439func (ne NodeEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
27440	return nil, false
27441}
27442
27443// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27444func (ne NodeEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
27445	return nil, false
27446}
27447
27448// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27449func (ne NodeEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
27450	return nil, false
27451}
27452
27453// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27454func (ne NodeEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
27455	return nil, false
27456}
27457
27458// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
27459func (ne NodeEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
27460	return nil, false
27461}
27462
27463// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27464func (ne NodeEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
27465	return nil, false
27466}
27467
27468// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
27469func (ne NodeEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
27470	return nil, false
27471}
27472
27473// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27474func (ne NodeEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
27475	return nil, false
27476}
27477
27478// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27479func (ne NodeEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
27480	return nil, false
27481}
27482
27483// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27484func (ne NodeEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
27485	return nil, false
27486}
27487
27488// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27489func (ne NodeEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
27490	return nil, false
27491}
27492
27493// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27494func (ne NodeEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
27495	return nil, false
27496}
27497
27498// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27499func (ne NodeEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
27500	return nil, false
27501}
27502
27503// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27504func (ne NodeEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
27505	return nil, false
27506}
27507
27508// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27509func (ne NodeEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
27510	return nil, false
27511}
27512
27513// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
27514func (ne NodeEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
27515	return nil, false
27516}
27517
27518// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
27519func (ne NodeEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
27520	return nil, false
27521}
27522
27523// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27524func (ne NodeEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
27525	return nil, false
27526}
27527
27528// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27529func (ne NodeEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
27530	return nil, false
27531}
27532
27533// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
27534func (ne NodeEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
27535	return nil, false
27536}
27537
27538// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
27539func (ne NodeEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
27540	return nil, false
27541}
27542
27543// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
27544func (ne NodeEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27545	return nil, false
27546}
27547
27548// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeEvent.
27549func (ne NodeEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27550	return nil, false
27551}
27552
27553// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeEvent.
27554func (ne NodeEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27555	return nil, false
27556}
27557
27558// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27559func (ne NodeEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27560	return nil, false
27561}
27562
27563// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27564func (ne NodeEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27565	return nil, false
27566}
27567
27568// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27569func (ne NodeEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27570	return nil, false
27571}
27572
27573// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27574func (ne NodeEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27575	return nil, false
27576}
27577
27578// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
27579func (ne NodeEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27580	return nil, false
27581}
27582
27583// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27584func (ne NodeEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27585	return nil, false
27586}
27587
27588// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27589func (ne NodeEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27590	return nil, false
27591}
27592
27593// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27594func (ne NodeEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27595	return nil, false
27596}
27597
27598// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
27599func (ne NodeEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27600	return nil, false
27601}
27602
27603// AsFabricEvent is the BasicFabricEvent implementation for NodeEvent.
27604func (ne NodeEvent) AsFabricEvent() (*FabricEvent, bool) {
27605	return nil, false
27606}
27607
27608// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeEvent.
27609func (ne NodeEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27610	return &ne, true
27611}
27612
27613// NodeHealth information about the health of a Service Fabric node.
27614type NodeHealth struct {
27615	autorest.Response `json:"-"`
27616	// Name - Name of the node whose health information is described by this object.
27617	Name *string `json:"Name,omitempty"`
27618	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
27619	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
27620	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
27621	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
27622	// HealthEvents - The list of health events reported on the entity.
27623	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
27624	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
27625	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
27626	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
27627	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
27628}
27629
27630// NodeHealthEvaluation represents health evaluation for a node, containing information about the data and
27631// the algorithm used by health store to evaluate health. The evaluation is returned only when the
27632// aggregated health state is either Error or Warning.
27633type NodeHealthEvaluation struct {
27634	// NodeName - The name of a Service Fabric node.
27635	NodeName *string `json:"NodeName,omitempty"`
27636	// 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.
27637	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
27638	// 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'
27639	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
27640	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
27641	Description *string `json:"Description,omitempty"`
27642	// 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'
27643	Kind Kind `json:"Kind,omitempty"`
27644}
27645
27646// MarshalJSON is the custom marshaler for NodeHealthEvaluation.
27647func (nhe NodeHealthEvaluation) MarshalJSON() ([]byte, error) {
27648	nhe.Kind = KindNode
27649	objectMap := make(map[string]interface{})
27650	if nhe.NodeName != nil {
27651		objectMap["NodeName"] = nhe.NodeName
27652	}
27653	if nhe.UnhealthyEvaluations != nil {
27654		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
27655	}
27656	if nhe.AggregatedHealthState != "" {
27657		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
27658	}
27659	if nhe.Description != nil {
27660		objectMap["Description"] = nhe.Description
27661	}
27662	if nhe.Kind != "" {
27663		objectMap["Kind"] = nhe.Kind
27664	}
27665	return json.Marshal(objectMap)
27666}
27667
27668// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27669func (nhe NodeHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
27670	return nil, false
27671}
27672
27673// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27674func (nhe NodeHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
27675	return nil, false
27676}
27677
27678// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27679func (nhe NodeHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
27680	return nil, false
27681}
27682
27683// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27684func (nhe NodeHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
27685	return nil, false
27686}
27687
27688// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27689func (nhe NodeHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
27690	return nil, false
27691}
27692
27693// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27694func (nhe NodeHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
27695	return nil, false
27696}
27697
27698// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27699func (nhe NodeHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
27700	return nil, false
27701}
27702
27703// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27704func (nhe NodeHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
27705	return nil, false
27706}
27707
27708// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27709func (nhe NodeHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
27710	return nil, false
27711}
27712
27713// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27714func (nhe NodeHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
27715	return &nhe, true
27716}
27717
27718// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27719func (nhe NodeHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
27720	return nil, false
27721}
27722
27723// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27724func (nhe NodeHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
27725	return nil, false
27726}
27727
27728// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27729func (nhe NodeHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
27730	return nil, false
27731}
27732
27733// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27734func (nhe NodeHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
27735	return nil, false
27736}
27737
27738// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27739func (nhe NodeHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
27740	return nil, false
27741}
27742
27743// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27744func (nhe NodeHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
27745	return nil, false
27746}
27747
27748// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27749func (nhe NodeHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
27750	return nil, false
27751}
27752
27753// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27754func (nhe NodeHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
27755	return nil, false
27756}
27757
27758// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27759func (nhe NodeHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
27760	return nil, false
27761}
27762
27763// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27764func (nhe NodeHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
27765	return nil, false
27766}
27767
27768// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27769func (nhe NodeHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
27770	return nil, false
27771}
27772
27773// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
27774func (nhe NodeHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
27775	return &nhe, true
27776}
27777
27778// NodeHealthReportCreatedEvent node Health Report Created event.
27779type NodeHealthReportCreatedEvent struct {
27780	// NodeInstanceID - Id of Node instance.
27781	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
27782	// SourceID - Id of report source.
27783	SourceID *string `json:"SourceId,omitempty"`
27784	// Property - Describes the property.
27785	Property *string `json:"Property,omitempty"`
27786	// HealthState - Describes the property health state.
27787	HealthState *string `json:"HealthState,omitempty"`
27788	// TimeToLiveMs - Time to live in milli-seconds.
27789	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
27790	// SequenceNumber - Sequence number of report.
27791	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
27792	// Description - Description of report.
27793	Description *string `json:"Description,omitempty"`
27794	// RemoveWhenExpired - Indicates the removal when it expires.
27795	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
27796	// SourceUtcTimestamp - Source time.
27797	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
27798	// NodeName - The name of a Service Fabric node.
27799	NodeName *string `json:"NodeName,omitempty"`
27800	// EventInstanceID - The identifier for the FabricEvent instance.
27801	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27802	// TimeStamp - The time event was logged.
27803	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27804	// HasCorrelatedEvents - Shows there is existing related events available.
27805	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27806	// 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'
27807	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27808}
27809
27810// MarshalJSON is the custom marshaler for NodeHealthReportCreatedEvent.
27811func (nhrce NodeHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
27812	nhrce.Kind = KindNodeHealthReportCreated
27813	objectMap := make(map[string]interface{})
27814	if nhrce.NodeInstanceID != nil {
27815		objectMap["NodeInstanceId"] = nhrce.NodeInstanceID
27816	}
27817	if nhrce.SourceID != nil {
27818		objectMap["SourceId"] = nhrce.SourceID
27819	}
27820	if nhrce.Property != nil {
27821		objectMap["Property"] = nhrce.Property
27822	}
27823	if nhrce.HealthState != nil {
27824		objectMap["HealthState"] = nhrce.HealthState
27825	}
27826	if nhrce.TimeToLiveMs != nil {
27827		objectMap["TimeToLiveMs"] = nhrce.TimeToLiveMs
27828	}
27829	if nhrce.SequenceNumber != nil {
27830		objectMap["SequenceNumber"] = nhrce.SequenceNumber
27831	}
27832	if nhrce.Description != nil {
27833		objectMap["Description"] = nhrce.Description
27834	}
27835	if nhrce.RemoveWhenExpired != nil {
27836		objectMap["RemoveWhenExpired"] = nhrce.RemoveWhenExpired
27837	}
27838	if nhrce.SourceUtcTimestamp != nil {
27839		objectMap["SourceUtcTimestamp"] = nhrce.SourceUtcTimestamp
27840	}
27841	if nhrce.NodeName != nil {
27842		objectMap["NodeName"] = nhrce.NodeName
27843	}
27844	if nhrce.EventInstanceID != nil {
27845		objectMap["EventInstanceId"] = nhrce.EventInstanceID
27846	}
27847	if nhrce.TimeStamp != nil {
27848		objectMap["TimeStamp"] = nhrce.TimeStamp
27849	}
27850	if nhrce.HasCorrelatedEvents != nil {
27851		objectMap["HasCorrelatedEvents"] = nhrce.HasCorrelatedEvents
27852	}
27853	if nhrce.Kind != "" {
27854		objectMap["Kind"] = nhrce.Kind
27855	}
27856	return json.Marshal(objectMap)
27857}
27858
27859// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27860func (nhrce NodeHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27861	return nil, false
27862}
27863
27864// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27865func (nhrce NodeHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27866	return nil, false
27867}
27868
27869// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27870func (nhrce NodeHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
27871	return nil, false
27872}
27873
27874// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27875func (nhrce NodeHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27876	return nil, false
27877}
27878
27879// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27880func (nhrce NodeHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27881	return nil, false
27882}
27883
27884// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27885func (nhrce NodeHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
27886	return nil, false
27887}
27888
27889// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27890func (nhrce NodeHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27891	return &nhrce, true
27892}
27893
27894// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27895func (nhrce NodeHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27896	return nil, false
27897}
27898
27899// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27900func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27901	return nil, false
27902}
27903
27904// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27905func (nhrce NodeHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27906	return nil, false
27907}
27908
27909// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27910func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27911	return nil, false
27912}
27913
27914// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27915func (nhrce NodeHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27916	return nil, false
27917}
27918
27919// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27920func (nhrce NodeHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27921	return nil, false
27922}
27923
27924// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27925func (nhrce NodeHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
27926	return nil, false
27927}
27928
27929// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27930func (nhrce NodeHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27931	return nil, false
27932}
27933
27934// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27935func (nhrce NodeHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27936	return nil, false
27937}
27938
27939// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27940func (nhrce NodeHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27941	return nil, false
27942}
27943
27944// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27945func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27946	return nil, false
27947}
27948
27949// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27950func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27951	return nil, false
27952}
27953
27954// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27955func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27956	return nil, false
27957}
27958
27959// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27960func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27961	return nil, false
27962}
27963
27964// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27965func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27966	return nil, false
27967}
27968
27969// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27970func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27971	return nil, false
27972}
27973
27974// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27975func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27976	return nil, false
27977}
27978
27979// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27980func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27981	return nil, false
27982}
27983
27984// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27985func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27986	return nil, false
27987}
27988
27989// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27990func (nhrce NodeHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27991	return nil, false
27992}
27993
27994// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
27995func (nhrce NodeHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27996	return nil, false
27997}
27998
27999// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28000func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28001	return nil, false
28002}
28003
28004// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28005func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28006	return nil, false
28007}
28008
28009// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28010func (nhrce NodeHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28011	return nil, false
28012}
28013
28014// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28015func (nhrce NodeHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28016	return nil, false
28017}
28018
28019// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28020func (nhrce NodeHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28021	return nil, false
28022}
28023
28024// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28025func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28026	return nil, false
28027}
28028
28029// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28030func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28031	return nil, false
28032}
28033
28034// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28035func (nhrce NodeHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28036	return nil, false
28037}
28038
28039// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28040func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28041	return &nhrce, true
28042}
28043
28044// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28045func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28046	return nil, false
28047}
28048
28049// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28050func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28051	return nil, false
28052}
28053
28054// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28055func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28056	return nil, false
28057}
28058
28059// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28060func (nhrce NodeHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28061	return nil, false
28062}
28063
28064// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28065func (nhrce NodeHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28066	return nil, false
28067}
28068
28069// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28070func (nhrce NodeHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28071	return nil, false
28072}
28073
28074// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28075func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28076	return nil, false
28077}
28078
28079// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28080func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28081	return nil, false
28082}
28083
28084// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28085func (nhrce NodeHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28086	return nil, false
28087}
28088
28089// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28090func (nhrce NodeHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28091	return nil, false
28092}
28093
28094// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28095func (nhrce NodeHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28096	return nil, false
28097}
28098
28099// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28100func (nhrce NodeHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28101	return nil, false
28102}
28103
28104// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28105func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28106	return nil, false
28107}
28108
28109// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28110func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28111	return nil, false
28112}
28113
28114// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28115func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28116	return nil, false
28117}
28118
28119// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28120func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28121	return nil, false
28122}
28123
28124// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28125func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28126	return nil, false
28127}
28128
28129// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28130func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28131	return nil, false
28132}
28133
28134// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28135func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
28136	return nil, false
28137}
28138
28139// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28140func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
28141	return nil, false
28142}
28143
28144// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28145func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
28146	return nil, false
28147}
28148
28149// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28150func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
28151	return nil, false
28152}
28153
28154// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28155func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
28156	return nil, false
28157}
28158
28159// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28160func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
28161	return nil, false
28162}
28163
28164// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28165func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
28166	return nil, false
28167}
28168
28169// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28170func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
28171	return nil, false
28172}
28173
28174// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28175func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
28176	return nil, false
28177}
28178
28179// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28180func (nhrce NodeHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
28181	return nil, false
28182}
28183
28184// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28185func (nhrce NodeHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
28186	return nil, false
28187}
28188
28189// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28190func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
28191	return nil, false
28192}
28193
28194// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28195func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
28196	return nil, false
28197}
28198
28199// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28200func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
28201	return nil, false
28202}
28203
28204// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28205func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
28206	return nil, false
28207}
28208
28209// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28210func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
28211	return nil, false
28212}
28213
28214// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28215func (nhrce NodeHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
28216	return nil, false
28217}
28218
28219// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28220func (nhrce NodeHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
28221	return nil, false
28222}
28223
28224// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28225func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
28226	return nil, false
28227}
28228
28229// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28230func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
28231	return nil, false
28232}
28233
28234// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28235func (nhrce NodeHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
28236	return nil, false
28237}
28238
28239// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
28240func (nhrce NodeHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28241	return &nhrce, true
28242}
28243
28244// NodeHealthReportExpiredEvent node Health Report Expired event.
28245type NodeHealthReportExpiredEvent struct {
28246	// NodeInstanceID - Id of Node instance.
28247	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
28248	// SourceID - Id of report source.
28249	SourceID *string `json:"SourceId,omitempty"`
28250	// Property - Describes the property.
28251	Property *string `json:"Property,omitempty"`
28252	// HealthState - Describes the property health state.
28253	HealthState *string `json:"HealthState,omitempty"`
28254	// TimeToLiveMs - Time to live in milli-seconds.
28255	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
28256	// SequenceNumber - Sequence number of report.
28257	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
28258	// Description - Description of report.
28259	Description *string `json:"Description,omitempty"`
28260	// RemoveWhenExpired - Indicates the removal when it expires.
28261	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
28262	// SourceUtcTimestamp - Source time.
28263	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
28264	// NodeName - The name of a Service Fabric node.
28265	NodeName *string `json:"NodeName,omitempty"`
28266	// EventInstanceID - The identifier for the FabricEvent instance.
28267	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28268	// TimeStamp - The time event was logged.
28269	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28270	// HasCorrelatedEvents - Shows there is existing related events available.
28271	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28272	// 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'
28273	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28274}
28275
28276// MarshalJSON is the custom marshaler for NodeHealthReportExpiredEvent.
28277func (nhree NodeHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
28278	nhree.Kind = KindNodeHealthReportExpired
28279	objectMap := make(map[string]interface{})
28280	if nhree.NodeInstanceID != nil {
28281		objectMap["NodeInstanceId"] = nhree.NodeInstanceID
28282	}
28283	if nhree.SourceID != nil {
28284		objectMap["SourceId"] = nhree.SourceID
28285	}
28286	if nhree.Property != nil {
28287		objectMap["Property"] = nhree.Property
28288	}
28289	if nhree.HealthState != nil {
28290		objectMap["HealthState"] = nhree.HealthState
28291	}
28292	if nhree.TimeToLiveMs != nil {
28293		objectMap["TimeToLiveMs"] = nhree.TimeToLiveMs
28294	}
28295	if nhree.SequenceNumber != nil {
28296		objectMap["SequenceNumber"] = nhree.SequenceNumber
28297	}
28298	if nhree.Description != nil {
28299		objectMap["Description"] = nhree.Description
28300	}
28301	if nhree.RemoveWhenExpired != nil {
28302		objectMap["RemoveWhenExpired"] = nhree.RemoveWhenExpired
28303	}
28304	if nhree.SourceUtcTimestamp != nil {
28305		objectMap["SourceUtcTimestamp"] = nhree.SourceUtcTimestamp
28306	}
28307	if nhree.NodeName != nil {
28308		objectMap["NodeName"] = nhree.NodeName
28309	}
28310	if nhree.EventInstanceID != nil {
28311		objectMap["EventInstanceId"] = nhree.EventInstanceID
28312	}
28313	if nhree.TimeStamp != nil {
28314		objectMap["TimeStamp"] = nhree.TimeStamp
28315	}
28316	if nhree.HasCorrelatedEvents != nil {
28317		objectMap["HasCorrelatedEvents"] = nhree.HasCorrelatedEvents
28318	}
28319	if nhree.Kind != "" {
28320		objectMap["Kind"] = nhree.Kind
28321	}
28322	return json.Marshal(objectMap)
28323}
28324
28325// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28326func (nhree NodeHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28327	return nil, false
28328}
28329
28330// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28331func (nhree NodeHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28332	return nil, false
28333}
28334
28335// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28336func (nhree NodeHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
28337	return nil, false
28338}
28339
28340// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28341func (nhree NodeHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28342	return nil, false
28343}
28344
28345// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28346func (nhree NodeHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28347	return nil, false
28348}
28349
28350// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28351func (nhree NodeHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
28352	return nil, false
28353}
28354
28355// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28356func (nhree NodeHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28357	return &nhree, true
28358}
28359
28360// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28361func (nhree NodeHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28362	return nil, false
28363}
28364
28365// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28366func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28367	return nil, false
28368}
28369
28370// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28371func (nhree NodeHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28372	return nil, false
28373}
28374
28375// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28376func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28377	return nil, false
28378}
28379
28380// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28381func (nhree NodeHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28382	return nil, false
28383}
28384
28385// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28386func (nhree NodeHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28387	return nil, false
28388}
28389
28390// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28391func (nhree NodeHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
28392	return nil, false
28393}
28394
28395// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28396func (nhree NodeHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28397	return nil, false
28398}
28399
28400// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28401func (nhree NodeHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28402	return nil, false
28403}
28404
28405// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28406func (nhree NodeHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28407	return nil, false
28408}
28409
28410// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28411func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28412	return nil, false
28413}
28414
28415// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28416func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28417	return nil, false
28418}
28419
28420// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28421func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28422	return nil, false
28423}
28424
28425// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28426func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28427	return nil, false
28428}
28429
28430// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28431func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28432	return nil, false
28433}
28434
28435// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28436func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28437	return nil, false
28438}
28439
28440// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28441func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28442	return nil, false
28443}
28444
28445// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28446func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28447	return nil, false
28448}
28449
28450// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28451func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
28452	return nil, false
28453}
28454
28455// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28456func (nhree NodeHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
28457	return nil, false
28458}
28459
28460// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28461func (nhree NodeHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
28462	return nil, false
28463}
28464
28465// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28466func (nhree NodeHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28467	return nil, false
28468}
28469
28470// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28471func (nhree NodeHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28472	return nil, false
28473}
28474
28475// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28476func (nhree NodeHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28477	return nil, false
28478}
28479
28480// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28481func (nhree NodeHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28482	return nil, false
28483}
28484
28485// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28486func (nhree NodeHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28487	return nil, false
28488}
28489
28490// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28491func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28492	return nil, false
28493}
28494
28495// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28496func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28497	return nil, false
28498}
28499
28500// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28501func (nhree NodeHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28502	return nil, false
28503}
28504
28505// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28506func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28507	return nil, false
28508}
28509
28510// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28511func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28512	return &nhree, true
28513}
28514
28515// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28516func (nhree NodeHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28517	return nil, false
28518}
28519
28520// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28521func (nhree NodeHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28522	return nil, false
28523}
28524
28525// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28526func (nhree NodeHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28527	return nil, false
28528}
28529
28530// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28531func (nhree NodeHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28532	return nil, false
28533}
28534
28535// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28536func (nhree NodeHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28537	return nil, false
28538}
28539
28540// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28541func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28542	return nil, false
28543}
28544
28545// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28546func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28547	return nil, false
28548}
28549
28550// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28551func (nhree NodeHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28552	return nil, false
28553}
28554
28555// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28556func (nhree NodeHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28557	return nil, false
28558}
28559
28560// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28561func (nhree NodeHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28562	return nil, false
28563}
28564
28565// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28566func (nhree NodeHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28567	return nil, false
28568}
28569
28570// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28571func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28572	return nil, false
28573}
28574
28575// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28576func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28577	return nil, false
28578}
28579
28580// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28581func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28582	return nil, false
28583}
28584
28585// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28586func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28587	return nil, false
28588}
28589
28590// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28591func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28592	return nil, false
28593}
28594
28595// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28596func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28597	return nil, false
28598}
28599
28600// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28601func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
28602	return nil, false
28603}
28604
28605// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28606func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
28607	return nil, false
28608}
28609
28610// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28611func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
28612	return nil, false
28613}
28614
28615// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28616func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
28617	return nil, false
28618}
28619
28620// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28621func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
28622	return nil, false
28623}
28624
28625// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28626func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
28627	return nil, false
28628}
28629
28630// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28631func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
28632	return nil, false
28633}
28634
28635// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28636func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
28637	return nil, false
28638}
28639
28640// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28641func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
28642	return nil, false
28643}
28644
28645// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28646func (nhree NodeHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
28647	return nil, false
28648}
28649
28650// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28651func (nhree NodeHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
28652	return nil, false
28653}
28654
28655// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28656func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
28657	return nil, false
28658}
28659
28660// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28661func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
28662	return nil, false
28663}
28664
28665// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28666func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
28667	return nil, false
28668}
28669
28670// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28671func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
28672	return nil, false
28673}
28674
28675// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28676func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
28677	return nil, false
28678}
28679
28680// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28681func (nhree NodeHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
28682	return nil, false
28683}
28684
28685// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28686func (nhree NodeHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
28687	return nil, false
28688}
28689
28690// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28691func (nhree NodeHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
28692	return nil, false
28693}
28694
28695// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28696func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
28697	return nil, false
28698}
28699
28700// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28701func (nhree NodeHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
28702	return nil, false
28703}
28704
28705// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
28706func (nhree NodeHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28707	return &nhree, true
28708}
28709
28710// NodeHealthState represents the health state of a node, which contains the node identifier and its
28711// aggregated health state.
28712type NodeHealthState struct {
28713	// Name - The name of a Service Fabric node.
28714	Name *string `json:"Name,omitempty"`
28715	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
28716	ID *NodeID `json:"Id,omitempty"`
28717	// 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'
28718	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
28719}
28720
28721// NodeHealthStateChunk represents the health state chunk of a node, which contains the node name and its
28722// aggregated health state.
28723type NodeHealthStateChunk struct {
28724	// NodeName - The name of a Service Fabric node.
28725	NodeName *string `json:"NodeName,omitempty"`
28726	// 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'
28727	HealthState HealthState `json:"HealthState,omitempty"`
28728}
28729
28730// NodeHealthStateChunkList the list of node health state chunks in the cluster that respect the input
28731// filters in the chunk query. Returned by get cluster health state chunks query.
28732type NodeHealthStateChunkList struct {
28733	// Items - The list of node health state chunks that respect the input filters in the chunk query.
28734	Items *[]NodeHealthStateChunk `json:"Items,omitempty"`
28735	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
28736	TotalCount *int64 `json:"TotalCount,omitempty"`
28737}
28738
28739// NodeHealthStateFilter defines matching criteria to determine whether a node should be included in the
28740// returned cluster health chunk.
28741// One filter can match zero, one or multiple nodes, depending on its properties.
28742// Can be specified in the cluster health chunk query description.
28743type NodeHealthStateFilter struct {
28744	// NodeNameFilter - Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.
28745	// If the node doesn't exist, no node is returned in the cluster health chunk based on this filter.
28746	// If the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.
28747	// 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.
28748	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
28749	// HealthStateFilter - The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.
28750	// 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.
28751	// 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.
28752	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
28753	// For example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).
28754	// - Default - Default value. Matches any HealthState. The value is zero.
28755	// - 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.
28756	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
28757	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
28758	// - Error - Filter that matches input with HealthState value Error. The value is 8.
28759	// - All - Filter that matches input with any HealthState value. The value is 65535.
28760	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
28761}
28762
28763// NodeID an internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically
28764// generated from node name.
28765type NodeID struct {
28766	// ID - Value of the node Id. This is a 128 bit integer.
28767	ID *string `json:"Id,omitempty"`
28768}
28769
28770// NodeImpact describes the expected impact of a repair to a particular node.
28771//
28772// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
28773type NodeImpact struct {
28774	// NodeName - The name of the impacted node.
28775	NodeName *string `json:"NodeName,omitempty"`
28776	// ImpactLevel - The level of impact expected. Possible values include: 'ImpactLevelInvalid', 'ImpactLevelNone', 'ImpactLevelRestart', 'ImpactLevelRemoveData', 'ImpactLevelRemoveNode'
28777	ImpactLevel ImpactLevel `json:"ImpactLevel,omitempty"`
28778}
28779
28780// NodeInfo information about a node in Service Fabric cluster.
28781type NodeInfo struct {
28782	autorest.Response `json:"-"`
28783	// Name - The name of a Service Fabric node.
28784	Name *string `json:"Name,omitempty"`
28785	// IPAddressOrFQDN - The IP address or fully qualified domain name of the node.
28786	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
28787	// Type - The type of the node.
28788	Type *string `json:"Type,omitempty"`
28789	// CodeVersion - The version of Service Fabric binaries that the node is running.
28790	CodeVersion *string `json:"CodeVersion,omitempty"`
28791	// ConfigVersion - The version of Service Fabric cluster manifest that the node is using.
28792	ConfigVersion *string `json:"ConfigVersion,omitempty"`
28793	// NodeStatus - The status of the node. Possible values include: 'NodeStatusInvalid', 'NodeStatusUp', 'NodeStatusDown', 'NodeStatusEnabling', 'NodeStatusDisabling', 'NodeStatusDisabled', 'NodeStatusUnknown', 'NodeStatusRemoved'
28794	NodeStatus NodeStatus `json:"NodeStatus,omitempty"`
28795	// NodeUpTimeInSeconds - Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up.
28796	NodeUpTimeInSeconds *string `json:"NodeUpTimeInSeconds,omitempty"`
28797	// 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'
28798	HealthState HealthState `json:"HealthState,omitempty"`
28799	// 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.
28800	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
28801	// UpgradeDomain - The upgrade domain of the node.
28802	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
28803	// FaultDomain - The fault domain of the node.
28804	FaultDomain *string `json:"FaultDomain,omitempty"`
28805	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
28806	ID *NodeID `json:"Id,omitempty"`
28807	// 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.
28808	InstanceID *string `json:"InstanceId,omitempty"`
28809	// NodeDeactivationInfo - Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.
28810	NodeDeactivationInfo *NodeDeactivationInfo `json:"NodeDeactivationInfo,omitempty"`
28811	// IsStopped - Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false.
28812	IsStopped *bool `json:"IsStopped,omitempty"`
28813	// NodeDownTimeInSeconds - Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down.
28814	NodeDownTimeInSeconds *string `json:"NodeDownTimeInSeconds,omitempty"`
28815	// 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.
28816	NodeUpAt *date.Time `json:"NodeUpAt,omitempty"`
28817	// NodeDownAt - Date time in UTC when the node went down. If node has never been down then this value will be zero date time.
28818	NodeDownAt *date.Time `json:"NodeDownAt,omitempty"`
28819}
28820
28821// NodeLoadInfo information about load on a Service Fabric node. It holds a summary of all metrics and
28822// their load on a node.
28823type NodeLoadInfo struct {
28824	autorest.Response `json:"-"`
28825	// NodeName - Name of the node for which the load information is provided by this object.
28826	NodeName *string `json:"NodeName,omitempty"`
28827	// NodeLoadMetricInformation - List that contains metrics and their load information on this node.
28828	NodeLoadMetricInformation *[]NodeLoadMetricInformation `json:"NodeLoadMetricInformation,omitempty"`
28829}
28830
28831// NodeLoadMetricInformation represents data structure that contains load information for a certain metric
28832// on a node.
28833type NodeLoadMetricInformation struct {
28834	// Name - Name of the metric for which this load information is provided.
28835	Name *string `json:"Name,omitempty"`
28836	// NodeCapacity - Total capacity on the node for this metric.
28837	NodeCapacity *string `json:"NodeCapacity,omitempty"`
28838	// NodeLoad - Current load on the node for this metric.
28839	NodeLoad *string `json:"NodeLoad,omitempty"`
28840	// NodeRemainingCapacity - The remaining capacity on the node for this metric.
28841	NodeRemainingCapacity *string `json:"NodeRemainingCapacity,omitempty"`
28842	// IsCapacityViolation - Indicates if there is a capacity violation for this metric on the node.
28843	IsCapacityViolation *bool `json:"IsCapacityViolation,omitempty"`
28844	// NodeBufferedCapacity - The value that indicates the reserved capacity for this metric on the node.
28845	NodeBufferedCapacity *string `json:"NodeBufferedCapacity,omitempty"`
28846	// NodeRemainingBufferedCapacity - The remaining reserved capacity for this metric on the node.
28847	NodeRemainingBufferedCapacity *string `json:"NodeRemainingBufferedCapacity,omitempty"`
28848}
28849
28850// NodeOpenedSuccessEvent node Opened Success event.
28851type NodeOpenedSuccessEvent struct {
28852	// NodeInstance - Id of Node instance.
28853	NodeInstance *int64 `json:"NodeInstance,omitempty"`
28854	// NodeID - Id of Node.
28855	NodeID *string `json:"NodeId,omitempty"`
28856	// UpgradeDomain - Upgrade domain of Node.
28857	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
28858	// FaultDomain - Fault domain of Node.
28859	FaultDomain *string `json:"FaultDomain,omitempty"`
28860	// IPAddressOrFQDN - IP address or FQDN.
28861	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
28862	// Hostname - Name of Host.
28863	Hostname *string `json:"Hostname,omitempty"`
28864	// IsSeedNode - Indicates if it is seed node.
28865	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
28866	// NodeVersion - Version of Node.
28867	NodeVersion *string `json:"NodeVersion,omitempty"`
28868	// NodeName - The name of a Service Fabric node.
28869	NodeName *string `json:"NodeName,omitempty"`
28870	// EventInstanceID - The identifier for the FabricEvent instance.
28871	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28872	// TimeStamp - The time event was logged.
28873	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28874	// HasCorrelatedEvents - Shows there is existing related events available.
28875	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28876	// 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'
28877	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28878}
28879
28880// MarshalJSON is the custom marshaler for NodeOpenedSuccessEvent.
28881func (nose NodeOpenedSuccessEvent) MarshalJSON() ([]byte, error) {
28882	nose.Kind = KindNodeOpenedSuccess
28883	objectMap := make(map[string]interface{})
28884	if nose.NodeInstance != nil {
28885		objectMap["NodeInstance"] = nose.NodeInstance
28886	}
28887	if nose.NodeID != nil {
28888		objectMap["NodeId"] = nose.NodeID
28889	}
28890	if nose.UpgradeDomain != nil {
28891		objectMap["UpgradeDomain"] = nose.UpgradeDomain
28892	}
28893	if nose.FaultDomain != nil {
28894		objectMap["FaultDomain"] = nose.FaultDomain
28895	}
28896	if nose.IPAddressOrFQDN != nil {
28897		objectMap["IpAddressOrFQDN"] = nose.IPAddressOrFQDN
28898	}
28899	if nose.Hostname != nil {
28900		objectMap["Hostname"] = nose.Hostname
28901	}
28902	if nose.IsSeedNode != nil {
28903		objectMap["IsSeedNode"] = nose.IsSeedNode
28904	}
28905	if nose.NodeVersion != nil {
28906		objectMap["NodeVersion"] = nose.NodeVersion
28907	}
28908	if nose.NodeName != nil {
28909		objectMap["NodeName"] = nose.NodeName
28910	}
28911	if nose.EventInstanceID != nil {
28912		objectMap["EventInstanceId"] = nose.EventInstanceID
28913	}
28914	if nose.TimeStamp != nil {
28915		objectMap["TimeStamp"] = nose.TimeStamp
28916	}
28917	if nose.HasCorrelatedEvents != nil {
28918		objectMap["HasCorrelatedEvents"] = nose.HasCorrelatedEvents
28919	}
28920	if nose.Kind != "" {
28921		objectMap["Kind"] = nose.Kind
28922	}
28923	return json.Marshal(objectMap)
28924}
28925
28926// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28927func (nose NodeOpenedSuccessEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28928	return nil, false
28929}
28930
28931// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28932func (nose NodeOpenedSuccessEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28933	return nil, false
28934}
28935
28936// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28937func (nose NodeOpenedSuccessEvent) AsClusterEvent() (*ClusterEvent, bool) {
28938	return nil, false
28939}
28940
28941// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28942func (nose NodeOpenedSuccessEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28943	return nil, false
28944}
28945
28946// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28947func (nose NodeOpenedSuccessEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28948	return nil, false
28949}
28950
28951// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28952func (nose NodeOpenedSuccessEvent) AsNodeEvent() (*NodeEvent, bool) {
28953	return nil, false
28954}
28955
28956// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28957func (nose NodeOpenedSuccessEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28958	return &nose, true
28959}
28960
28961// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28962func (nose NodeOpenedSuccessEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28963	return nil, false
28964}
28965
28966// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28967func (nose NodeOpenedSuccessEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28968	return nil, false
28969}
28970
28971// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28972func (nose NodeOpenedSuccessEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28973	return nil, false
28974}
28975
28976// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28977func (nose NodeOpenedSuccessEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28978	return nil, false
28979}
28980
28981// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28982func (nose NodeOpenedSuccessEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28983	return nil, false
28984}
28985
28986// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28987func (nose NodeOpenedSuccessEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28988	return nil, false
28989}
28990
28991// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28992func (nose NodeOpenedSuccessEvent) AsServiceEvent() (*ServiceEvent, bool) {
28993	return nil, false
28994}
28995
28996// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
28997func (nose NodeOpenedSuccessEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28998	return nil, false
28999}
29000
29001// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29002func (nose NodeOpenedSuccessEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29003	return nil, false
29004}
29005
29006// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29007func (nose NodeOpenedSuccessEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29008	return nil, false
29009}
29010
29011// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29012func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29013	return nil, false
29014}
29015
29016// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29017func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29018	return nil, false
29019}
29020
29021// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29022func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29023	return nil, false
29024}
29025
29026// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29027func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29028	return nil, false
29029}
29030
29031// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29032func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29033	return nil, false
29034}
29035
29036// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29037func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29038	return nil, false
29039}
29040
29041// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29042func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29043	return nil, false
29044}
29045
29046// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29047func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29048	return nil, false
29049}
29050
29051// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29052func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29053	return nil, false
29054}
29055
29056// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29057func (nose NodeOpenedSuccessEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29058	return nil, false
29059}
29060
29061// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29062func (nose NodeOpenedSuccessEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29063	return nil, false
29064}
29065
29066// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29067func (nose NodeOpenedSuccessEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29068	return nil, false
29069}
29070
29071// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29072func (nose NodeOpenedSuccessEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29073	return nil, false
29074}
29075
29076// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29077func (nose NodeOpenedSuccessEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29078	return nil, false
29079}
29080
29081// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29082func (nose NodeOpenedSuccessEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29083	return nil, false
29084}
29085
29086// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29087func (nose NodeOpenedSuccessEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29088	return nil, false
29089}
29090
29091// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29092func (nose NodeOpenedSuccessEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29093	return nil, false
29094}
29095
29096// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29097func (nose NodeOpenedSuccessEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29098	return nil, false
29099}
29100
29101// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29102func (nose NodeOpenedSuccessEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29103	return nil, false
29104}
29105
29106// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29107func (nose NodeOpenedSuccessEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29108	return nil, false
29109}
29110
29111// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29112func (nose NodeOpenedSuccessEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29113	return nil, false
29114}
29115
29116// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29117func (nose NodeOpenedSuccessEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29118	return &nose, true
29119}
29120
29121// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29122func (nose NodeOpenedSuccessEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29123	return nil, false
29124}
29125
29126// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29127func (nose NodeOpenedSuccessEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29128	return nil, false
29129}
29130
29131// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29132func (nose NodeOpenedSuccessEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29133	return nil, false
29134}
29135
29136// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29137func (nose NodeOpenedSuccessEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29138	return nil, false
29139}
29140
29141// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29142func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29143	return nil, false
29144}
29145
29146// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29147func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29148	return nil, false
29149}
29150
29151// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29152func (nose NodeOpenedSuccessEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29153	return nil, false
29154}
29155
29156// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29157func (nose NodeOpenedSuccessEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
29158	return nil, false
29159}
29160
29161// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29162func (nose NodeOpenedSuccessEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
29163	return nil, false
29164}
29165
29166// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29167func (nose NodeOpenedSuccessEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
29168	return nil, false
29169}
29170
29171// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29172func (nose NodeOpenedSuccessEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
29173	return nil, false
29174}
29175
29176// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29177func (nose NodeOpenedSuccessEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
29178	return nil, false
29179}
29180
29181// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29182func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
29183	return nil, false
29184}
29185
29186// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29187func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
29188	return nil, false
29189}
29190
29191// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29192func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
29193	return nil, false
29194}
29195
29196// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29197func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
29198	return nil, false
29199}
29200
29201// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29202func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29203	return nil, false
29204}
29205
29206// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29207func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29208	return nil, false
29209}
29210
29211// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29212func (nose NodeOpenedSuccessEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29213	return nil, false
29214}
29215
29216// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29217func (nose NodeOpenedSuccessEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29218	return nil, false
29219}
29220
29221// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29222func (nose NodeOpenedSuccessEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29223	return nil, false
29224}
29225
29226// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29227func (nose NodeOpenedSuccessEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29228	return nil, false
29229}
29230
29231// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29232func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29233	return nil, false
29234}
29235
29236// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29237func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29238	return nil, false
29239}
29240
29241// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29242func (nose NodeOpenedSuccessEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29243	return nil, false
29244}
29245
29246// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29247func (nose NodeOpenedSuccessEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29248	return nil, false
29249}
29250
29251// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29252func (nose NodeOpenedSuccessEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29253	return nil, false
29254}
29255
29256// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29257func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29258	return nil, false
29259}
29260
29261// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29262func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29263	return nil, false
29264}
29265
29266// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29267func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29268	return nil, false
29269}
29270
29271// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29272func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29273	return nil, false
29274}
29275
29276// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29277func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29278	return nil, false
29279}
29280
29281// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29282func (nose NodeOpenedSuccessEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29283	return nil, false
29284}
29285
29286// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29287func (nose NodeOpenedSuccessEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29288	return nil, false
29289}
29290
29291// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29292func (nose NodeOpenedSuccessEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29293	return nil, false
29294}
29295
29296// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29297func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29298	return nil, false
29299}
29300
29301// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29302func (nose NodeOpenedSuccessEvent) AsFabricEvent() (*FabricEvent, bool) {
29303	return nil, false
29304}
29305
29306// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
29307func (nose NodeOpenedSuccessEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29308	return &nose, true
29309}
29310
29311// NodeOpenFailedEvent node Open Failed event.
29312type NodeOpenFailedEvent struct {
29313	// NodeInstance - Id of Node instance.
29314	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29315	// NodeID - Id of Node.
29316	NodeID *string `json:"NodeId,omitempty"`
29317	// UpgradeDomain - Upgrade domain of Node.
29318	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
29319	// FaultDomain - Fault domain of Node.
29320	FaultDomain *string `json:"FaultDomain,omitempty"`
29321	// IPAddressOrFQDN - IP address or FQDN.
29322	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
29323	// Hostname - Name of Host.
29324	Hostname *string `json:"Hostname,omitempty"`
29325	// IsSeedNode - Indicates if it is seed node.
29326	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
29327	// NodeVersion - Version of Node.
29328	NodeVersion *string `json:"NodeVersion,omitempty"`
29329	// Error - Describes the error.
29330	Error *string `json:"Error,omitempty"`
29331	// NodeName - The name of a Service Fabric node.
29332	NodeName *string `json:"NodeName,omitempty"`
29333	// EventInstanceID - The identifier for the FabricEvent instance.
29334	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29335	// TimeStamp - The time event was logged.
29336	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29337	// HasCorrelatedEvents - Shows there is existing related events available.
29338	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29339	// 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'
29340	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29341}
29342
29343// MarshalJSON is the custom marshaler for NodeOpenFailedEvent.
29344func (nofe NodeOpenFailedEvent) MarshalJSON() ([]byte, error) {
29345	nofe.Kind = KindNodeOpenFailed
29346	objectMap := make(map[string]interface{})
29347	if nofe.NodeInstance != nil {
29348		objectMap["NodeInstance"] = nofe.NodeInstance
29349	}
29350	if nofe.NodeID != nil {
29351		objectMap["NodeId"] = nofe.NodeID
29352	}
29353	if nofe.UpgradeDomain != nil {
29354		objectMap["UpgradeDomain"] = nofe.UpgradeDomain
29355	}
29356	if nofe.FaultDomain != nil {
29357		objectMap["FaultDomain"] = nofe.FaultDomain
29358	}
29359	if nofe.IPAddressOrFQDN != nil {
29360		objectMap["IpAddressOrFQDN"] = nofe.IPAddressOrFQDN
29361	}
29362	if nofe.Hostname != nil {
29363		objectMap["Hostname"] = nofe.Hostname
29364	}
29365	if nofe.IsSeedNode != nil {
29366		objectMap["IsSeedNode"] = nofe.IsSeedNode
29367	}
29368	if nofe.NodeVersion != nil {
29369		objectMap["NodeVersion"] = nofe.NodeVersion
29370	}
29371	if nofe.Error != nil {
29372		objectMap["Error"] = nofe.Error
29373	}
29374	if nofe.NodeName != nil {
29375		objectMap["NodeName"] = nofe.NodeName
29376	}
29377	if nofe.EventInstanceID != nil {
29378		objectMap["EventInstanceId"] = nofe.EventInstanceID
29379	}
29380	if nofe.TimeStamp != nil {
29381		objectMap["TimeStamp"] = nofe.TimeStamp
29382	}
29383	if nofe.HasCorrelatedEvents != nil {
29384		objectMap["HasCorrelatedEvents"] = nofe.HasCorrelatedEvents
29385	}
29386	if nofe.Kind != "" {
29387		objectMap["Kind"] = nofe.Kind
29388	}
29389	return json.Marshal(objectMap)
29390}
29391
29392// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29393func (nofe NodeOpenFailedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29394	return nil, false
29395}
29396
29397// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29398func (nofe NodeOpenFailedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29399	return nil, false
29400}
29401
29402// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29403func (nofe NodeOpenFailedEvent) AsClusterEvent() (*ClusterEvent, bool) {
29404	return nil, false
29405}
29406
29407// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29408func (nofe NodeOpenFailedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29409	return nil, false
29410}
29411
29412// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29413func (nofe NodeOpenFailedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29414	return nil, false
29415}
29416
29417// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29418func (nofe NodeOpenFailedEvent) AsNodeEvent() (*NodeEvent, bool) {
29419	return nil, false
29420}
29421
29422// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29423func (nofe NodeOpenFailedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29424	return &nofe, true
29425}
29426
29427// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29428func (nofe NodeOpenFailedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29429	return nil, false
29430}
29431
29432// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29433func (nofe NodeOpenFailedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29434	return nil, false
29435}
29436
29437// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29438func (nofe NodeOpenFailedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29439	return nil, false
29440}
29441
29442// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29443func (nofe NodeOpenFailedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29444	return nil, false
29445}
29446
29447// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29448func (nofe NodeOpenFailedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29449	return nil, false
29450}
29451
29452// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29453func (nofe NodeOpenFailedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29454	return nil, false
29455}
29456
29457// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29458func (nofe NodeOpenFailedEvent) AsServiceEvent() (*ServiceEvent, bool) {
29459	return nil, false
29460}
29461
29462// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29463func (nofe NodeOpenFailedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29464	return nil, false
29465}
29466
29467// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29468func (nofe NodeOpenFailedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29469	return nil, false
29470}
29471
29472// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29473func (nofe NodeOpenFailedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29474	return nil, false
29475}
29476
29477// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29478func (nofe NodeOpenFailedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29479	return nil, false
29480}
29481
29482// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29483func (nofe NodeOpenFailedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29484	return nil, false
29485}
29486
29487// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29488func (nofe NodeOpenFailedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29489	return nil, false
29490}
29491
29492// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29493func (nofe NodeOpenFailedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29494	return nil, false
29495}
29496
29497// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29498func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29499	return nil, false
29500}
29501
29502// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29503func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29504	return nil, false
29505}
29506
29507// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29508func (nofe NodeOpenFailedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29509	return nil, false
29510}
29511
29512// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29513func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29514	return nil, false
29515}
29516
29517// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29518func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29519	return nil, false
29520}
29521
29522// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29523func (nofe NodeOpenFailedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29524	return nil, false
29525}
29526
29527// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29528func (nofe NodeOpenFailedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29529	return nil, false
29530}
29531
29532// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29533func (nofe NodeOpenFailedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29534	return nil, false
29535}
29536
29537// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29538func (nofe NodeOpenFailedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29539	return nil, false
29540}
29541
29542// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29543func (nofe NodeOpenFailedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29544	return nil, false
29545}
29546
29547// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29548func (nofe NodeOpenFailedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29549	return nil, false
29550}
29551
29552// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29553func (nofe NodeOpenFailedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29554	return nil, false
29555}
29556
29557// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29558func (nofe NodeOpenFailedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29559	return nil, false
29560}
29561
29562// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29563func (nofe NodeOpenFailedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29564	return nil, false
29565}
29566
29567// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29568func (nofe NodeOpenFailedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29569	return nil, false
29570}
29571
29572// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29573func (nofe NodeOpenFailedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29574	return nil, false
29575}
29576
29577// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29578func (nofe NodeOpenFailedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29579	return nil, false
29580}
29581
29582// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29583func (nofe NodeOpenFailedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29584	return nil, false
29585}
29586
29587// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29588func (nofe NodeOpenFailedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29589	return &nofe, true
29590}
29591
29592// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29593func (nofe NodeOpenFailedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29594	return nil, false
29595}
29596
29597// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29598func (nofe NodeOpenFailedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29599	return nil, false
29600}
29601
29602// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29603func (nofe NodeOpenFailedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29604	return nil, false
29605}
29606
29607// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29608func (nofe NodeOpenFailedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29609	return nil, false
29610}
29611
29612// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29613func (nofe NodeOpenFailedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29614	return nil, false
29615}
29616
29617// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29618func (nofe NodeOpenFailedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29619	return nil, false
29620}
29621
29622// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29623func (nofe NodeOpenFailedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
29624	return nil, false
29625}
29626
29627// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29628func (nofe NodeOpenFailedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
29629	return nil, false
29630}
29631
29632// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29633func (nofe NodeOpenFailedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
29634	return nil, false
29635}
29636
29637// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29638func (nofe NodeOpenFailedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
29639	return nil, false
29640}
29641
29642// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29643func (nofe NodeOpenFailedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
29644	return nil, false
29645}
29646
29647// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29648func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
29649	return nil, false
29650}
29651
29652// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29653func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
29654	return nil, false
29655}
29656
29657// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29658func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
29659	return nil, false
29660}
29661
29662// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29663func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
29664	return nil, false
29665}
29666
29667// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29668func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29669	return nil, false
29670}
29671
29672// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29673func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29674	return nil, false
29675}
29676
29677// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29678func (nofe NodeOpenFailedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29679	return nil, false
29680}
29681
29682// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29683func (nofe NodeOpenFailedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29684	return nil, false
29685}
29686
29687// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29688func (nofe NodeOpenFailedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29689	return nil, false
29690}
29691
29692// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29693func (nofe NodeOpenFailedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29694	return nil, false
29695}
29696
29697// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29698func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29699	return nil, false
29700}
29701
29702// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29703func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29704	return nil, false
29705}
29706
29707// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29708func (nofe NodeOpenFailedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29709	return nil, false
29710}
29711
29712// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29713func (nofe NodeOpenFailedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29714	return nil, false
29715}
29716
29717// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29718func (nofe NodeOpenFailedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29719	return nil, false
29720}
29721
29722// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29723func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29724	return nil, false
29725}
29726
29727// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29728func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29729	return nil, false
29730}
29731
29732// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29733func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29734	return nil, false
29735}
29736
29737// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29738func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29739	return nil, false
29740}
29741
29742// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29743func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29744	return nil, false
29745}
29746
29747// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29748func (nofe NodeOpenFailedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29749	return nil, false
29750}
29751
29752// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29753func (nofe NodeOpenFailedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29754	return nil, false
29755}
29756
29757// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29758func (nofe NodeOpenFailedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29759	return nil, false
29760}
29761
29762// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29763func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29764	return nil, false
29765}
29766
29767// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29768func (nofe NodeOpenFailedEvent) AsFabricEvent() (*FabricEvent, bool) {
29769	return nil, false
29770}
29771
29772// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
29773func (nofe NodeOpenFailedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29774	return &nofe, true
29775}
29776
29777// NodeOpeningEvent node Opening event.
29778type NodeOpeningEvent struct {
29779	// NodeInstance - Id of Node instance.
29780	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29781	// NodeID - Id of Node.
29782	NodeID *string `json:"NodeId,omitempty"`
29783	// UpgradeDomain - Upgrade domain of Node.
29784	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
29785	// FaultDomain - Fault domain of Node.
29786	FaultDomain *string `json:"FaultDomain,omitempty"`
29787	// IPAddressOrFQDN - IP address or FQDN.
29788	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
29789	// Hostname - Name of Host.
29790	Hostname *string `json:"Hostname,omitempty"`
29791	// IsSeedNode - Indicates if it is seed node.
29792	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
29793	// NodeVersion - Version of Node.
29794	NodeVersion *string `json:"NodeVersion,omitempty"`
29795	// NodeName - The name of a Service Fabric node.
29796	NodeName *string `json:"NodeName,omitempty"`
29797	// EventInstanceID - The identifier for the FabricEvent instance.
29798	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29799	// TimeStamp - The time event was logged.
29800	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29801	// HasCorrelatedEvents - Shows there is existing related events available.
29802	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29803	// 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'
29804	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29805}
29806
29807// MarshalJSON is the custom marshaler for NodeOpeningEvent.
29808func (noe NodeOpeningEvent) MarshalJSON() ([]byte, error) {
29809	noe.Kind = KindNodeOpening
29810	objectMap := make(map[string]interface{})
29811	if noe.NodeInstance != nil {
29812		objectMap["NodeInstance"] = noe.NodeInstance
29813	}
29814	if noe.NodeID != nil {
29815		objectMap["NodeId"] = noe.NodeID
29816	}
29817	if noe.UpgradeDomain != nil {
29818		objectMap["UpgradeDomain"] = noe.UpgradeDomain
29819	}
29820	if noe.FaultDomain != nil {
29821		objectMap["FaultDomain"] = noe.FaultDomain
29822	}
29823	if noe.IPAddressOrFQDN != nil {
29824		objectMap["IpAddressOrFQDN"] = noe.IPAddressOrFQDN
29825	}
29826	if noe.Hostname != nil {
29827		objectMap["Hostname"] = noe.Hostname
29828	}
29829	if noe.IsSeedNode != nil {
29830		objectMap["IsSeedNode"] = noe.IsSeedNode
29831	}
29832	if noe.NodeVersion != nil {
29833		objectMap["NodeVersion"] = noe.NodeVersion
29834	}
29835	if noe.NodeName != nil {
29836		objectMap["NodeName"] = noe.NodeName
29837	}
29838	if noe.EventInstanceID != nil {
29839		objectMap["EventInstanceId"] = noe.EventInstanceID
29840	}
29841	if noe.TimeStamp != nil {
29842		objectMap["TimeStamp"] = noe.TimeStamp
29843	}
29844	if noe.HasCorrelatedEvents != nil {
29845		objectMap["HasCorrelatedEvents"] = noe.HasCorrelatedEvents
29846	}
29847	if noe.Kind != "" {
29848		objectMap["Kind"] = noe.Kind
29849	}
29850	return json.Marshal(objectMap)
29851}
29852
29853// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29854func (noe NodeOpeningEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29855	return nil, false
29856}
29857
29858// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29859func (noe NodeOpeningEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29860	return nil, false
29861}
29862
29863// AsClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29864func (noe NodeOpeningEvent) AsClusterEvent() (*ClusterEvent, bool) {
29865	return nil, false
29866}
29867
29868// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29869func (noe NodeOpeningEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29870	return nil, false
29871}
29872
29873// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29874func (noe NodeOpeningEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29875	return nil, false
29876}
29877
29878// AsNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29879func (noe NodeOpeningEvent) AsNodeEvent() (*NodeEvent, bool) {
29880	return nil, false
29881}
29882
29883// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29884func (noe NodeOpeningEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29885	return &noe, true
29886}
29887
29888// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29889func (noe NodeOpeningEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29890	return nil, false
29891}
29892
29893// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29894func (noe NodeOpeningEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29895	return nil, false
29896}
29897
29898// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29899func (noe NodeOpeningEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29900	return nil, false
29901}
29902
29903// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29904func (noe NodeOpeningEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29905	return nil, false
29906}
29907
29908// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29909func (noe NodeOpeningEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29910	return nil, false
29911}
29912
29913// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29914func (noe NodeOpeningEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29915	return nil, false
29916}
29917
29918// AsServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29919func (noe NodeOpeningEvent) AsServiceEvent() (*ServiceEvent, bool) {
29920	return nil, false
29921}
29922
29923// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29924func (noe NodeOpeningEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29925	return nil, false
29926}
29927
29928// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29929func (noe NodeOpeningEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29930	return nil, false
29931}
29932
29933// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29934func (noe NodeOpeningEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29935	return nil, false
29936}
29937
29938// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29939func (noe NodeOpeningEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29940	return nil, false
29941}
29942
29943// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29944func (noe NodeOpeningEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29945	return nil, false
29946}
29947
29948// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29949func (noe NodeOpeningEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29950	return nil, false
29951}
29952
29953// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29954func (noe NodeOpeningEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29955	return nil, false
29956}
29957
29958// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29959func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29960	return nil, false
29961}
29962
29963// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29964func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29965	return nil, false
29966}
29967
29968// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29969func (noe NodeOpeningEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29970	return nil, false
29971}
29972
29973// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29974func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29975	return nil, false
29976}
29977
29978// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29979func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29980	return nil, false
29981}
29982
29983// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29984func (noe NodeOpeningEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29985	return nil, false
29986}
29987
29988// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29989func (noe NodeOpeningEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29990	return nil, false
29991}
29992
29993// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29994func (noe NodeOpeningEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29995	return nil, false
29996}
29997
29998// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
29999func (noe NodeOpeningEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
30000	return nil, false
30001}
30002
30003// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30004func (noe NodeOpeningEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
30005	return nil, false
30006}
30007
30008// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30009func (noe NodeOpeningEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
30010	return nil, false
30011}
30012
30013// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30014func (noe NodeOpeningEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
30015	return nil, false
30016}
30017
30018// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30019func (noe NodeOpeningEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
30020	return nil, false
30021}
30022
30023// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30024func (noe NodeOpeningEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
30025	return nil, false
30026}
30027
30028// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30029func (noe NodeOpeningEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
30030	return nil, false
30031}
30032
30033// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30034func (noe NodeOpeningEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
30035	return nil, false
30036}
30037
30038// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30039func (noe NodeOpeningEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
30040	return nil, false
30041}
30042
30043// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30044func (noe NodeOpeningEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
30045	return nil, false
30046}
30047
30048// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30049func (noe NodeOpeningEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
30050	return nil, false
30051}
30052
30053// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30054func (noe NodeOpeningEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
30055	return &noe, true
30056}
30057
30058// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30059func (noe NodeOpeningEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
30060	return nil, false
30061}
30062
30063// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30064func (noe NodeOpeningEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30065	return nil, false
30066}
30067
30068// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30069func (noe NodeOpeningEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30070	return nil, false
30071}
30072
30073// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30074func (noe NodeOpeningEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
30075	return nil, false
30076}
30077
30078// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30079func (noe NodeOpeningEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30080	return nil, false
30081}
30082
30083// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30084func (noe NodeOpeningEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30085	return nil, false
30086}
30087
30088// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30089func (noe NodeOpeningEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30090	return nil, false
30091}
30092
30093// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30094func (noe NodeOpeningEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30095	return nil, false
30096}
30097
30098// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30099func (noe NodeOpeningEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30100	return nil, false
30101}
30102
30103// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30104func (noe NodeOpeningEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30105	return nil, false
30106}
30107
30108// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30109func (noe NodeOpeningEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30110	return nil, false
30111}
30112
30113// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30114func (noe NodeOpeningEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30115	return nil, false
30116}
30117
30118// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30119func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30120	return nil, false
30121}
30122
30123// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30124func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30125	return nil, false
30126}
30127
30128// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30129func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30130	return nil, false
30131}
30132
30133// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30134func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30135	return nil, false
30136}
30137
30138// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30139func (noe NodeOpeningEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30140	return nil, false
30141}
30142
30143// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30144func (noe NodeOpeningEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30145	return nil, false
30146}
30147
30148// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30149func (noe NodeOpeningEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30150	return nil, false
30151}
30152
30153// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30154func (noe NodeOpeningEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30155	return nil, false
30156}
30157
30158// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30159func (noe NodeOpeningEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30160	return nil, false
30161}
30162
30163// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30164func (noe NodeOpeningEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30165	return nil, false
30166}
30167
30168// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30169func (noe NodeOpeningEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30170	return nil, false
30171}
30172
30173// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30174func (noe NodeOpeningEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30175	return nil, false
30176}
30177
30178// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30179func (noe NodeOpeningEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30180	return nil, false
30181}
30182
30183// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30184func (noe NodeOpeningEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30185	return nil, false
30186}
30187
30188// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30189func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30190	return nil, false
30191}
30192
30193// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30194func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30195	return nil, false
30196}
30197
30198// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30199func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30200	return nil, false
30201}
30202
30203// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30204func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30205	return nil, false
30206}
30207
30208// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30209func (noe NodeOpeningEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30210	return nil, false
30211}
30212
30213// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30214func (noe NodeOpeningEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30215	return nil, false
30216}
30217
30218// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30219func (noe NodeOpeningEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30220	return nil, false
30221}
30222
30223// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30224func (noe NodeOpeningEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30225	return nil, false
30226}
30227
30228// AsFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30229func (noe NodeOpeningEvent) AsFabricEvent() (*FabricEvent, bool) {
30230	return nil, false
30231}
30232
30233// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
30234func (noe NodeOpeningEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30235	return &noe, true
30236}
30237
30238// NodeRemovedEvent node Removed event.
30239type NodeRemovedEvent struct {
30240	// NodeID - Id of Node.
30241	NodeID *string `json:"NodeId,omitempty"`
30242	// NodeInstance - Id of Node instance.
30243	NodeInstance *int64 `json:"NodeInstance,omitempty"`
30244	// NodeType - Type of Node.
30245	NodeType *string `json:"NodeType,omitempty"`
30246	// FabricVersion - Fabric version.
30247	FabricVersion *string `json:"FabricVersion,omitempty"`
30248	// IPAddressOrFQDN - IP address or FQDN.
30249	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
30250	// NodeCapacities - Capacities.
30251	NodeCapacities *string `json:"NodeCapacities,omitempty"`
30252	// NodeName - The name of a Service Fabric node.
30253	NodeName *string `json:"NodeName,omitempty"`
30254	// EventInstanceID - The identifier for the FabricEvent instance.
30255	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30256	// TimeStamp - The time event was logged.
30257	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30258	// HasCorrelatedEvents - Shows there is existing related events available.
30259	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30260	// 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'
30261	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30262}
30263
30264// MarshalJSON is the custom marshaler for NodeRemovedEvent.
30265func (nre NodeRemovedEvent) MarshalJSON() ([]byte, error) {
30266	nre.Kind = KindNodeRemoved
30267	objectMap := make(map[string]interface{})
30268	if nre.NodeID != nil {
30269		objectMap["NodeId"] = nre.NodeID
30270	}
30271	if nre.NodeInstance != nil {
30272		objectMap["NodeInstance"] = nre.NodeInstance
30273	}
30274	if nre.NodeType != nil {
30275		objectMap["NodeType"] = nre.NodeType
30276	}
30277	if nre.FabricVersion != nil {
30278		objectMap["FabricVersion"] = nre.FabricVersion
30279	}
30280	if nre.IPAddressOrFQDN != nil {
30281		objectMap["IpAddressOrFQDN"] = nre.IPAddressOrFQDN
30282	}
30283	if nre.NodeCapacities != nil {
30284		objectMap["NodeCapacities"] = nre.NodeCapacities
30285	}
30286	if nre.NodeName != nil {
30287		objectMap["NodeName"] = nre.NodeName
30288	}
30289	if nre.EventInstanceID != nil {
30290		objectMap["EventInstanceId"] = nre.EventInstanceID
30291	}
30292	if nre.TimeStamp != nil {
30293		objectMap["TimeStamp"] = nre.TimeStamp
30294	}
30295	if nre.HasCorrelatedEvents != nil {
30296		objectMap["HasCorrelatedEvents"] = nre.HasCorrelatedEvents
30297	}
30298	if nre.Kind != "" {
30299		objectMap["Kind"] = nre.Kind
30300	}
30301	return json.Marshal(objectMap)
30302}
30303
30304// AsApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30305func (nre NodeRemovedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30306	return nil, false
30307}
30308
30309// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30310func (nre NodeRemovedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30311	return nil, false
30312}
30313
30314// AsClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30315func (nre NodeRemovedEvent) AsClusterEvent() (*ClusterEvent, bool) {
30316	return nil, false
30317}
30318
30319// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30320func (nre NodeRemovedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
30321	return nil, false
30322}
30323
30324// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30325func (nre NodeRemovedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
30326	return nil, false
30327}
30328
30329// AsNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30330func (nre NodeRemovedEvent) AsNodeEvent() (*NodeEvent, bool) {
30331	return nil, false
30332}
30333
30334// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30335func (nre NodeRemovedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
30336	return &nre, true
30337}
30338
30339// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30340func (nre NodeRemovedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
30341	return nil, false
30342}
30343
30344// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30345func (nre NodeRemovedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
30346	return nil, false
30347}
30348
30349// AsPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30350func (nre NodeRemovedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
30351	return nil, false
30352}
30353
30354// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30355func (nre NodeRemovedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
30356	return nil, false
30357}
30358
30359// AsReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30360func (nre NodeRemovedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
30361	return nil, false
30362}
30363
30364// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30365func (nre NodeRemovedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
30366	return nil, false
30367}
30368
30369// AsServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30370func (nre NodeRemovedEvent) AsServiceEvent() (*ServiceEvent, bool) {
30371	return nil, false
30372}
30373
30374// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30375func (nre NodeRemovedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
30376	return nil, false
30377}
30378
30379// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30380func (nre NodeRemovedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
30381	return nil, false
30382}
30383
30384// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30385func (nre NodeRemovedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
30386	return nil, false
30387}
30388
30389// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30390func (nre NodeRemovedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
30391	return nil, false
30392}
30393
30394// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30395func (nre NodeRemovedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
30396	return nil, false
30397}
30398
30399// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30400func (nre NodeRemovedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
30401	return nil, false
30402}
30403
30404// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30405func (nre NodeRemovedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
30406	return nil, false
30407}
30408
30409// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30410func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
30411	return nil, false
30412}
30413
30414// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30415func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
30416	return nil, false
30417}
30418
30419// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30420func (nre NodeRemovedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
30421	return nil, false
30422}
30423
30424// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30425func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
30426	return nil, false
30427}
30428
30429// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30430func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
30431	return nil, false
30432}
30433
30434// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30435func (nre NodeRemovedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
30436	return nil, false
30437}
30438
30439// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30440func (nre NodeRemovedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
30441	return nil, false
30442}
30443
30444// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30445func (nre NodeRemovedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
30446	return nil, false
30447}
30448
30449// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30450func (nre NodeRemovedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
30451	return nil, false
30452}
30453
30454// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30455func (nre NodeRemovedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
30456	return nil, false
30457}
30458
30459// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30460func (nre NodeRemovedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
30461	return nil, false
30462}
30463
30464// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30465func (nre NodeRemovedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
30466	return nil, false
30467}
30468
30469// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30470func (nre NodeRemovedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
30471	return nil, false
30472}
30473
30474// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30475func (nre NodeRemovedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
30476	return nil, false
30477}
30478
30479// AsNodeDownEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30480func (nre NodeRemovedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
30481	return nil, false
30482}
30483
30484// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30485func (nre NodeRemovedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
30486	return nil, false
30487}
30488
30489// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30490func (nre NodeRemovedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
30491	return nil, false
30492}
30493
30494// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30495func (nre NodeRemovedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
30496	return nil, false
30497}
30498
30499// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30500func (nre NodeRemovedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
30501	return nil, false
30502}
30503
30504// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30505func (nre NodeRemovedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
30506	return nil, false
30507}
30508
30509// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30510func (nre NodeRemovedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
30511	return &nre, true
30512}
30513
30514// AsNodeUpEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30515func (nre NodeRemovedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30516	return nil, false
30517}
30518
30519// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30520func (nre NodeRemovedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30521	return nil, false
30522}
30523
30524// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30525func (nre NodeRemovedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
30526	return nil, false
30527}
30528
30529// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30530func (nre NodeRemovedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30531	return nil, false
30532}
30533
30534// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30535func (nre NodeRemovedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30536	return nil, false
30537}
30538
30539// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30540func (nre NodeRemovedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30541	return nil, false
30542}
30543
30544// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30545func (nre NodeRemovedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30546	return nil, false
30547}
30548
30549// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30550func (nre NodeRemovedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30551	return nil, false
30552}
30553
30554// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30555func (nre NodeRemovedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30556	return nil, false
30557}
30558
30559// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30560func (nre NodeRemovedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30561	return nil, false
30562}
30563
30564// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30565func (nre NodeRemovedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30566	return nil, false
30567}
30568
30569// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30570func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30571	return nil, false
30572}
30573
30574// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30575func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30576	return nil, false
30577}
30578
30579// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30580func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30581	return nil, false
30582}
30583
30584// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30585func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30586	return nil, false
30587}
30588
30589// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30590func (nre NodeRemovedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30591	return nil, false
30592}
30593
30594// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30595func (nre NodeRemovedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30596	return nil, false
30597}
30598
30599// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30600func (nre NodeRemovedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30601	return nil, false
30602}
30603
30604// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30605func (nre NodeRemovedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30606	return nil, false
30607}
30608
30609// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30610func (nre NodeRemovedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30611	return nil, false
30612}
30613
30614// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30615func (nre NodeRemovedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30616	return nil, false
30617}
30618
30619// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30620func (nre NodeRemovedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30621	return nil, false
30622}
30623
30624// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30625func (nre NodeRemovedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30626	return nil, false
30627}
30628
30629// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30630func (nre NodeRemovedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30631	return nil, false
30632}
30633
30634// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30635func (nre NodeRemovedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30636	return nil, false
30637}
30638
30639// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30640func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30641	return nil, false
30642}
30643
30644// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30645func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30646	return nil, false
30647}
30648
30649// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30650func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30651	return nil, false
30652}
30653
30654// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30655func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30656	return nil, false
30657}
30658
30659// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30660func (nre NodeRemovedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30661	return nil, false
30662}
30663
30664// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30665func (nre NodeRemovedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30666	return nil, false
30667}
30668
30669// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30670func (nre NodeRemovedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30671	return nil, false
30672}
30673
30674// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30675func (nre NodeRemovedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30676	return nil, false
30677}
30678
30679// AsFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30680func (nre NodeRemovedEvent) AsFabricEvent() (*FabricEvent, bool) {
30681	return nil, false
30682}
30683
30684// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
30685func (nre NodeRemovedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30686	return &nre, true
30687}
30688
30689// NodeRepairImpactDescription describes the expected impact of a repair on a set of nodes.
30690//
30691// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
30692type NodeRepairImpactDescription struct {
30693	// NodeImpactList - The list of nodes impacted by a repair action and their respective expected impact.
30694	NodeImpactList *[]NodeImpact `json:"NodeImpactList,omitempty"`
30695	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
30696	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
30697}
30698
30699// MarshalJSON is the custom marshaler for NodeRepairImpactDescription.
30700func (nrid NodeRepairImpactDescription) MarshalJSON() ([]byte, error) {
30701	nrid.Kind = KindBasicRepairImpactDescriptionBaseKindNode
30702	objectMap := make(map[string]interface{})
30703	if nrid.NodeImpactList != nil {
30704		objectMap["NodeImpactList"] = nrid.NodeImpactList
30705	}
30706	if nrid.Kind != "" {
30707		objectMap["Kind"] = nrid.Kind
30708	}
30709	return json.Marshal(objectMap)
30710}
30711
30712// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
30713func (nrid NodeRepairImpactDescription) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
30714	return &nrid, true
30715}
30716
30717// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
30718func (nrid NodeRepairImpactDescription) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
30719	return nil, false
30720}
30721
30722// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
30723func (nrid NodeRepairImpactDescription) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
30724	return &nrid, true
30725}
30726
30727// NodeRepairTargetDescription describes the list of nodes targeted by a repair action.
30728//
30729// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
30730type NodeRepairTargetDescription struct {
30731	// NodeNames - The list of nodes targeted by a repair action.
30732	NodeNames *[]string `json:"NodeNames,omitempty"`
30733	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
30734	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
30735}
30736
30737// MarshalJSON is the custom marshaler for NodeRepairTargetDescription.
30738func (nrtd NodeRepairTargetDescription) MarshalJSON() ([]byte, error) {
30739	nrtd.Kind = KindBasicRepairTargetDescriptionBaseKindNode
30740	objectMap := make(map[string]interface{})
30741	if nrtd.NodeNames != nil {
30742		objectMap["NodeNames"] = nrtd.NodeNames
30743	}
30744	if nrtd.Kind != "" {
30745		objectMap["Kind"] = nrtd.Kind
30746	}
30747	return json.Marshal(objectMap)
30748}
30749
30750// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
30751func (nrtd NodeRepairTargetDescription) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
30752	return &nrtd, true
30753}
30754
30755// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
30756func (nrtd NodeRepairTargetDescription) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
30757	return nil, false
30758}
30759
30760// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
30761func (nrtd NodeRepairTargetDescription) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
30762	return &nrtd, true
30763}
30764
30765// NodeResult contains information about a node that was targeted by a user-induced operation.
30766type NodeResult struct {
30767	// NodeName - The name of a Service Fabric node.
30768	NodeName *string `json:"NodeName,omitempty"`
30769	// NodeInstanceID - The node instance id.
30770	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
30771}
30772
30773// NodesHealthEvaluation represents health evaluation for nodes, containing health evaluations for each
30774// unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster
30775// health and the aggregated health state is either Error or Warning.
30776type NodesHealthEvaluation struct {
30777	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
30778	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
30779	// TotalCount - Total number of nodes found in the health store.
30780	TotalCount *int64 `json:"TotalCount,omitempty"`
30781	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
30782	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
30783	// 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'
30784	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
30785	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
30786	Description *string `json:"Description,omitempty"`
30787	// 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'
30788	Kind Kind `json:"Kind,omitempty"`
30789}
30790
30791// MarshalJSON is the custom marshaler for NodesHealthEvaluation.
30792func (nhe NodesHealthEvaluation) MarshalJSON() ([]byte, error) {
30793	nhe.Kind = KindNodes
30794	objectMap := make(map[string]interface{})
30795	if nhe.MaxPercentUnhealthyNodes != nil {
30796		objectMap["MaxPercentUnhealthyNodes"] = nhe.MaxPercentUnhealthyNodes
30797	}
30798	if nhe.TotalCount != nil {
30799		objectMap["TotalCount"] = nhe.TotalCount
30800	}
30801	if nhe.UnhealthyEvaluations != nil {
30802		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
30803	}
30804	if nhe.AggregatedHealthState != "" {
30805		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
30806	}
30807	if nhe.Description != nil {
30808		objectMap["Description"] = nhe.Description
30809	}
30810	if nhe.Kind != "" {
30811		objectMap["Kind"] = nhe.Kind
30812	}
30813	return json.Marshal(objectMap)
30814}
30815
30816// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30817func (nhe NodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
30818	return nil, false
30819}
30820
30821// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30822func (nhe NodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
30823	return nil, false
30824}
30825
30826// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30827func (nhe NodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
30828	return nil, false
30829}
30830
30831// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30832func (nhe NodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
30833	return nil, false
30834}
30835
30836// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30837func (nhe NodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
30838	return nil, false
30839}
30840
30841// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30842func (nhe NodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
30843	return nil, false
30844}
30845
30846// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30847func (nhe NodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
30848	return nil, false
30849}
30850
30851// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30852func (nhe NodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
30853	return nil, false
30854}
30855
30856// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30857func (nhe NodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
30858	return nil, false
30859}
30860
30861// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30862func (nhe NodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
30863	return nil, false
30864}
30865
30866// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30867func (nhe NodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
30868	return &nhe, true
30869}
30870
30871// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30872func (nhe NodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
30873	return nil, false
30874}
30875
30876// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30877func (nhe NodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
30878	return nil, false
30879}
30880
30881// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30882func (nhe NodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
30883	return nil, false
30884}
30885
30886// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30887func (nhe NodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
30888	return nil, false
30889}
30890
30891// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30892func (nhe NodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
30893	return nil, false
30894}
30895
30896// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30897func (nhe NodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
30898	return nil, false
30899}
30900
30901// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30902func (nhe NodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
30903	return nil, false
30904}
30905
30906// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30907func (nhe NodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
30908	return nil, false
30909}
30910
30911// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30912func (nhe NodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
30913	return nil, false
30914}
30915
30916// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30917func (nhe NodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
30918	return nil, false
30919}
30920
30921// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
30922func (nhe NodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
30923	return &nhe, true
30924}
30925
30926// NodeTransitionProgress information about an NodeTransition operation.  This class contains an
30927// OperationState and a NodeTransitionResult.  The NodeTransitionResult is not valid until OperationState
30928// is Completed or Faulted.
30929type NodeTransitionProgress struct {
30930	autorest.Response `json:"-"`
30931	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
30932	State OperationState `json:"State,omitempty"`
30933	// NodeTransitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
30934	NodeTransitionResult *NodeTransitionResult `json:"NodeTransitionResult,omitempty"`
30935}
30936
30937// NodeTransitionResult represents information about an operation in a terminal state (Completed or
30938// Faulted).
30939type NodeTransitionResult struct {
30940	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
30941	ErrorCode *int32 `json:"ErrorCode,omitempty"`
30942	// NodeResult - Contains information about a node that was targeted by a user-induced operation.
30943	NodeResult *NodeResult `json:"NodeResult,omitempty"`
30944}
30945
30946// NodeUpEvent node Up event.
30947type NodeUpEvent struct {
30948	// NodeInstance - Id of Node instance.
30949	NodeInstance *int64 `json:"NodeInstance,omitempty"`
30950	// LastNodeDownAt - Time when Node was last down.
30951	LastNodeDownAt *date.Time `json:"LastNodeDownAt,omitempty"`
30952	// NodeName - The name of a Service Fabric node.
30953	NodeName *string `json:"NodeName,omitempty"`
30954	// EventInstanceID - The identifier for the FabricEvent instance.
30955	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30956	// TimeStamp - The time event was logged.
30957	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30958	// HasCorrelatedEvents - Shows there is existing related events available.
30959	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30960	// 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'
30961	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30962}
30963
30964// MarshalJSON is the custom marshaler for NodeUpEvent.
30965func (nue NodeUpEvent) MarshalJSON() ([]byte, error) {
30966	nue.Kind = KindNodeUp
30967	objectMap := make(map[string]interface{})
30968	if nue.NodeInstance != nil {
30969		objectMap["NodeInstance"] = nue.NodeInstance
30970	}
30971	if nue.LastNodeDownAt != nil {
30972		objectMap["LastNodeDownAt"] = nue.LastNodeDownAt
30973	}
30974	if nue.NodeName != nil {
30975		objectMap["NodeName"] = nue.NodeName
30976	}
30977	if nue.EventInstanceID != nil {
30978		objectMap["EventInstanceId"] = nue.EventInstanceID
30979	}
30980	if nue.TimeStamp != nil {
30981		objectMap["TimeStamp"] = nue.TimeStamp
30982	}
30983	if nue.HasCorrelatedEvents != nil {
30984		objectMap["HasCorrelatedEvents"] = nue.HasCorrelatedEvents
30985	}
30986	if nue.Kind != "" {
30987		objectMap["Kind"] = nue.Kind
30988	}
30989	return json.Marshal(objectMap)
30990}
30991
30992// AsApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
30993func (nue NodeUpEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30994	return nil, false
30995}
30996
30997// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
30998func (nue NodeUpEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30999	return nil, false
31000}
31001
31002// AsClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
31003func (nue NodeUpEvent) AsClusterEvent() (*ClusterEvent, bool) {
31004	return nil, false
31005}
31006
31007// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
31008func (nue NodeUpEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
31009	return nil, false
31010}
31011
31012// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeUpEvent.
31013func (nue NodeUpEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
31014	return nil, false
31015}
31016
31017// AsNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
31018func (nue NodeUpEvent) AsNodeEvent() (*NodeEvent, bool) {
31019	return nil, false
31020}
31021
31022// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
31023func (nue NodeUpEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
31024	return &nue, true
31025}
31026
31027// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
31028func (nue NodeUpEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
31029	return nil, false
31030}
31031
31032// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
31033func (nue NodeUpEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
31034	return nil, false
31035}
31036
31037// AsPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
31038func (nue NodeUpEvent) AsPartitionEvent() (*PartitionEvent, bool) {
31039	return nil, false
31040}
31041
31042// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
31043func (nue NodeUpEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
31044	return nil, false
31045}
31046
31047// AsReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
31048func (nue NodeUpEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
31049	return nil, false
31050}
31051
31052// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
31053func (nue NodeUpEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
31054	return nil, false
31055}
31056
31057// AsServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
31058func (nue NodeUpEvent) AsServiceEvent() (*ServiceEvent, bool) {
31059	return nil, false
31060}
31061
31062// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
31063func (nue NodeUpEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
31064	return nil, false
31065}
31066
31067// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31068func (nue NodeUpEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
31069	return nil, false
31070}
31071
31072// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31073func (nue NodeUpEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
31074	return nil, false
31075}
31076
31077// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31078func (nue NodeUpEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
31079	return nil, false
31080}
31081
31082// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31083func (nue NodeUpEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
31084	return nil, false
31085}
31086
31087// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31088func (nue NodeUpEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
31089	return nil, false
31090}
31091
31092// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31093func (nue NodeUpEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
31094	return nil, false
31095}
31096
31097// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31098func (nue NodeUpEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
31099	return nil, false
31100}
31101
31102// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31103func (nue NodeUpEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
31104	return nil, false
31105}
31106
31107// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31108func (nue NodeUpEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
31109	return nil, false
31110}
31111
31112// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31113func (nue NodeUpEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
31114	return nil, false
31115}
31116
31117// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31118func (nue NodeUpEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
31119	return nil, false
31120}
31121
31122// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31123func (nue NodeUpEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
31124	return nil, false
31125}
31126
31127// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31128func (nue NodeUpEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
31129	return nil, false
31130}
31131
31132// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31133func (nue NodeUpEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
31134	return nil, false
31135}
31136
31137// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeUpEvent.
31138func (nue NodeUpEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
31139	return nil, false
31140}
31141
31142// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31143func (nue NodeUpEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
31144	return nil, false
31145}
31146
31147// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeUpEvent.
31148func (nue NodeUpEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
31149	return nil, false
31150}
31151
31152// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeUpEvent.
31153func (nue NodeUpEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
31154	return nil, false
31155}
31156
31157// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31158func (nue NodeUpEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
31159	return nil, false
31160}
31161
31162// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31163func (nue NodeUpEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
31164	return nil, false
31165}
31166
31167// AsNodeDownEvent is the BasicFabricEvent implementation for NodeUpEvent.
31168func (nue NodeUpEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
31169	return nil, false
31170}
31171
31172// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31173func (nue NodeUpEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
31174	return nil, false
31175}
31176
31177// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31178func (nue NodeUpEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
31179	return nil, false
31180}
31181
31182// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeUpEvent.
31183func (nue NodeUpEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
31184	return nil, false
31185}
31186
31187// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31188func (nue NodeUpEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
31189	return nil, false
31190}
31191
31192// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeUpEvent.
31193func (nue NodeUpEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
31194	return nil, false
31195}
31196
31197// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31198func (nue NodeUpEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
31199	return nil, false
31200}
31201
31202// AsNodeUpEvent is the BasicFabricEvent implementation for NodeUpEvent.
31203func (nue NodeUpEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
31204	return &nue, true
31205}
31206
31207// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31208func (nue NodeUpEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
31209	return nil, false
31210}
31211
31212// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31213func (nue NodeUpEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
31214	return nil, false
31215}
31216
31217// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31218func (nue NodeUpEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
31219	return nil, false
31220}
31221
31222// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
31223func (nue NodeUpEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
31224	return nil, false
31225}
31226
31227// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31228func (nue NodeUpEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
31229	return nil, false
31230}
31231
31232// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31233func (nue NodeUpEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
31234	return nil, false
31235}
31236
31237// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31238func (nue NodeUpEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
31239	return nil, false
31240}
31241
31242// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31243func (nue NodeUpEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
31244	return nil, false
31245}
31246
31247// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31248func (nue NodeUpEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
31249	return nil, false
31250}
31251
31252// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31253func (nue NodeUpEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
31254	return nil, false
31255}
31256
31257// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31258func (nue NodeUpEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
31259	return nil, false
31260}
31261
31262// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31263func (nue NodeUpEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
31264	return nil, false
31265}
31266
31267// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31268func (nue NodeUpEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
31269	return nil, false
31270}
31271
31272// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31273func (nue NodeUpEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
31274	return nil, false
31275}
31276
31277// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31278func (nue NodeUpEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
31279	return nil, false
31280}
31281
31282// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
31283func (nue NodeUpEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
31284	return nil, false
31285}
31286
31287// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31288func (nue NodeUpEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
31289	return nil, false
31290}
31291
31292// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31293func (nue NodeUpEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
31294	return nil, false
31295}
31296
31297// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
31298func (nue NodeUpEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
31299	return nil, false
31300}
31301
31302// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31303func (nue NodeUpEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
31304	return nil, false
31305}
31306
31307// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
31308func (nue NodeUpEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
31309	return nil, false
31310}
31311
31312// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31313func (nue NodeUpEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
31314	return nil, false
31315}
31316
31317// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31318func (nue NodeUpEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
31319	return nil, false
31320}
31321
31322// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31323func (nue NodeUpEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
31324	return nil, false
31325}
31326
31327// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31328func (nue NodeUpEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
31329	return nil, false
31330}
31331
31332// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31333func (nue NodeUpEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
31334	return nil, false
31335}
31336
31337// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31338func (nue NodeUpEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
31339	return nil, false
31340}
31341
31342// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
31343func (nue NodeUpEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
31344	return nil, false
31345}
31346
31347// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31348func (nue NodeUpEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
31349	return nil, false
31350}
31351
31352// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31353func (nue NodeUpEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
31354	return nil, false
31355}
31356
31357// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31358func (nue NodeUpEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
31359	return nil, false
31360}
31361
31362// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
31363func (nue NodeUpEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
31364	return nil, false
31365}
31366
31367// AsFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
31368func (nue NodeUpEvent) AsFabricEvent() (*FabricEvent, bool) {
31369	return nil, false
31370}
31371
31372// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
31373func (nue NodeUpEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
31374	return &nue, true
31375}
31376
31377// NodeUpgradeProgressInfo information about the upgrading node and its status
31378type NodeUpgradeProgressInfo struct {
31379	// NodeName - The name of a Service Fabric node.
31380	NodeName *string `json:"NodeName,omitempty"`
31381	// UpgradePhase - The state of the upgrading node. Possible values include: 'NodeUpgradePhaseInvalid', 'NodeUpgradePhasePreUpgradeSafetyCheck', 'NodeUpgradePhaseUpgrading', 'NodeUpgradePhasePostUpgradeSafetyCheck'
31382	UpgradePhase NodeUpgradePhase `json:"UpgradePhase,omitempty"`
31383	// PendingSafetyChecks - List of pending safety checks
31384	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
31385}
31386
31387// OperationStatus contains the OperationId, OperationState, and OperationType for user-induced operations.
31388type OperationStatus struct {
31389	// OperationID - A GUID that identifies a call to this API.  This is also passed into the corresponding GetProgress API.
31390	OperationID *uuid.UUID `json:"OperationId,omitempty"`
31391	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
31392	State OperationState `json:"State,omitempty"`
31393	// Type - The type of the operation. Possible values include: 'OperationTypeInvalid', 'OperationTypePartitionDataLoss', 'OperationTypePartitionQuorumLoss', 'OperationTypePartitionRestart', 'OperationTypeNodeTransition'
31394	Type OperationType `json:"Type,omitempty"`
31395}
31396
31397// PackageSharingPolicyInfo represents a policy for the package sharing.
31398type PackageSharingPolicyInfo struct {
31399	// SharedPackageName - The name of code, configuration or data package that should be shared.
31400	SharedPackageName *string `json:"SharedPackageName,omitempty"`
31401	// PackageSharingScope - Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation. Possible values include: 'PackageSharingPolicyScopeNone', 'PackageSharingPolicyScopeAll', 'PackageSharingPolicyScopeCode', 'PackageSharingPolicyScopeConfig', 'PackageSharingPolicyScopeData'
31402	PackageSharingScope PackageSharingPolicyScope `json:"PackageSharingScope,omitempty"`
31403}
31404
31405// PagedApplicationInfoList the list of applications in the cluster. The list is paged when all of the
31406// results cannot fit in a single message. The next set of results can be obtained by executing the same
31407// query with the continuation token provided in this list.
31408type PagedApplicationInfoList struct {
31409	autorest.Response `json:"-"`
31410	// 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.
31411	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31412	// Items - List of application information.
31413	Items *[]ApplicationInfo `json:"Items,omitempty"`
31414}
31415
31416// PagedApplicationTypeInfoList the list of application types that are provisioned or being provisioned in
31417// the cluster. The list is paged when all of the results cannot fit in a single message. The next set of
31418// results can be obtained by executing the same query with the continuation token provided in this list.
31419type PagedApplicationTypeInfoList struct {
31420	autorest.Response `json:"-"`
31421	// 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.
31422	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31423	// Items - List of application type information.
31424	Items *[]ApplicationTypeInfo `json:"Items,omitempty"`
31425}
31426
31427// PagedBackupConfigurationInfoList the list of backup configuration information. The list is paged when
31428// all of the results cannot fit in a single message. The next set of results can be obtained by executing
31429// the same query with the continuation token provided in this list.
31430type PagedBackupConfigurationInfoList struct {
31431	autorest.Response `json:"-"`
31432	// 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.
31433	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31434	// Items - List of backup configuration information.
31435	Items *[]BasicBackupConfigurationInfo `json:"Items,omitempty"`
31436}
31437
31438// UnmarshalJSON is the custom unmarshaler for PagedBackupConfigurationInfoList struct.
31439func (pbcil *PagedBackupConfigurationInfoList) UnmarshalJSON(body []byte) error {
31440	var m map[string]*json.RawMessage
31441	err := json.Unmarshal(body, &m)
31442	if err != nil {
31443		return err
31444	}
31445	for k, v := range m {
31446		switch k {
31447		case "ContinuationToken":
31448			if v != nil {
31449				var continuationToken string
31450				err = json.Unmarshal(*v, &continuationToken)
31451				if err != nil {
31452					return err
31453				}
31454				pbcil.ContinuationToken = &continuationToken
31455			}
31456		case "Items":
31457			if v != nil {
31458				items, err := unmarshalBasicBackupConfigurationInfoArray(*v)
31459				if err != nil {
31460					return err
31461				}
31462				pbcil.Items = &items
31463			}
31464		}
31465	}
31466
31467	return nil
31468}
31469
31470// PagedBackupEntityList the list of backup entities that are being periodically backed. The list is paged
31471// when all of the results cannot fit in a single message. The next set of results can be obtained by
31472// executing the same query with the continuation token provided in this list.
31473type PagedBackupEntityList struct {
31474	autorest.Response `json:"-"`
31475	// 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.
31476	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31477	// Items - List of backup entity information.
31478	Items *[]BasicBackupEntity `json:"Items,omitempty"`
31479}
31480
31481// UnmarshalJSON is the custom unmarshaler for PagedBackupEntityList struct.
31482func (pbel *PagedBackupEntityList) UnmarshalJSON(body []byte) error {
31483	var m map[string]*json.RawMessage
31484	err := json.Unmarshal(body, &m)
31485	if err != nil {
31486		return err
31487	}
31488	for k, v := range m {
31489		switch k {
31490		case "ContinuationToken":
31491			if v != nil {
31492				var continuationToken string
31493				err = json.Unmarshal(*v, &continuationToken)
31494				if err != nil {
31495					return err
31496				}
31497				pbel.ContinuationToken = &continuationToken
31498			}
31499		case "Items":
31500			if v != nil {
31501				items, err := unmarshalBasicBackupEntityArray(*v)
31502				if err != nil {
31503					return err
31504				}
31505				pbel.Items = &items
31506			}
31507		}
31508	}
31509
31510	return nil
31511}
31512
31513// PagedBackupInfoList the list of backups. The list is paged when all of the results cannot fit in a
31514// single message. The next set of results can be obtained by executing the same query with the
31515// continuation token provided in this list.
31516type PagedBackupInfoList struct {
31517	autorest.Response `json:"-"`
31518	// 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.
31519	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31520	// Items - List of backup information.
31521	Items *[]BackupInfo `json:"Items,omitempty"`
31522}
31523
31524// PagedBackupPolicyDescriptionList the list of backup policies configured in the cluster. The list is
31525// paged when all of the results cannot fit in a single message. The next set of results can be obtained by
31526// executing the same query with the continuation token provided in this list.
31527type PagedBackupPolicyDescriptionList struct {
31528	autorest.Response `json:"-"`
31529	// 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.
31530	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31531	// Items - The list of backup policies information.
31532	Items *[]BackupPolicyDescription `json:"Items,omitempty"`
31533}
31534
31535// PagedComposeDeploymentStatusInfoList the list of compose deployments in the cluster. The list is paged
31536// when all of the results cannot fit in a single message. The next set of results can be obtained by
31537// executing the same query with the continuation token provided in this list.
31538type PagedComposeDeploymentStatusInfoList struct {
31539	autorest.Response `json:"-"`
31540	// 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.
31541	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31542	// Items - List of compose deployment status information.
31543	Items *[]ComposeDeploymentStatusInfo `json:"Items,omitempty"`
31544}
31545
31546// PagedDeployedApplicationInfoList the list of deployed applications in activating, downloading, or active
31547// states on a node.
31548// The list is paged when all of the results cannot fit in a single message.
31549// The next set of results can be obtained by executing the same query with the continuation token provided
31550// in this list.
31551type PagedDeployedApplicationInfoList struct {
31552	autorest.Response `json:"-"`
31553	// 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.
31554	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31555	// Items - List of deployed application information.
31556	Items *[]DeployedApplicationInfo `json:"Items,omitempty"`
31557}
31558
31559// PagedNodeInfoList the list of nodes in the cluster. The list is paged when all of the results cannot fit
31560// in a single message. The next set of results can be obtained by executing the same query with the
31561// continuation token provided in this list.
31562type PagedNodeInfoList struct {
31563	autorest.Response `json:"-"`
31564	// 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.
31565	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31566	// Items - List of node information.
31567	Items *[]NodeInfo `json:"Items,omitempty"`
31568}
31569
31570// PagedPropertyInfoList the paged list of Service Fabric properties under a given name. The list is paged
31571// when all of the results cannot fit in a single message. The next set of results can be obtained by
31572// executing the same query with the continuation token provided in this list.
31573type PagedPropertyInfoList struct {
31574	autorest.Response `json:"-"`
31575	// 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.
31576	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31577	// 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.
31578	IsConsistent *bool `json:"IsConsistent,omitempty"`
31579	// Properties - List of property information.
31580	Properties *[]PropertyInfo `json:"Properties,omitempty"`
31581}
31582
31583// PagedReplicaInfoList the list of replicas in the cluster for a given partition. The list is paged when
31584// all of the results cannot fit in a single message. The next set of results can be obtained by executing
31585// the same query with the continuation token provided in this list.
31586type PagedReplicaInfoList struct {
31587	autorest.Response `json:"-"`
31588	// 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.
31589	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31590	// Items - List of replica information.
31591	Items *[]BasicReplicaInfo `json:"Items,omitempty"`
31592}
31593
31594// UnmarshalJSON is the custom unmarshaler for PagedReplicaInfoList struct.
31595func (pril *PagedReplicaInfoList) UnmarshalJSON(body []byte) error {
31596	var m map[string]*json.RawMessage
31597	err := json.Unmarshal(body, &m)
31598	if err != nil {
31599		return err
31600	}
31601	for k, v := range m {
31602		switch k {
31603		case "ContinuationToken":
31604			if v != nil {
31605				var continuationToken string
31606				err = json.Unmarshal(*v, &continuationToken)
31607				if err != nil {
31608					return err
31609				}
31610				pril.ContinuationToken = &continuationToken
31611			}
31612		case "Items":
31613			if v != nil {
31614				items, err := unmarshalBasicReplicaInfoArray(*v)
31615				if err != nil {
31616					return err
31617				}
31618				pril.Items = &items
31619			}
31620		}
31621	}
31622
31623	return nil
31624}
31625
31626// PagedServiceInfoList the list of services in the cluster for an application. The list is paged when all
31627// of the results cannot fit in a single message. The next set of results can be obtained by executing the
31628// same query with the continuation token provided in this list.
31629type PagedServiceInfoList struct {
31630	autorest.Response `json:"-"`
31631	// 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.
31632	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31633	// Items - List of service information.
31634	Items *[]BasicServiceInfo `json:"Items,omitempty"`
31635}
31636
31637// UnmarshalJSON is the custom unmarshaler for PagedServiceInfoList struct.
31638func (psil *PagedServiceInfoList) UnmarshalJSON(body []byte) error {
31639	var m map[string]*json.RawMessage
31640	err := json.Unmarshal(body, &m)
31641	if err != nil {
31642		return err
31643	}
31644	for k, v := range m {
31645		switch k {
31646		case "ContinuationToken":
31647			if v != nil {
31648				var continuationToken string
31649				err = json.Unmarshal(*v, &continuationToken)
31650				if err != nil {
31651					return err
31652				}
31653				psil.ContinuationToken = &continuationToken
31654			}
31655		case "Items":
31656			if v != nil {
31657				items, err := unmarshalBasicServiceInfoArray(*v)
31658				if err != nil {
31659					return err
31660				}
31661				psil.Items = &items
31662			}
31663		}
31664	}
31665
31666	return nil
31667}
31668
31669// PagedServicePartitionInfoList the list of partition in the cluster for a service. The list is paged when
31670// all of the results cannot fit in a single message. The next set of results can be obtained by executing
31671// the same query with the continuation token provided in this list.
31672type PagedServicePartitionInfoList struct {
31673	autorest.Response `json:"-"`
31674	// 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.
31675	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31676	// Items - List of service partition information.
31677	Items *[]BasicServicePartitionInfo `json:"Items,omitempty"`
31678}
31679
31680// UnmarshalJSON is the custom unmarshaler for PagedServicePartitionInfoList struct.
31681func (pspil *PagedServicePartitionInfoList) UnmarshalJSON(body []byte) error {
31682	var m map[string]*json.RawMessage
31683	err := json.Unmarshal(body, &m)
31684	if err != nil {
31685		return err
31686	}
31687	for k, v := range m {
31688		switch k {
31689		case "ContinuationToken":
31690			if v != nil {
31691				var continuationToken string
31692				err = json.Unmarshal(*v, &continuationToken)
31693				if err != nil {
31694					return err
31695				}
31696				pspil.ContinuationToken = &continuationToken
31697			}
31698		case "Items":
31699			if v != nil {
31700				items, err := unmarshalBasicServicePartitionInfoArray(*v)
31701				if err != nil {
31702					return err
31703				}
31704				pspil.Items = &items
31705			}
31706		}
31707	}
31708
31709	return nil
31710}
31711
31712// PagedSubNameInfoList a paged list of Service Fabric names. The list is paged when all of the results
31713// cannot fit in a single message. The next set of results can be obtained by executing the same query with
31714// the continuation token provided in this list.
31715type PagedSubNameInfoList struct {
31716	autorest.Response `json:"-"`
31717	// 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.
31718	ContinuationToken *string `json:"ContinuationToken,omitempty"`
31719	// 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.
31720	IsConsistent *bool `json:"IsConsistent,omitempty"`
31721	// SubNames - List of the child names.
31722	SubNames *[]string `json:"SubNames,omitempty"`
31723}
31724
31725// BasicPartitionAnalysisEvent represents the base for all Partition Analysis Events.
31726type BasicPartitionAnalysisEvent interface {
31727	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
31728	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
31729}
31730
31731// PartitionAnalysisEvent represents the base for all Partition Analysis Events.
31732type PartitionAnalysisEvent struct {
31733	// Metadata - Metadata about an Analysis Event.
31734	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
31735	// 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.
31736	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
31737	// EventInstanceID - The identifier for the FabricEvent instance.
31738	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
31739	// TimeStamp - The time event was logged.
31740	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
31741	// HasCorrelatedEvents - Shows there is existing related events available.
31742	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
31743	// 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'
31744	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
31745}
31746
31747func unmarshalBasicPartitionAnalysisEvent(body []byte) (BasicPartitionAnalysisEvent, error) {
31748	var m map[string]interface{}
31749	err := json.Unmarshal(body, &m)
31750	if err != nil {
31751		return nil, err
31752	}
31753
31754	switch m["Kind"] {
31755	case string(KindPartitionPrimaryMoveAnalysis):
31756		var ppmae PartitionPrimaryMoveAnalysisEvent
31757		err := json.Unmarshal(body, &ppmae)
31758		return ppmae, err
31759	default:
31760		var pae PartitionAnalysisEvent
31761		err := json.Unmarshal(body, &pae)
31762		return pae, err
31763	}
31764}
31765func unmarshalBasicPartitionAnalysisEventArray(body []byte) ([]BasicPartitionAnalysisEvent, error) {
31766	var rawMessages []*json.RawMessage
31767	err := json.Unmarshal(body, &rawMessages)
31768	if err != nil {
31769		return nil, err
31770	}
31771
31772	paeArray := make([]BasicPartitionAnalysisEvent, len(rawMessages))
31773
31774	for index, rawMessage := range rawMessages {
31775		pae, err := unmarshalBasicPartitionAnalysisEvent(*rawMessage)
31776		if err != nil {
31777			return nil, err
31778		}
31779		paeArray[index] = pae
31780	}
31781	return paeArray, nil
31782}
31783
31784// MarshalJSON is the custom marshaler for PartitionAnalysisEvent.
31785func (pae PartitionAnalysisEvent) MarshalJSON() ([]byte, error) {
31786	pae.Kind = KindPartitionAnalysisEvent
31787	objectMap := make(map[string]interface{})
31788	if pae.Metadata != nil {
31789		objectMap["Metadata"] = pae.Metadata
31790	}
31791	if pae.PartitionID != nil {
31792		objectMap["PartitionId"] = pae.PartitionID
31793	}
31794	if pae.EventInstanceID != nil {
31795		objectMap["EventInstanceId"] = pae.EventInstanceID
31796	}
31797	if pae.TimeStamp != nil {
31798		objectMap["TimeStamp"] = pae.TimeStamp
31799	}
31800	if pae.HasCorrelatedEvents != nil {
31801		objectMap["HasCorrelatedEvents"] = pae.HasCorrelatedEvents
31802	}
31803	if pae.Kind != "" {
31804		objectMap["Kind"] = pae.Kind
31805	}
31806	return json.Marshal(objectMap)
31807}
31808
31809// AsApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31810func (pae PartitionAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
31811	return nil, false
31812}
31813
31814// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31815func (pae PartitionAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
31816	return nil, false
31817}
31818
31819// AsClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31820func (pae PartitionAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
31821	return nil, false
31822}
31823
31824// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31825func (pae PartitionAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
31826	return nil, false
31827}
31828
31829// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31830func (pae PartitionAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
31831	return nil, false
31832}
31833
31834// AsNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31835func (pae PartitionAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
31836	return nil, false
31837}
31838
31839// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31840func (pae PartitionAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
31841	return nil, false
31842}
31843
31844// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31845func (pae PartitionAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
31846	return &pae, true
31847}
31848
31849// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31850func (pae PartitionAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
31851	return &pae, true
31852}
31853
31854// AsPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31855func (pae PartitionAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
31856	return nil, false
31857}
31858
31859// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31860func (pae PartitionAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
31861	return &pae, true
31862}
31863
31864// AsReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31865func (pae PartitionAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
31866	return nil, false
31867}
31868
31869// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31870func (pae PartitionAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
31871	return nil, false
31872}
31873
31874// AsServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31875func (pae PartitionAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
31876	return nil, false
31877}
31878
31879// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31880func (pae PartitionAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
31881	return nil, false
31882}
31883
31884// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31885func (pae PartitionAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
31886	return nil, false
31887}
31888
31889// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31890func (pae PartitionAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
31891	return nil, false
31892}
31893
31894// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31895func (pae PartitionAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
31896	return nil, false
31897}
31898
31899// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31900func (pae PartitionAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
31901	return nil, false
31902}
31903
31904// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31905func (pae PartitionAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
31906	return nil, false
31907}
31908
31909// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31910func (pae PartitionAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
31911	return nil, false
31912}
31913
31914// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31915func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
31916	return nil, false
31917}
31918
31919// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31920func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
31921	return nil, false
31922}
31923
31924// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31925func (pae PartitionAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
31926	return nil, false
31927}
31928
31929// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31930func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
31931	return nil, false
31932}
31933
31934// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31935func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
31936	return nil, false
31937}
31938
31939// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31940func (pae PartitionAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
31941	return nil, false
31942}
31943
31944// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31945func (pae PartitionAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
31946	return nil, false
31947}
31948
31949// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31950func (pae PartitionAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
31951	return nil, false
31952}
31953
31954// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31955func (pae PartitionAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
31956	return nil, false
31957}
31958
31959// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31960func (pae PartitionAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
31961	return nil, false
31962}
31963
31964// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31965func (pae PartitionAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
31966	return nil, false
31967}
31968
31969// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31970func (pae PartitionAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
31971	return nil, false
31972}
31973
31974// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31975func (pae PartitionAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
31976	return nil, false
31977}
31978
31979// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31980func (pae PartitionAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
31981	return nil, false
31982}
31983
31984// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31985func (pae PartitionAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
31986	return nil, false
31987}
31988
31989// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31990func (pae PartitionAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
31991	return nil, false
31992}
31993
31994// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
31995func (pae PartitionAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
31996	return nil, false
31997}
31998
31999// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32000func (pae PartitionAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
32001	return nil, false
32002}
32003
32004// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32005func (pae PartitionAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
32006	return nil, false
32007}
32008
32009// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32010func (pae PartitionAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
32011	return nil, false
32012}
32013
32014// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32015func (pae PartitionAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
32016	return nil, false
32017}
32018
32019// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32020func (pae PartitionAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
32021	return nil, false
32022}
32023
32024// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32025func (pae PartitionAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
32026	return nil, false
32027}
32028
32029// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32030func (pae PartitionAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
32031	return nil, false
32032}
32033
32034// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32035func (pae PartitionAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
32036	return nil, false
32037}
32038
32039// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32040func (pae PartitionAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
32041	return nil, false
32042}
32043
32044// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32045func (pae PartitionAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
32046	return nil, false
32047}
32048
32049// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32050func (pae PartitionAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
32051	return nil, false
32052}
32053
32054// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32055func (pae PartitionAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
32056	return nil, false
32057}
32058
32059// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32060func (pae PartitionAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
32061	return nil, false
32062}
32063
32064// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32065func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
32066	return nil, false
32067}
32068
32069// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32070func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
32071	return nil, false
32072}
32073
32074// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32075func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
32076	return nil, false
32077}
32078
32079// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32080func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
32081	return nil, false
32082}
32083
32084// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32085func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
32086	return nil, false
32087}
32088
32089// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32090func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
32091	return nil, false
32092}
32093
32094// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32095func (pae PartitionAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
32096	return nil, false
32097}
32098
32099// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32100func (pae PartitionAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
32101	return nil, false
32102}
32103
32104// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32105func (pae PartitionAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
32106	return nil, false
32107}
32108
32109// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32110func (pae PartitionAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
32111	return nil, false
32112}
32113
32114// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32115func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
32116	return nil, false
32117}
32118
32119// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32120func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
32121	return nil, false
32122}
32123
32124// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32125func (pae PartitionAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
32126	return nil, false
32127}
32128
32129// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32130func (pae PartitionAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
32131	return nil, false
32132}
32133
32134// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32135func (pae PartitionAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
32136	return nil, false
32137}
32138
32139// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32140func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
32141	return nil, false
32142}
32143
32144// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32145func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
32146	return nil, false
32147}
32148
32149// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32150func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
32151	return nil, false
32152}
32153
32154// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32155func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
32156	return nil, false
32157}
32158
32159// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32160func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
32161	return nil, false
32162}
32163
32164// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32165func (pae PartitionAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
32166	return nil, false
32167}
32168
32169// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32170func (pae PartitionAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
32171	return nil, false
32172}
32173
32174// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32175func (pae PartitionAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
32176	return nil, false
32177}
32178
32179// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32180func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
32181	return nil, false
32182}
32183
32184// AsFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32185func (pae PartitionAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
32186	return nil, false
32187}
32188
32189// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
32190func (pae PartitionAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
32191	return &pae, true
32192}
32193
32194// PartitionBackupConfigurationInfo backup configuration information, for a specific partition, specifying
32195// what backup policy is being applied and suspend description, if any.
32196type PartitionBackupConfigurationInfo struct {
32197	autorest.Response `json:"-"`
32198	// ServiceName - The full name of the service with 'fabric:' URI scheme.
32199	ServiceName *string `json:"ServiceName,omitempty"`
32200	// 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.
32201	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32202	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
32203	PolicyName *string `json:"PolicyName,omitempty"`
32204	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
32205	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
32206	// SuspensionInfo - Describes the backup suspension details.
32207	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
32208	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
32209	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
32210}
32211
32212// MarshalJSON is the custom marshaler for PartitionBackupConfigurationInfo.
32213func (pbci PartitionBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
32214	pbci.Kind = KindBasicBackupConfigurationInfoKindPartition
32215	objectMap := make(map[string]interface{})
32216	if pbci.ServiceName != nil {
32217		objectMap["ServiceName"] = pbci.ServiceName
32218	}
32219	if pbci.PartitionID != nil {
32220		objectMap["PartitionId"] = pbci.PartitionID
32221	}
32222	if pbci.PolicyName != nil {
32223		objectMap["PolicyName"] = pbci.PolicyName
32224	}
32225	if pbci.PolicyInheritedFrom != "" {
32226		objectMap["PolicyInheritedFrom"] = pbci.PolicyInheritedFrom
32227	}
32228	if pbci.SuspensionInfo != nil {
32229		objectMap["SuspensionInfo"] = pbci.SuspensionInfo
32230	}
32231	if pbci.Kind != "" {
32232		objectMap["Kind"] = pbci.Kind
32233	}
32234	return json.Marshal(objectMap)
32235}
32236
32237// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32238func (pbci PartitionBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
32239	return nil, false
32240}
32241
32242// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32243func (pbci PartitionBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
32244	return nil, false
32245}
32246
32247// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32248func (pbci PartitionBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
32249	return &pbci, true
32250}
32251
32252// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32253func (pbci PartitionBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
32254	return nil, false
32255}
32256
32257// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
32258func (pbci PartitionBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
32259	return &pbci, true
32260}
32261
32262// PartitionBackupEntity identifies the Service Fabric stateful partition which is being backed up.
32263type PartitionBackupEntity struct {
32264	// ServiceName - The full name of the service with 'fabric:' URI scheme.
32265	ServiceName *string `json:"ServiceName,omitempty"`
32266	// 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.
32267	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32268	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
32269	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
32270}
32271
32272// MarshalJSON is the custom marshaler for PartitionBackupEntity.
32273func (pbe PartitionBackupEntity) MarshalJSON() ([]byte, error) {
32274	pbe.EntityKind = EntityKindPartition1
32275	objectMap := make(map[string]interface{})
32276	if pbe.ServiceName != nil {
32277		objectMap["ServiceName"] = pbe.ServiceName
32278	}
32279	if pbe.PartitionID != nil {
32280		objectMap["PartitionId"] = pbe.PartitionID
32281	}
32282	if pbe.EntityKind != "" {
32283		objectMap["EntityKind"] = pbe.EntityKind
32284	}
32285	return json.Marshal(objectMap)
32286}
32287
32288// AsApplicationBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32289func (pbe PartitionBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
32290	return nil, false
32291}
32292
32293// AsServiceBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32294func (pbe PartitionBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
32295	return nil, false
32296}
32297
32298// AsPartitionBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32299func (pbe PartitionBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
32300	return &pbe, true
32301}
32302
32303// AsBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32304func (pbe PartitionBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
32305	return nil, false
32306}
32307
32308// AsBasicBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
32309func (pbe PartitionBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
32310	return &pbe, true
32311}
32312
32313// PartitionDataLossProgress information about a partition data loss user-induced operation.
32314type PartitionDataLossProgress struct {
32315	autorest.Response `json:"-"`
32316	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
32317	State OperationState `json:"State,omitempty"`
32318	// InvokeDataLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
32319	InvokeDataLossResult *InvokeDataLossResult `json:"InvokeDataLossResult,omitempty"`
32320}
32321
32322// BasicPartitionEvent represents the base for all Partition Events.
32323type BasicPartitionEvent interface {
32324	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
32325	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
32326	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
32327	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
32328	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
32329	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
32330	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
32331	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
32332	AsPartitionEvent() (*PartitionEvent, bool)
32333}
32334
32335// PartitionEvent represents the base for all Partition Events.
32336type PartitionEvent struct {
32337	// 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.
32338	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32339	// EventInstanceID - The identifier for the FabricEvent instance.
32340	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
32341	// TimeStamp - The time event was logged.
32342	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
32343	// HasCorrelatedEvents - Shows there is existing related events available.
32344	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
32345	// 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'
32346	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
32347}
32348
32349func unmarshalBasicPartitionEvent(body []byte) (BasicPartitionEvent, error) {
32350	var m map[string]interface{}
32351	err := json.Unmarshal(body, &m)
32352	if err != nil {
32353		return nil, err
32354	}
32355
32356	switch m["Kind"] {
32357	case string(KindPartitionAnalysisEvent):
32358		var pae PartitionAnalysisEvent
32359		err := json.Unmarshal(body, &pae)
32360		return pae, err
32361	case string(KindPartitionHealthReportCreated):
32362		var phrce PartitionHealthReportCreatedEvent
32363		err := json.Unmarshal(body, &phrce)
32364		return phrce, err
32365	case string(KindPartitionHealthReportExpired):
32366		var phree PartitionHealthReportExpiredEvent
32367		err := json.Unmarshal(body, &phree)
32368		return phree, err
32369	case string(KindPartitionReconfigurationCompleted):
32370		var prce PartitionReconfigurationCompletedEvent
32371		err := json.Unmarshal(body, &prce)
32372		return prce, err
32373	case string(KindPartitionPrimaryMoveAnalysis):
32374		var ppmae PartitionPrimaryMoveAnalysisEvent
32375		err := json.Unmarshal(body, &ppmae)
32376		return ppmae, err
32377	case string(KindChaosMoveSecondaryFaultScheduled):
32378		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
32379		err := json.Unmarshal(body, &cmsfse)
32380		return cmsfse, err
32381	case string(KindChaosMovePrimaryFaultScheduled):
32382		var cmpfse ChaosMovePrimaryFaultScheduledEvent
32383		err := json.Unmarshal(body, &cmpfse)
32384		return cmpfse, err
32385	default:
32386		var peVar PartitionEvent
32387		err := json.Unmarshal(body, &peVar)
32388		return peVar, err
32389	}
32390}
32391func unmarshalBasicPartitionEventArray(body []byte) ([]BasicPartitionEvent, error) {
32392	var rawMessages []*json.RawMessage
32393	err := json.Unmarshal(body, &rawMessages)
32394	if err != nil {
32395		return nil, err
32396	}
32397
32398	peVarArray := make([]BasicPartitionEvent, len(rawMessages))
32399
32400	for index, rawMessage := range rawMessages {
32401		peVar, err := unmarshalBasicPartitionEvent(*rawMessage)
32402		if err != nil {
32403			return nil, err
32404		}
32405		peVarArray[index] = peVar
32406	}
32407	return peVarArray, nil
32408}
32409
32410// MarshalJSON is the custom marshaler for PartitionEvent.
32411func (peVar PartitionEvent) MarshalJSON() ([]byte, error) {
32412	peVar.Kind = KindPartitionEvent
32413	objectMap := make(map[string]interface{})
32414	if peVar.PartitionID != nil {
32415		objectMap["PartitionId"] = peVar.PartitionID
32416	}
32417	if peVar.EventInstanceID != nil {
32418		objectMap["EventInstanceId"] = peVar.EventInstanceID
32419	}
32420	if peVar.TimeStamp != nil {
32421		objectMap["TimeStamp"] = peVar.TimeStamp
32422	}
32423	if peVar.HasCorrelatedEvents != nil {
32424		objectMap["HasCorrelatedEvents"] = peVar.HasCorrelatedEvents
32425	}
32426	if peVar.Kind != "" {
32427		objectMap["Kind"] = peVar.Kind
32428	}
32429	return json.Marshal(objectMap)
32430}
32431
32432// AsApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
32433func (peVar PartitionEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32434	return nil, false
32435}
32436
32437// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
32438func (peVar PartitionEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32439	return nil, false
32440}
32441
32442// AsClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
32443func (peVar PartitionEvent) AsClusterEvent() (*ClusterEvent, bool) {
32444	return nil, false
32445}
32446
32447// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
32448func (peVar PartitionEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32449	return nil, false
32450}
32451
32452// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionEvent.
32453func (peVar PartitionEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32454	return nil, false
32455}
32456
32457// AsNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
32458func (peVar PartitionEvent) AsNodeEvent() (*NodeEvent, bool) {
32459	return nil, false
32460}
32461
32462// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
32463func (peVar PartitionEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32464	return nil, false
32465}
32466
32467// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
32468func (peVar PartitionEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32469	return nil, false
32470}
32471
32472// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
32473func (peVar PartitionEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32474	return nil, false
32475}
32476
32477// AsPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
32478func (peVar PartitionEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32479	return &peVar, true
32480}
32481
32482// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
32483func (peVar PartitionEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32484	return &peVar, true
32485}
32486
32487// AsReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
32488func (peVar PartitionEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
32489	return nil, false
32490}
32491
32492// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
32493func (peVar PartitionEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
32494	return nil, false
32495}
32496
32497// AsServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
32498func (peVar PartitionEvent) AsServiceEvent() (*ServiceEvent, bool) {
32499	return nil, false
32500}
32501
32502// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
32503func (peVar PartitionEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
32504	return nil, false
32505}
32506
32507// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32508func (peVar PartitionEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
32509	return nil, false
32510}
32511
32512// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
32513func (peVar PartitionEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
32514	return nil, false
32515}
32516
32517// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32518func (peVar PartitionEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
32519	return nil, false
32520}
32521
32522// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32523func (peVar PartitionEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
32524	return nil, false
32525}
32526
32527// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32528func (peVar PartitionEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
32529	return nil, false
32530}
32531
32532// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32533func (peVar PartitionEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
32534	return nil, false
32535}
32536
32537// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32538func (peVar PartitionEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
32539	return nil, false
32540}
32541
32542// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
32543func (peVar PartitionEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
32544	return nil, false
32545}
32546
32547// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
32548func (peVar PartitionEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
32549	return nil, false
32550}
32551
32552// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32553func (peVar PartitionEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
32554	return nil, false
32555}
32556
32557// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32558func (peVar PartitionEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
32559	return nil, false
32560}
32561
32562// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32563func (peVar PartitionEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
32564	return nil, false
32565}
32566
32567// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32568func (peVar PartitionEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
32569	return nil, false
32570}
32571
32572// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionEvent.
32573func (peVar PartitionEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
32574	return nil, false
32575}
32576
32577// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionEvent.
32578func (peVar PartitionEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
32579	return nil, false
32580}
32581
32582// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionEvent.
32583func (peVar PartitionEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
32584	return nil, false
32585}
32586
32587// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionEvent.
32588func (peVar PartitionEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
32589	return nil, false
32590}
32591
32592// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionEvent.
32593func (peVar PartitionEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
32594	return nil, false
32595}
32596
32597// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32598func (peVar PartitionEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
32599	return nil, false
32600}
32601
32602// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionEvent.
32603func (peVar PartitionEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
32604	return nil, false
32605}
32606
32607// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionEvent.
32608func (peVar PartitionEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
32609	return nil, false
32610}
32611
32612// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32613func (peVar PartitionEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
32614	return nil, false
32615}
32616
32617// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32618func (peVar PartitionEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
32619	return nil, false
32620}
32621
32622// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionEvent.
32623func (peVar PartitionEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
32624	return nil, false
32625}
32626
32627// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionEvent.
32628func (peVar PartitionEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
32629	return nil, false
32630}
32631
32632// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionEvent.
32633func (peVar PartitionEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
32634	return nil, false
32635}
32636
32637// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionEvent.
32638func (peVar PartitionEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
32639	return nil, false
32640}
32641
32642// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionEvent.
32643func (peVar PartitionEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
32644	return nil, false
32645}
32646
32647// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32648func (peVar PartitionEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
32649	return nil, false
32650}
32651
32652// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32653func (peVar PartitionEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
32654	return nil, false
32655}
32656
32657// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
32658func (peVar PartitionEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
32659	return nil, false
32660}
32661
32662// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
32663func (peVar PartitionEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
32664	return nil, false
32665}
32666
32667// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32668func (peVar PartitionEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
32669	return nil, false
32670}
32671
32672// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
32673func (peVar PartitionEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
32674	return nil, false
32675}
32676
32677// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32678func (peVar PartitionEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
32679	return nil, false
32680}
32681
32682// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32683func (peVar PartitionEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
32684	return nil, false
32685}
32686
32687// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32688func (peVar PartitionEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
32689	return nil, false
32690}
32691
32692// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32693func (peVar PartitionEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
32694	return nil, false
32695}
32696
32697// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32698func (peVar PartitionEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
32699	return nil, false
32700}
32701
32702// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32703func (peVar PartitionEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
32704	return nil, false
32705}
32706
32707// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32708func (peVar PartitionEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
32709	return nil, false
32710}
32711
32712// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32713func (peVar PartitionEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
32714	return nil, false
32715}
32716
32717// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
32718func (peVar PartitionEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
32719	return nil, false
32720}
32721
32722// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
32723func (peVar PartitionEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
32724	return nil, false
32725}
32726
32727// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32728func (peVar PartitionEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
32729	return nil, false
32730}
32731
32732// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32733func (peVar PartitionEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
32734	return nil, false
32735}
32736
32737// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
32738func (peVar PartitionEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
32739	return nil, false
32740}
32741
32742// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
32743func (peVar PartitionEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
32744	return nil, false
32745}
32746
32747// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
32748func (peVar PartitionEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
32749	return nil, false
32750}
32751
32752// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionEvent.
32753func (peVar PartitionEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
32754	return nil, false
32755}
32756
32757// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionEvent.
32758func (peVar PartitionEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
32759	return nil, false
32760}
32761
32762// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
32763func (peVar PartitionEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
32764	return nil, false
32765}
32766
32767// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
32768func (peVar PartitionEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
32769	return nil, false
32770}
32771
32772// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
32773func (peVar PartitionEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
32774	return nil, false
32775}
32776
32777// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
32778func (peVar PartitionEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
32779	return nil, false
32780}
32781
32782// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
32783func (peVar PartitionEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
32784	return nil, false
32785}
32786
32787// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
32788func (peVar PartitionEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
32789	return nil, false
32790}
32791
32792// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
32793func (peVar PartitionEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
32794	return nil, false
32795}
32796
32797// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
32798func (peVar PartitionEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
32799	return nil, false
32800}
32801
32802// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
32803func (peVar PartitionEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
32804	return nil, false
32805}
32806
32807// AsFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
32808func (peVar PartitionEvent) AsFabricEvent() (*FabricEvent, bool) {
32809	return nil, false
32810}
32811
32812// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
32813func (peVar PartitionEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
32814	return &peVar, true
32815}
32816
32817// PartitionHealth information about the health of a Service Fabric partition.
32818type PartitionHealth struct {
32819	autorest.Response `json:"-"`
32820	// PartitionID - ID of the partition whose health information is described by this object.
32821	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32822	// ReplicaHealthStates - The list of replica health states associated with the partition.
32823	ReplicaHealthStates *[]BasicReplicaHealthState `json:"ReplicaHealthStates,omitempty"`
32824	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
32825	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
32826	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
32827	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
32828	// HealthEvents - The list of health events reported on the entity.
32829	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
32830	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
32831	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
32832	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
32833	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
32834}
32835
32836// UnmarshalJSON is the custom unmarshaler for PartitionHealth struct.
32837func (ph *PartitionHealth) UnmarshalJSON(body []byte) error {
32838	var m map[string]*json.RawMessage
32839	err := json.Unmarshal(body, &m)
32840	if err != nil {
32841		return err
32842	}
32843	for k, v := range m {
32844		switch k {
32845		case "PartitionId":
32846			if v != nil {
32847				var partitionID uuid.UUID
32848				err = json.Unmarshal(*v, &partitionID)
32849				if err != nil {
32850					return err
32851				}
32852				ph.PartitionID = &partitionID
32853			}
32854		case "ReplicaHealthStates":
32855			if v != nil {
32856				replicaHealthStates, err := unmarshalBasicReplicaHealthStateArray(*v)
32857				if err != nil {
32858					return err
32859				}
32860				ph.ReplicaHealthStates = &replicaHealthStates
32861			}
32862		case "AggregatedHealthState":
32863			if v != nil {
32864				var aggregatedHealthState HealthState
32865				err = json.Unmarshal(*v, &aggregatedHealthState)
32866				if err != nil {
32867					return err
32868				}
32869				ph.AggregatedHealthState = aggregatedHealthState
32870			}
32871		case "HealthEvents":
32872			if v != nil {
32873				var healthEvents []HealthEvent
32874				err = json.Unmarshal(*v, &healthEvents)
32875				if err != nil {
32876					return err
32877				}
32878				ph.HealthEvents = &healthEvents
32879			}
32880		case "UnhealthyEvaluations":
32881			if v != nil {
32882				var unhealthyEvaluations []HealthEvaluationWrapper
32883				err = json.Unmarshal(*v, &unhealthyEvaluations)
32884				if err != nil {
32885					return err
32886				}
32887				ph.UnhealthyEvaluations = &unhealthyEvaluations
32888			}
32889		case "HealthStatistics":
32890			if v != nil {
32891				var healthStatistics HealthStatistics
32892				err = json.Unmarshal(*v, &healthStatistics)
32893				if err != nil {
32894					return err
32895				}
32896				ph.HealthStatistics = &healthStatistics
32897			}
32898		}
32899	}
32900
32901	return nil
32902}
32903
32904// PartitionHealthEvaluation represents health evaluation for a partition, containing information about the
32905// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
32906// aggregated health state is either Error or Warning.
32907type PartitionHealthEvaluation struct {
32908	// PartitionID - Id of the partition whose health evaluation is described by this object.
32909	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
32910	// 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.
32911	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
32912	// 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'
32913	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
32914	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
32915	Description *string `json:"Description,omitempty"`
32916	// 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'
32917	Kind Kind `json:"Kind,omitempty"`
32918}
32919
32920// MarshalJSON is the custom marshaler for PartitionHealthEvaluation.
32921func (phe PartitionHealthEvaluation) MarshalJSON() ([]byte, error) {
32922	phe.Kind = KindPartition
32923	objectMap := make(map[string]interface{})
32924	if phe.PartitionID != nil {
32925		objectMap["PartitionId"] = phe.PartitionID
32926	}
32927	if phe.UnhealthyEvaluations != nil {
32928		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
32929	}
32930	if phe.AggregatedHealthState != "" {
32931		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
32932	}
32933	if phe.Description != nil {
32934		objectMap["Description"] = phe.Description
32935	}
32936	if phe.Kind != "" {
32937		objectMap["Kind"] = phe.Kind
32938	}
32939	return json.Marshal(objectMap)
32940}
32941
32942// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32943func (phe PartitionHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
32944	return nil, false
32945}
32946
32947// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32948func (phe PartitionHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
32949	return nil, false
32950}
32951
32952// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32953func (phe PartitionHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
32954	return nil, false
32955}
32956
32957// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32958func (phe PartitionHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
32959	return nil, false
32960}
32961
32962// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32963func (phe PartitionHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
32964	return nil, false
32965}
32966
32967// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32968func (phe PartitionHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
32969	return nil, false
32970}
32971
32972// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32973func (phe PartitionHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
32974	return nil, false
32975}
32976
32977// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32978func (phe PartitionHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
32979	return nil, false
32980}
32981
32982// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32983func (phe PartitionHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
32984	return nil, false
32985}
32986
32987// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32988func (phe PartitionHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
32989	return nil, false
32990}
32991
32992// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32993func (phe PartitionHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
32994	return nil, false
32995}
32996
32997// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
32998func (phe PartitionHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
32999	return &phe, true
33000}
33001
33002// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33003func (phe PartitionHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
33004	return nil, false
33005}
33006
33007// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33008func (phe PartitionHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
33009	return nil, false
33010}
33011
33012// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33013func (phe PartitionHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
33014	return nil, false
33015}
33016
33017// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33018func (phe PartitionHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
33019	return nil, false
33020}
33021
33022// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33023func (phe PartitionHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
33024	return nil, false
33025}
33026
33027// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33028func (phe PartitionHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
33029	return nil, false
33030}
33031
33032// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33033func (phe PartitionHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
33034	return nil, false
33035}
33036
33037// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33038func (phe PartitionHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
33039	return nil, false
33040}
33041
33042// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33043func (phe PartitionHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
33044	return nil, false
33045}
33046
33047// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
33048func (phe PartitionHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
33049	return &phe, true
33050}
33051
33052// PartitionHealthReportCreatedEvent partition Health Report Created event.
33053type PartitionHealthReportCreatedEvent struct {
33054	// SourceID - Id of report source.
33055	SourceID *string `json:"SourceId,omitempty"`
33056	// Property - Describes the property.
33057	Property *string `json:"Property,omitempty"`
33058	// HealthState - Describes the property health state.
33059	HealthState *string `json:"HealthState,omitempty"`
33060	// TimeToLiveMs - Time to live in milli-seconds.
33061	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
33062	// SequenceNumber - Sequence number of report.
33063	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
33064	// Description - Description of report.
33065	Description *string `json:"Description,omitempty"`
33066	// RemoveWhenExpired - Indicates the removal when it expires.
33067	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
33068	// SourceUtcTimestamp - Source time.
33069	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
33070	// 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.
33071	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33072	// EventInstanceID - The identifier for the FabricEvent instance.
33073	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
33074	// TimeStamp - The time event was logged.
33075	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
33076	// HasCorrelatedEvents - Shows there is existing related events available.
33077	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
33078	// 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'
33079	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
33080}
33081
33082// MarshalJSON is the custom marshaler for PartitionHealthReportCreatedEvent.
33083func (phrce PartitionHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
33084	phrce.Kind = KindPartitionHealthReportCreated
33085	objectMap := make(map[string]interface{})
33086	if phrce.SourceID != nil {
33087		objectMap["SourceId"] = phrce.SourceID
33088	}
33089	if phrce.Property != nil {
33090		objectMap["Property"] = phrce.Property
33091	}
33092	if phrce.HealthState != nil {
33093		objectMap["HealthState"] = phrce.HealthState
33094	}
33095	if phrce.TimeToLiveMs != nil {
33096		objectMap["TimeToLiveMs"] = phrce.TimeToLiveMs
33097	}
33098	if phrce.SequenceNumber != nil {
33099		objectMap["SequenceNumber"] = phrce.SequenceNumber
33100	}
33101	if phrce.Description != nil {
33102		objectMap["Description"] = phrce.Description
33103	}
33104	if phrce.RemoveWhenExpired != nil {
33105		objectMap["RemoveWhenExpired"] = phrce.RemoveWhenExpired
33106	}
33107	if phrce.SourceUtcTimestamp != nil {
33108		objectMap["SourceUtcTimestamp"] = phrce.SourceUtcTimestamp
33109	}
33110	if phrce.PartitionID != nil {
33111		objectMap["PartitionId"] = phrce.PartitionID
33112	}
33113	if phrce.EventInstanceID != nil {
33114		objectMap["EventInstanceId"] = phrce.EventInstanceID
33115	}
33116	if phrce.TimeStamp != nil {
33117		objectMap["TimeStamp"] = phrce.TimeStamp
33118	}
33119	if phrce.HasCorrelatedEvents != nil {
33120		objectMap["HasCorrelatedEvents"] = phrce.HasCorrelatedEvents
33121	}
33122	if phrce.Kind != "" {
33123		objectMap["Kind"] = phrce.Kind
33124	}
33125	return json.Marshal(objectMap)
33126}
33127
33128// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33129func (phrce PartitionHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
33130	return nil, false
33131}
33132
33133// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33134func (phrce PartitionHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
33135	return nil, false
33136}
33137
33138// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33139func (phrce PartitionHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
33140	return nil, false
33141}
33142
33143// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33144func (phrce PartitionHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
33145	return nil, false
33146}
33147
33148// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33149func (phrce PartitionHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
33150	return nil, false
33151}
33152
33153// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33154func (phrce PartitionHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
33155	return nil, false
33156}
33157
33158// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33159func (phrce PartitionHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
33160	return nil, false
33161}
33162
33163// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33164func (phrce PartitionHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
33165	return nil, false
33166}
33167
33168// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33169func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
33170	return nil, false
33171}
33172
33173// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33174func (phrce PartitionHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
33175	return nil, false
33176}
33177
33178// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33179func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
33180	return &phrce, true
33181}
33182
33183// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33184func (phrce PartitionHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
33185	return nil, false
33186}
33187
33188// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33189func (phrce PartitionHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33190	return nil, false
33191}
33192
33193// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33194func (phrce PartitionHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
33195	return nil, false
33196}
33197
33198// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33199func (phrce PartitionHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33200	return nil, false
33201}
33202
33203// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33204func (phrce PartitionHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33205	return nil, false
33206}
33207
33208// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33209func (phrce PartitionHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33210	return nil, false
33211}
33212
33213// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33214func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33215	return nil, false
33216}
33217
33218// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33219func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33220	return nil, false
33221}
33222
33223// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33224func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33225	return nil, false
33226}
33227
33228// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33229func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33230	return nil, false
33231}
33232
33233// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33234func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33235	return nil, false
33236}
33237
33238// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33239func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33240	return nil, false
33241}
33242
33243// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33244func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33245	return nil, false
33246}
33247
33248// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33249func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33250	return nil, false
33251}
33252
33253// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33254func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33255	return nil, false
33256}
33257
33258// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33259func (phrce PartitionHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33260	return nil, false
33261}
33262
33263// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33264func (phrce PartitionHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33265	return nil, false
33266}
33267
33268// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33269func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33270	return nil, false
33271}
33272
33273// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33274func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
33275	return nil, false
33276}
33277
33278// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33279func (phrce PartitionHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33280	return nil, false
33281}
33282
33283// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33284func (phrce PartitionHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33285	return nil, false
33286}
33287
33288// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33289func (phrce PartitionHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33290	return nil, false
33291}
33292
33293// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33294func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33295	return nil, false
33296}
33297
33298// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33299func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33300	return nil, false
33301}
33302
33303// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33304func (phrce PartitionHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33305	return nil, false
33306}
33307
33308// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33309func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33310	return nil, false
33311}
33312
33313// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33314func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33315	return nil, false
33316}
33317
33318// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33319func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33320	return nil, false
33321}
33322
33323// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33324func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33325	return nil, false
33326}
33327
33328// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33329func (phrce PartitionHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33330	return nil, false
33331}
33332
33333// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33334func (phrce PartitionHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33335	return nil, false
33336}
33337
33338// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33339func (phrce PartitionHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33340	return nil, false
33341}
33342
33343// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33344func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33345	return &phrce, true
33346}
33347
33348// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33349func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33350	return nil, false
33351}
33352
33353// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33354func (phrce PartitionHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33355	return nil, false
33356}
33357
33358// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33359func (phrce PartitionHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33360	return nil, false
33361}
33362
33363// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33364func (phrce PartitionHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33365	return nil, false
33366}
33367
33368// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33369func (phrce PartitionHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33370	return nil, false
33371}
33372
33373// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33374func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33375	return nil, false
33376}
33377
33378// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33379func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33380	return nil, false
33381}
33382
33383// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33384func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33385	return nil, false
33386}
33387
33388// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33389func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33390	return nil, false
33391}
33392
33393// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33394func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33395	return nil, false
33396}
33397
33398// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33399func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33400	return nil, false
33401}
33402
33403// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33404func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33405	return nil, false
33406}
33407
33408// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33409func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33410	return nil, false
33411}
33412
33413// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33414func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33415	return nil, false
33416}
33417
33418// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33419func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33420	return nil, false
33421}
33422
33423// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33424func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33425	return nil, false
33426}
33427
33428// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33429func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33430	return nil, false
33431}
33432
33433// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33434func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33435	return nil, false
33436}
33437
33438// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33439func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33440	return nil, false
33441}
33442
33443// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33444func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33445	return nil, false
33446}
33447
33448// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33449func (phrce PartitionHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33450	return nil, false
33451}
33452
33453// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33454func (phrce PartitionHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33455	return nil, false
33456}
33457
33458// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33459func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33460	return nil, false
33461}
33462
33463// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33464func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33465	return nil, false
33466}
33467
33468// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33469func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33470	return nil, false
33471}
33472
33473// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33474func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33475	return nil, false
33476}
33477
33478// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33479func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33480	return nil, false
33481}
33482
33483// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33484func (phrce PartitionHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33485	return nil, false
33486}
33487
33488// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33489func (phrce PartitionHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33490	return nil, false
33491}
33492
33493// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33494func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33495	return nil, false
33496}
33497
33498// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33499func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33500	return nil, false
33501}
33502
33503// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33504func (phrce PartitionHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
33505	return nil, false
33506}
33507
33508// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
33509func (phrce PartitionHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33510	return &phrce, true
33511}
33512
33513// PartitionHealthReportExpiredEvent partition Health Report Expired event.
33514type PartitionHealthReportExpiredEvent struct {
33515	// SourceID - Id of report source.
33516	SourceID *string `json:"SourceId,omitempty"`
33517	// Property - Describes the property.
33518	Property *string `json:"Property,omitempty"`
33519	// HealthState - Describes the property health state.
33520	HealthState *string `json:"HealthState,omitempty"`
33521	// TimeToLiveMs - Time to live in milli-seconds.
33522	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
33523	// SequenceNumber - Sequence number of report.
33524	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
33525	// Description - Description of report.
33526	Description *string `json:"Description,omitempty"`
33527	// RemoveWhenExpired - Indicates the removal when it expires.
33528	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
33529	// SourceUtcTimestamp - Source time.
33530	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
33531	// 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.
33532	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33533	// EventInstanceID - The identifier for the FabricEvent instance.
33534	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
33535	// TimeStamp - The time event was logged.
33536	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
33537	// HasCorrelatedEvents - Shows there is existing related events available.
33538	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
33539	// 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'
33540	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
33541}
33542
33543// MarshalJSON is the custom marshaler for PartitionHealthReportExpiredEvent.
33544func (phree PartitionHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
33545	phree.Kind = KindPartitionHealthReportExpired
33546	objectMap := make(map[string]interface{})
33547	if phree.SourceID != nil {
33548		objectMap["SourceId"] = phree.SourceID
33549	}
33550	if phree.Property != nil {
33551		objectMap["Property"] = phree.Property
33552	}
33553	if phree.HealthState != nil {
33554		objectMap["HealthState"] = phree.HealthState
33555	}
33556	if phree.TimeToLiveMs != nil {
33557		objectMap["TimeToLiveMs"] = phree.TimeToLiveMs
33558	}
33559	if phree.SequenceNumber != nil {
33560		objectMap["SequenceNumber"] = phree.SequenceNumber
33561	}
33562	if phree.Description != nil {
33563		objectMap["Description"] = phree.Description
33564	}
33565	if phree.RemoveWhenExpired != nil {
33566		objectMap["RemoveWhenExpired"] = phree.RemoveWhenExpired
33567	}
33568	if phree.SourceUtcTimestamp != nil {
33569		objectMap["SourceUtcTimestamp"] = phree.SourceUtcTimestamp
33570	}
33571	if phree.PartitionID != nil {
33572		objectMap["PartitionId"] = phree.PartitionID
33573	}
33574	if phree.EventInstanceID != nil {
33575		objectMap["EventInstanceId"] = phree.EventInstanceID
33576	}
33577	if phree.TimeStamp != nil {
33578		objectMap["TimeStamp"] = phree.TimeStamp
33579	}
33580	if phree.HasCorrelatedEvents != nil {
33581		objectMap["HasCorrelatedEvents"] = phree.HasCorrelatedEvents
33582	}
33583	if phree.Kind != "" {
33584		objectMap["Kind"] = phree.Kind
33585	}
33586	return json.Marshal(objectMap)
33587}
33588
33589// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33590func (phree PartitionHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
33591	return nil, false
33592}
33593
33594// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33595func (phree PartitionHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
33596	return nil, false
33597}
33598
33599// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33600func (phree PartitionHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
33601	return nil, false
33602}
33603
33604// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33605func (phree PartitionHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
33606	return nil, false
33607}
33608
33609// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33610func (phree PartitionHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
33611	return nil, false
33612}
33613
33614// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33615func (phree PartitionHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
33616	return nil, false
33617}
33618
33619// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33620func (phree PartitionHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
33621	return nil, false
33622}
33623
33624// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33625func (phree PartitionHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
33626	return nil, false
33627}
33628
33629// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33630func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
33631	return nil, false
33632}
33633
33634// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33635func (phree PartitionHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
33636	return nil, false
33637}
33638
33639// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33640func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
33641	return &phree, true
33642}
33643
33644// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33645func (phree PartitionHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
33646	return nil, false
33647}
33648
33649// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33650func (phree PartitionHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33651	return nil, false
33652}
33653
33654// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33655func (phree PartitionHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
33656	return nil, false
33657}
33658
33659// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33660func (phree PartitionHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33661	return nil, false
33662}
33663
33664// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33665func (phree PartitionHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33666	return nil, false
33667}
33668
33669// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33670func (phree PartitionHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33671	return nil, false
33672}
33673
33674// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33675func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33676	return nil, false
33677}
33678
33679// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33680func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33681	return nil, false
33682}
33683
33684// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33685func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33686	return nil, false
33687}
33688
33689// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33690func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33691	return nil, false
33692}
33693
33694// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33695func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33696	return nil, false
33697}
33698
33699// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33700func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33701	return nil, false
33702}
33703
33704// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33705func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33706	return nil, false
33707}
33708
33709// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33710func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33711	return nil, false
33712}
33713
33714// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33715func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33716	return nil, false
33717}
33718
33719// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33720func (phree PartitionHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33721	return nil, false
33722}
33723
33724// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33725func (phree PartitionHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33726	return nil, false
33727}
33728
33729// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33730func (phree PartitionHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33731	return nil, false
33732}
33733
33734// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33735func (phree PartitionHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
33736	return nil, false
33737}
33738
33739// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33740func (phree PartitionHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33741	return nil, false
33742}
33743
33744// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33745func (phree PartitionHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33746	return nil, false
33747}
33748
33749// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33750func (phree PartitionHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33751	return nil, false
33752}
33753
33754// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33755func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33756	return nil, false
33757}
33758
33759// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33760func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33761	return nil, false
33762}
33763
33764// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33765func (phree PartitionHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33766	return nil, false
33767}
33768
33769// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33770func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33771	return nil, false
33772}
33773
33774// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33775func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33776	return nil, false
33777}
33778
33779// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33780func (phree PartitionHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33781	return nil, false
33782}
33783
33784// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33785func (phree PartitionHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33786	return nil, false
33787}
33788
33789// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33790func (phree PartitionHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33791	return nil, false
33792}
33793
33794// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33795func (phree PartitionHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33796	return nil, false
33797}
33798
33799// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33800func (phree PartitionHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33801	return nil, false
33802}
33803
33804// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33805func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33806	return nil, false
33807}
33808
33809// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33810func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33811	return &phree, true
33812}
33813
33814// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33815func (phree PartitionHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33816	return nil, false
33817}
33818
33819// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33820func (phree PartitionHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33821	return nil, false
33822}
33823
33824// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33825func (phree PartitionHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33826	return nil, false
33827}
33828
33829// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33830func (phree PartitionHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33831	return nil, false
33832}
33833
33834// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33835func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33836	return nil, false
33837}
33838
33839// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33840func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33841	return nil, false
33842}
33843
33844// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33845func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33846	return nil, false
33847}
33848
33849// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33850func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33851	return nil, false
33852}
33853
33854// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33855func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33856	return nil, false
33857}
33858
33859// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33860func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33861	return nil, false
33862}
33863
33864// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33865func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33866	return nil, false
33867}
33868
33869// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33870func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33871	return nil, false
33872}
33873
33874// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33875func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33876	return nil, false
33877}
33878
33879// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33880func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33881	return nil, false
33882}
33883
33884// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33885func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33886	return nil, false
33887}
33888
33889// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33890func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33891	return nil, false
33892}
33893
33894// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33895func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33896	return nil, false
33897}
33898
33899// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33900func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33901	return nil, false
33902}
33903
33904// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33905func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33906	return nil, false
33907}
33908
33909// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33910func (phree PartitionHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33911	return nil, false
33912}
33913
33914// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33915func (phree PartitionHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33916	return nil, false
33917}
33918
33919// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33920func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33921	return nil, false
33922}
33923
33924// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33925func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33926	return nil, false
33927}
33928
33929// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33930func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33931	return nil, false
33932}
33933
33934// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33935func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33936	return nil, false
33937}
33938
33939// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33940func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33941	return nil, false
33942}
33943
33944// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33945func (phree PartitionHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33946	return nil, false
33947}
33948
33949// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33950func (phree PartitionHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33951	return nil, false
33952}
33953
33954// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33955func (phree PartitionHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33956	return nil, false
33957}
33958
33959// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33960func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33961	return nil, false
33962}
33963
33964// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33965func (phree PartitionHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
33966	return nil, false
33967}
33968
33969// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
33970func (phree PartitionHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33971	return &phree, true
33972}
33973
33974// PartitionHealthState represents the health state of a partition, which contains the partition identifier
33975// and its aggregated health state.
33976type PartitionHealthState struct {
33977	// PartitionID - Id of the partition whose health state is described by this object.
33978	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33979	// 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'
33980	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
33981}
33982
33983// PartitionHealthStateChunk represents the health state chunk of a partition, which contains the partition
33984// ID, its aggregated health state and any replicas that respect the filters in the cluster health chunk
33985// query description.
33986type PartitionHealthStateChunk struct {
33987	// PartitionID - The Id of the partition.
33988	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
33989	// ReplicaHealthStateChunks - The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description.
33990	ReplicaHealthStateChunks *ReplicaHealthStateChunkList `json:"ReplicaHealthStateChunks,omitempty"`
33991	// 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'
33992	HealthState HealthState `json:"HealthState,omitempty"`
33993}
33994
33995// PartitionHealthStateChunkList the list of partition health state chunks that respect the input filters
33996// in the chunk query description.
33997// Returned by get cluster health state chunks query as part of the parent application hierarchy.
33998type PartitionHealthStateChunkList struct {
33999	// Items - The list of partition health state chunks that respect the input filters in the chunk query.
34000	Items *[]PartitionHealthStateChunk `json:"Items,omitempty"`
34001}
34002
34003// PartitionHealthStateFilter defines matching criteria to determine whether a partition should be included
34004// as a child of a service in the cluster health chunk.
34005// The partitions are only returned if the parent entities match a filter specified in the cluster health
34006// chunk query description. The parent service and application must be included in the cluster health
34007// chunk.
34008// One filter can match zero, one or multiple partitions, depending on its properties.
34009type PartitionHealthStateFilter struct {
34010	// PartitionIDFilter - ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.
34011	// If the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.
34012	// If the partition exists, it is included in the cluster health chunk if it respects the other filter properties.
34013	// 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.
34014	PartitionIDFilter *uuid.UUID `json:"PartitionIdFilter,omitempty"`
34015	// HealthStateFilter - The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.
34016	// 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.
34017	// 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.
34018	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
34019	// For example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).
34020	// - Default - Default value. Matches any HealthState. The value is zero.
34021	// - 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.
34022	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
34023	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
34024	// - Error - Filter that matches input with HealthState value Error. The value is 8.
34025	// - All - Filter that matches input with any HealthState value. The value is 65535.
34026	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
34027	// 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.
34028	// 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.
34029	// The partition filter may specify multiple replica filters.
34030	// 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.
34031	ReplicaFilters *[]ReplicaHealthStateFilter `json:"ReplicaFilters,omitempty"`
34032}
34033
34034// BasicPartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
34035type BasicPartitionInformation interface {
34036	AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool)
34037	AsNamedPartitionInformation() (*NamedPartitionInformation, bool)
34038	AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool)
34039	AsPartitionInformation() (*PartitionInformation, bool)
34040}
34041
34042// PartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
34043type PartitionInformation struct {
34044	// 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.
34045	ID *uuid.UUID `json:"Id,omitempty"`
34046	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
34047	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
34048}
34049
34050func unmarshalBasicPartitionInformation(body []byte) (BasicPartitionInformation, error) {
34051	var m map[string]interface{}
34052	err := json.Unmarshal(body, &m)
34053	if err != nil {
34054		return nil, err
34055	}
34056
34057	switch m["ServicePartitionKind"] {
34058	case string(ServicePartitionKindInt64Range1):
34059		var i6rpi Int64RangePartitionInformation
34060		err := json.Unmarshal(body, &i6rpi)
34061		return i6rpi, err
34062	case string(ServicePartitionKindNamed1):
34063		var npi NamedPartitionInformation
34064		err := json.Unmarshal(body, &npi)
34065		return npi, err
34066	case string(ServicePartitionKindSingleton1):
34067		var spi SingletonPartitionInformation
34068		err := json.Unmarshal(body, &spi)
34069		return spi, err
34070	default:
34071		var pi PartitionInformation
34072		err := json.Unmarshal(body, &pi)
34073		return pi, err
34074	}
34075}
34076func unmarshalBasicPartitionInformationArray(body []byte) ([]BasicPartitionInformation, error) {
34077	var rawMessages []*json.RawMessage
34078	err := json.Unmarshal(body, &rawMessages)
34079	if err != nil {
34080		return nil, err
34081	}
34082
34083	piArray := make([]BasicPartitionInformation, len(rawMessages))
34084
34085	for index, rawMessage := range rawMessages {
34086		pi, err := unmarshalBasicPartitionInformation(*rawMessage)
34087		if err != nil {
34088			return nil, err
34089		}
34090		piArray[index] = pi
34091	}
34092	return piArray, nil
34093}
34094
34095// MarshalJSON is the custom marshaler for PartitionInformation.
34096func (pi PartitionInformation) MarshalJSON() ([]byte, error) {
34097	pi.ServicePartitionKind = ServicePartitionKindPartitionInformation
34098	objectMap := make(map[string]interface{})
34099	if pi.ID != nil {
34100		objectMap["Id"] = pi.ID
34101	}
34102	if pi.ServicePartitionKind != "" {
34103		objectMap["ServicePartitionKind"] = pi.ServicePartitionKind
34104	}
34105	return json.Marshal(objectMap)
34106}
34107
34108// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34109func (pi PartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
34110	return nil, false
34111}
34112
34113// AsNamedPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34114func (pi PartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
34115	return nil, false
34116}
34117
34118// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34119func (pi PartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
34120	return nil, false
34121}
34122
34123// AsPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34124func (pi PartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
34125	return &pi, true
34126}
34127
34128// AsBasicPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
34129func (pi PartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
34130	return &pi, true
34131}
34132
34133// PartitionInstanceCountScaleMechanism represents a scaling mechanism for adding or removing instances of
34134// stateless service partition.
34135type PartitionInstanceCountScaleMechanism struct {
34136	// MinInstanceCount - Minimum number of instances of the partition.
34137	MinInstanceCount *int32 `json:"MinInstanceCount,omitempty"`
34138	// MaxInstanceCount - Maximum number of instances of the partition.
34139	MaxInstanceCount *int32 `json:"MaxInstanceCount,omitempty"`
34140	// ScaleIncrement - The number of instances to add or remove during a scaling operation.
34141	ScaleIncrement *int32 `json:"ScaleIncrement,omitempty"`
34142	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
34143	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
34144}
34145
34146// MarshalJSON is the custom marshaler for PartitionInstanceCountScaleMechanism.
34147func (picsm PartitionInstanceCountScaleMechanism) MarshalJSON() ([]byte, error) {
34148	picsm.Kind = KindPartitionInstanceCount
34149	objectMap := make(map[string]interface{})
34150	if picsm.MinInstanceCount != nil {
34151		objectMap["MinInstanceCount"] = picsm.MinInstanceCount
34152	}
34153	if picsm.MaxInstanceCount != nil {
34154		objectMap["MaxInstanceCount"] = picsm.MaxInstanceCount
34155	}
34156	if picsm.ScaleIncrement != nil {
34157		objectMap["ScaleIncrement"] = picsm.ScaleIncrement
34158	}
34159	if picsm.Kind != "" {
34160		objectMap["Kind"] = picsm.Kind
34161	}
34162	return json.Marshal(objectMap)
34163}
34164
34165// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34166func (picsm PartitionInstanceCountScaleMechanism) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
34167	return &picsm, true
34168}
34169
34170// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34171func (picsm PartitionInstanceCountScaleMechanism) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
34172	return nil, false
34173}
34174
34175// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34176func (picsm PartitionInstanceCountScaleMechanism) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
34177	return nil, false
34178}
34179
34180// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
34181func (picsm PartitionInstanceCountScaleMechanism) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
34182	return &picsm, true
34183}
34184
34185// PartitionLoadInformation represents load information for a partition, which contains the primary and
34186// secondary reported load metrics.
34187// In case there is no load reported, PartitionLoadInformation will contain the default load for the
34188// service of the partition.
34189// For default loads, LoadMetricReport's LastReportedUtc is set to 0.
34190type PartitionLoadInformation struct {
34191	autorest.Response `json:"-"`
34192	// PartitionID - Id of the partition.
34193	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34194	// PrimaryLoadMetricReports - Array of load reports from the primary replica for this partition.
34195	PrimaryLoadMetricReports *[]LoadMetricReport `json:"PrimaryLoadMetricReports,omitempty"`
34196	// SecondaryLoadMetricReports - Array of aggregated load reports from all secondary replicas for this partition.
34197	// Array only contains the latest reported load for each metric.
34198	SecondaryLoadMetricReports *[]LoadMetricReport `json:"SecondaryLoadMetricReports,omitempty"`
34199}
34200
34201// PartitionPrimaryMoveAnalysisEvent partition Primary Move Analysis event.
34202type PartitionPrimaryMoveAnalysisEvent struct {
34203	// WhenMoveCompleted - Time when the move was completed.
34204	WhenMoveCompleted *date.Time `json:"WhenMoveCompleted,omitempty"`
34205	// PreviousNode - The name of a Service Fabric node.
34206	PreviousNode *string `json:"PreviousNode,omitempty"`
34207	// CurrentNode - The name of a Service Fabric node.
34208	CurrentNode *string `json:"CurrentNode,omitempty"`
34209	// MoveReason - Move reason.
34210	MoveReason *string `json:"MoveReason,omitempty"`
34211	// RelevantTraces - Relevant traces.
34212	RelevantTraces *string `json:"RelevantTraces,omitempty"`
34213	// Metadata - Metadata about an Analysis Event.
34214	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
34215	// 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.
34216	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34217	// EventInstanceID - The identifier for the FabricEvent instance.
34218	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
34219	// TimeStamp - The time event was logged.
34220	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
34221	// HasCorrelatedEvents - Shows there is existing related events available.
34222	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
34223	// 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'
34224	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
34225}
34226
34227// MarshalJSON is the custom marshaler for PartitionPrimaryMoveAnalysisEvent.
34228func (ppmae PartitionPrimaryMoveAnalysisEvent) MarshalJSON() ([]byte, error) {
34229	ppmae.Kind = KindPartitionPrimaryMoveAnalysis
34230	objectMap := make(map[string]interface{})
34231	if ppmae.WhenMoveCompleted != nil {
34232		objectMap["WhenMoveCompleted"] = ppmae.WhenMoveCompleted
34233	}
34234	if ppmae.PreviousNode != nil {
34235		objectMap["PreviousNode"] = ppmae.PreviousNode
34236	}
34237	if ppmae.CurrentNode != nil {
34238		objectMap["CurrentNode"] = ppmae.CurrentNode
34239	}
34240	if ppmae.MoveReason != nil {
34241		objectMap["MoveReason"] = ppmae.MoveReason
34242	}
34243	if ppmae.RelevantTraces != nil {
34244		objectMap["RelevantTraces"] = ppmae.RelevantTraces
34245	}
34246	if ppmae.Metadata != nil {
34247		objectMap["Metadata"] = ppmae.Metadata
34248	}
34249	if ppmae.PartitionID != nil {
34250		objectMap["PartitionId"] = ppmae.PartitionID
34251	}
34252	if ppmae.EventInstanceID != nil {
34253		objectMap["EventInstanceId"] = ppmae.EventInstanceID
34254	}
34255	if ppmae.TimeStamp != nil {
34256		objectMap["TimeStamp"] = ppmae.TimeStamp
34257	}
34258	if ppmae.HasCorrelatedEvents != nil {
34259		objectMap["HasCorrelatedEvents"] = ppmae.HasCorrelatedEvents
34260	}
34261	if ppmae.Kind != "" {
34262		objectMap["Kind"] = ppmae.Kind
34263	}
34264	return json.Marshal(objectMap)
34265}
34266
34267// AsApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34268func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
34269	return nil, false
34270}
34271
34272// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34273func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
34274	return nil, false
34275}
34276
34277// AsClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34278func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
34279	return nil, false
34280}
34281
34282// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34283func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
34284	return nil, false
34285}
34286
34287// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34288func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
34289	return nil, false
34290}
34291
34292// AsNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34293func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
34294	return nil, false
34295}
34296
34297// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34298func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
34299	return nil, false
34300}
34301
34302// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34303func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
34304	return nil, false
34305}
34306
34307// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34308func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
34309	return &ppmae, true
34310}
34311
34312// AsPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34313func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
34314	return nil, false
34315}
34316
34317// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34318func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
34319	return &ppmae, true
34320}
34321
34322// AsReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34323func (ppmae PartitionPrimaryMoveAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
34324	return nil, false
34325}
34326
34327// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34328func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
34329	return nil, false
34330}
34331
34332// AsServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34333func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
34334	return nil, false
34335}
34336
34337// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34338func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
34339	return nil, false
34340}
34341
34342// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34343func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
34344	return nil, false
34345}
34346
34347// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34348func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
34349	return nil, false
34350}
34351
34352// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34353func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
34354	return nil, false
34355}
34356
34357// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34358func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
34359	return nil, false
34360}
34361
34362// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34363func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
34364	return nil, false
34365}
34366
34367// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34368func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
34369	return nil, false
34370}
34371
34372// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34373func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
34374	return nil, false
34375}
34376
34377// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34378func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
34379	return nil, false
34380}
34381
34382// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34383func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
34384	return nil, false
34385}
34386
34387// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34388func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
34389	return nil, false
34390}
34391
34392// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34393func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
34394	return nil, false
34395}
34396
34397// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34398func (ppmae PartitionPrimaryMoveAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
34399	return nil, false
34400}
34401
34402// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34403func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
34404	return nil, false
34405}
34406
34407// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34408func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
34409	return nil, false
34410}
34411
34412// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34413func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
34414	return nil, false
34415}
34416
34417// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34418func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
34419	return nil, false
34420}
34421
34422// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34423func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
34424	return nil, false
34425}
34426
34427// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34428func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
34429	return nil, false
34430}
34431
34432// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34433func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
34434	return nil, false
34435}
34436
34437// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34438func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
34439	return nil, false
34440}
34441
34442// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34443func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
34444	return nil, false
34445}
34446
34447// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34448func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
34449	return nil, false
34450}
34451
34452// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34453func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
34454	return nil, false
34455}
34456
34457// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34458func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
34459	return nil, false
34460}
34461
34462// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34463func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
34464	return nil, false
34465}
34466
34467// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34468func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
34469	return nil, false
34470}
34471
34472// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34473func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
34474	return nil, false
34475}
34476
34477// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34478func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
34479	return nil, false
34480}
34481
34482// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34483func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
34484	return nil, false
34485}
34486
34487// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34488func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
34489	return nil, false
34490}
34491
34492// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34493func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
34494	return nil, false
34495}
34496
34497// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34498func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
34499	return &ppmae, true
34500}
34501
34502// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34503func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
34504	return nil, false
34505}
34506
34507// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34508func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
34509	return nil, false
34510}
34511
34512// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34513func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
34514	return nil, false
34515}
34516
34517// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34518func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
34519	return nil, false
34520}
34521
34522// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34523func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
34524	return nil, false
34525}
34526
34527// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34528func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
34529	return nil, false
34530}
34531
34532// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34533func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
34534	return nil, false
34535}
34536
34537// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34538func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
34539	return nil, false
34540}
34541
34542// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34543func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
34544	return nil, false
34545}
34546
34547// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34548func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
34549	return nil, false
34550}
34551
34552// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34553func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
34554	return nil, false
34555}
34556
34557// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34558func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
34559	return nil, false
34560}
34561
34562// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34563func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
34564	return nil, false
34565}
34566
34567// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34568func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
34569	return nil, false
34570}
34571
34572// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34573func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
34574	return nil, false
34575}
34576
34577// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34578func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
34579	return nil, false
34580}
34581
34582// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34583func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
34584	return nil, false
34585}
34586
34587// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34588func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
34589	return nil, false
34590}
34591
34592// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34593func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
34594	return nil, false
34595}
34596
34597// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34598func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
34599	return nil, false
34600}
34601
34602// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34603func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
34604	return nil, false
34605}
34606
34607// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34608func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
34609	return nil, false
34610}
34611
34612// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34613func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
34614	return nil, false
34615}
34616
34617// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34618func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
34619	return nil, false
34620}
34621
34622// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34623func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
34624	return nil, false
34625}
34626
34627// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34628func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
34629	return nil, false
34630}
34631
34632// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34633func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
34634	return nil, false
34635}
34636
34637// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34638func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
34639	return nil, false
34640}
34641
34642// AsFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34643func (ppmae PartitionPrimaryMoveAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
34644	return nil, false
34645}
34646
34647// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
34648func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
34649	return &ppmae, true
34650}
34651
34652// PartitionQuorumLossProgress information about a partition quorum loss user-induced operation.
34653type PartitionQuorumLossProgress struct {
34654	autorest.Response `json:"-"`
34655	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
34656	State OperationState `json:"State,omitempty"`
34657	// InvokeQuorumLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
34658	InvokeQuorumLossResult *InvokeQuorumLossResult `json:"InvokeQuorumLossResult,omitempty"`
34659}
34660
34661// PartitionReconfigurationCompletedEvent partition Reconfiguration Completed event.
34662type PartitionReconfigurationCompletedEvent struct {
34663	// NodeName - The name of a Service Fabric node.
34664	NodeName *string `json:"NodeName,omitempty"`
34665	// NodeInstanceID - Id of Node instance.
34666	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
34667	// ServiceType - Type of Service.
34668	ServiceType *string `json:"ServiceType,omitempty"`
34669	// CcEpochDataLossVersion - CcEpochDataLoss version.
34670	CcEpochDataLossVersion *int64 `json:"CcEpochDataLossVersion,omitempty"`
34671	// CcEpochConfigVersion - CcEpochConfig version.
34672	CcEpochConfigVersion *int64 `json:"CcEpochConfigVersion,omitempty"`
34673	// ReconfigType - Type of reconfiguration.
34674	ReconfigType *string `json:"ReconfigType,omitempty"`
34675	// Result - Describes reconfiguration result.
34676	Result *string `json:"Result,omitempty"`
34677	// Phase0DurationMs - Duration of Phase0 in milli-seconds.
34678	Phase0DurationMs *float64 `json:"Phase0DurationMs,omitempty"`
34679	// Phase1DurationMs - Duration of Phase1 in milli-seconds.
34680	Phase1DurationMs *float64 `json:"Phase1DurationMs,omitempty"`
34681	// Phase2DurationMs - Duration of Phase2 in milli-seconds.
34682	Phase2DurationMs *float64 `json:"Phase2DurationMs,omitempty"`
34683	// Phase3DurationMs - Duration of Phase3 in milli-seconds.
34684	Phase3DurationMs *float64 `json:"Phase3DurationMs,omitempty"`
34685	// Phase4DurationMs - Duration of Phase4 in milli-seconds.
34686	Phase4DurationMs *float64 `json:"Phase4DurationMs,omitempty"`
34687	// TotalDurationMs - Total duration in milli-seconds.
34688	TotalDurationMs *float64 `json:"TotalDurationMs,omitempty"`
34689	// 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.
34690	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34691	// EventInstanceID - The identifier for the FabricEvent instance.
34692	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
34693	// TimeStamp - The time event was logged.
34694	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
34695	// HasCorrelatedEvents - Shows there is existing related events available.
34696	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
34697	// 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'
34698	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
34699}
34700
34701// MarshalJSON is the custom marshaler for PartitionReconfigurationCompletedEvent.
34702func (prce PartitionReconfigurationCompletedEvent) MarshalJSON() ([]byte, error) {
34703	prce.Kind = KindPartitionReconfigurationCompleted
34704	objectMap := make(map[string]interface{})
34705	if prce.NodeName != nil {
34706		objectMap["NodeName"] = prce.NodeName
34707	}
34708	if prce.NodeInstanceID != nil {
34709		objectMap["NodeInstanceId"] = prce.NodeInstanceID
34710	}
34711	if prce.ServiceType != nil {
34712		objectMap["ServiceType"] = prce.ServiceType
34713	}
34714	if prce.CcEpochDataLossVersion != nil {
34715		objectMap["CcEpochDataLossVersion"] = prce.CcEpochDataLossVersion
34716	}
34717	if prce.CcEpochConfigVersion != nil {
34718		objectMap["CcEpochConfigVersion"] = prce.CcEpochConfigVersion
34719	}
34720	if prce.ReconfigType != nil {
34721		objectMap["ReconfigType"] = prce.ReconfigType
34722	}
34723	if prce.Result != nil {
34724		objectMap["Result"] = prce.Result
34725	}
34726	if prce.Phase0DurationMs != nil {
34727		objectMap["Phase0DurationMs"] = prce.Phase0DurationMs
34728	}
34729	if prce.Phase1DurationMs != nil {
34730		objectMap["Phase1DurationMs"] = prce.Phase1DurationMs
34731	}
34732	if prce.Phase2DurationMs != nil {
34733		objectMap["Phase2DurationMs"] = prce.Phase2DurationMs
34734	}
34735	if prce.Phase3DurationMs != nil {
34736		objectMap["Phase3DurationMs"] = prce.Phase3DurationMs
34737	}
34738	if prce.Phase4DurationMs != nil {
34739		objectMap["Phase4DurationMs"] = prce.Phase4DurationMs
34740	}
34741	if prce.TotalDurationMs != nil {
34742		objectMap["TotalDurationMs"] = prce.TotalDurationMs
34743	}
34744	if prce.PartitionID != nil {
34745		objectMap["PartitionId"] = prce.PartitionID
34746	}
34747	if prce.EventInstanceID != nil {
34748		objectMap["EventInstanceId"] = prce.EventInstanceID
34749	}
34750	if prce.TimeStamp != nil {
34751		objectMap["TimeStamp"] = prce.TimeStamp
34752	}
34753	if prce.HasCorrelatedEvents != nil {
34754		objectMap["HasCorrelatedEvents"] = prce.HasCorrelatedEvents
34755	}
34756	if prce.Kind != "" {
34757		objectMap["Kind"] = prce.Kind
34758	}
34759	return json.Marshal(objectMap)
34760}
34761
34762// AsApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34763func (prce PartitionReconfigurationCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
34764	return nil, false
34765}
34766
34767// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34768func (prce PartitionReconfigurationCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
34769	return nil, false
34770}
34771
34772// AsClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34773func (prce PartitionReconfigurationCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
34774	return nil, false
34775}
34776
34777// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34778func (prce PartitionReconfigurationCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
34779	return nil, false
34780}
34781
34782// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34783func (prce PartitionReconfigurationCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
34784	return nil, false
34785}
34786
34787// AsNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34788func (prce PartitionReconfigurationCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
34789	return nil, false
34790}
34791
34792// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34793func (prce PartitionReconfigurationCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
34794	return nil, false
34795}
34796
34797// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34798func (prce PartitionReconfigurationCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
34799	return nil, false
34800}
34801
34802// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34803func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
34804	return nil, false
34805}
34806
34807// AsPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34808func (prce PartitionReconfigurationCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
34809	return nil, false
34810}
34811
34812// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34813func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
34814	return &prce, true
34815}
34816
34817// AsReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34818func (prce PartitionReconfigurationCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
34819	return nil, false
34820}
34821
34822// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34823func (prce PartitionReconfigurationCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
34824	return nil, false
34825}
34826
34827// AsServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34828func (prce PartitionReconfigurationCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
34829	return nil, false
34830}
34831
34832// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34833func (prce PartitionReconfigurationCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
34834	return nil, false
34835}
34836
34837// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34838func (prce PartitionReconfigurationCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
34839	return nil, false
34840}
34841
34842// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34843func (prce PartitionReconfigurationCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
34844	return nil, false
34845}
34846
34847// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34848func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
34849	return nil, false
34850}
34851
34852// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34853func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
34854	return nil, false
34855}
34856
34857// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34858func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
34859	return nil, false
34860}
34861
34862// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34863func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
34864	return nil, false
34865}
34866
34867// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34868func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
34869	return nil, false
34870}
34871
34872// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34873func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
34874	return nil, false
34875}
34876
34877// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34878func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
34879	return nil, false
34880}
34881
34882// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34883func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
34884	return nil, false
34885}
34886
34887// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34888func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
34889	return nil, false
34890}
34891
34892// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34893func (prce PartitionReconfigurationCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
34894	return nil, false
34895}
34896
34897// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34898func (prce PartitionReconfigurationCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
34899	return nil, false
34900}
34901
34902// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34903func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
34904	return nil, false
34905}
34906
34907// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34908func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
34909	return nil, false
34910}
34911
34912// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34913func (prce PartitionReconfigurationCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
34914	return nil, false
34915}
34916
34917// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34918func (prce PartitionReconfigurationCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
34919	return nil, false
34920}
34921
34922// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34923func (prce PartitionReconfigurationCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
34924	return nil, false
34925}
34926
34927// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34928func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
34929	return nil, false
34930}
34931
34932// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34933func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
34934	return nil, false
34935}
34936
34937// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34938func (prce PartitionReconfigurationCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
34939	return nil, false
34940}
34941
34942// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34943func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
34944	return nil, false
34945}
34946
34947// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34948func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
34949	return nil, false
34950}
34951
34952// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34953func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
34954	return nil, false
34955}
34956
34957// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34958func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
34959	return nil, false
34960}
34961
34962// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34963func (prce PartitionReconfigurationCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
34964	return nil, false
34965}
34966
34967// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34968func (prce PartitionReconfigurationCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
34969	return nil, false
34970}
34971
34972// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34973func (prce PartitionReconfigurationCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
34974	return nil, false
34975}
34976
34977// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34978func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
34979	return nil, false
34980}
34981
34982// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34983func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
34984	return nil, false
34985}
34986
34987// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34988func (prce PartitionReconfigurationCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
34989	return &prce, true
34990}
34991
34992// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34993func (prce PartitionReconfigurationCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
34994	return nil, false
34995}
34996
34997// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
34998func (prce PartitionReconfigurationCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
34999	return nil, false
35000}
35001
35002// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35003func (prce PartitionReconfigurationCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
35004	return nil, false
35005}
35006
35007// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35008func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
35009	return nil, false
35010}
35011
35012// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35013func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
35014	return nil, false
35015}
35016
35017// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35018func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
35019	return nil, false
35020}
35021
35022// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35023func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
35024	return nil, false
35025}
35026
35027// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35028func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
35029	return nil, false
35030}
35031
35032// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35033func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
35034	return nil, false
35035}
35036
35037// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35038func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
35039	return nil, false
35040}
35041
35042// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35043func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
35044	return nil, false
35045}
35046
35047// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35048func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
35049	return nil, false
35050}
35051
35052// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35053func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
35054	return nil, false
35055}
35056
35057// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35058func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
35059	return nil, false
35060}
35061
35062// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35063func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
35064	return nil, false
35065}
35066
35067// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35068func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
35069	return nil, false
35070}
35071
35072// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35073func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
35074	return nil, false
35075}
35076
35077// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35078func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
35079	return nil, false
35080}
35081
35082// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35083func (prce PartitionReconfigurationCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
35084	return nil, false
35085}
35086
35087// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35088func (prce PartitionReconfigurationCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
35089	return nil, false
35090}
35091
35092// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35093func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
35094	return nil, false
35095}
35096
35097// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35098func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
35099	return nil, false
35100}
35101
35102// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35103func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
35104	return nil, false
35105}
35106
35107// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35108func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
35109	return nil, false
35110}
35111
35112// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35113func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
35114	return nil, false
35115}
35116
35117// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35118func (prce PartitionReconfigurationCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
35119	return nil, false
35120}
35121
35122// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35123func (prce PartitionReconfigurationCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
35124	return nil, false
35125}
35126
35127// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35128func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
35129	return nil, false
35130}
35131
35132// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35133func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
35134	return nil, false
35135}
35136
35137// AsFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35138func (prce PartitionReconfigurationCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
35139	return nil, false
35140}
35141
35142// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
35143func (prce PartitionReconfigurationCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
35144	return &prce, true
35145}
35146
35147// PartitionRestartProgress information about a partition restart user-induced operation.
35148type PartitionRestartProgress struct {
35149	autorest.Response `json:"-"`
35150	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
35151	State OperationState `json:"State,omitempty"`
35152	// RestartPartitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
35153	RestartPartitionResult *RestartPartitionResult `json:"RestartPartitionResult,omitempty"`
35154}
35155
35156// BasicPartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
35157// before continuing with operations.
35158type BasicPartitionSafetyCheck interface {
35159	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
35160	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
35161	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
35162	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
35163	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
35164	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
35165	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
35166}
35167
35168// PartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
35169// before continuing with operations.
35170type PartitionSafetyCheck struct {
35171	// PartitionID - Id of the partition which is undergoing the safety check.
35172	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35173	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
35174	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
35175}
35176
35177func unmarshalBasicPartitionSafetyCheck(body []byte) (BasicPartitionSafetyCheck, error) {
35178	var m map[string]interface{}
35179	err := json.Unmarshal(body, &m)
35180	if err != nil {
35181		return nil, err
35182	}
35183
35184	switch m["Kind"] {
35185	case string(KindEnsureAvailability):
35186		var easc EnsureAvailabilitySafetyCheck
35187		err := json.Unmarshal(body, &easc)
35188		return easc, err
35189	case string(KindEnsurePartitionQuorum):
35190		var epqsc EnsurePartitionQurumSafetyCheck
35191		err := json.Unmarshal(body, &epqsc)
35192		return epqsc, err
35193	case string(KindWaitForInbuildReplica):
35194		var wfirsc WaitForInbuildReplicaSafetyCheck
35195		err := json.Unmarshal(body, &wfirsc)
35196		return wfirsc, err
35197	case string(KindWaitForPrimaryPlacement):
35198		var wfppsc WaitForPrimaryPlacementSafetyCheck
35199		err := json.Unmarshal(body, &wfppsc)
35200		return wfppsc, err
35201	case string(KindWaitForPrimarySwap):
35202		var wfpssc WaitForPrimarySwapSafetyCheck
35203		err := json.Unmarshal(body, &wfpssc)
35204		return wfpssc, err
35205	case string(KindWaitForReconfiguration):
35206		var wfrsc WaitForReconfigurationSafetyCheck
35207		err := json.Unmarshal(body, &wfrsc)
35208		return wfrsc, err
35209	default:
35210		var psc PartitionSafetyCheck
35211		err := json.Unmarshal(body, &psc)
35212		return psc, err
35213	}
35214}
35215func unmarshalBasicPartitionSafetyCheckArray(body []byte) ([]BasicPartitionSafetyCheck, error) {
35216	var rawMessages []*json.RawMessage
35217	err := json.Unmarshal(body, &rawMessages)
35218	if err != nil {
35219		return nil, err
35220	}
35221
35222	pscArray := make([]BasicPartitionSafetyCheck, len(rawMessages))
35223
35224	for index, rawMessage := range rawMessages {
35225		psc, err := unmarshalBasicPartitionSafetyCheck(*rawMessage)
35226		if err != nil {
35227			return nil, err
35228		}
35229		pscArray[index] = psc
35230	}
35231	return pscArray, nil
35232}
35233
35234// MarshalJSON is the custom marshaler for PartitionSafetyCheck.
35235func (psc PartitionSafetyCheck) MarshalJSON() ([]byte, error) {
35236	psc.Kind = KindPartitionSafetyCheck
35237	objectMap := make(map[string]interface{})
35238	if psc.PartitionID != nil {
35239		objectMap["PartitionId"] = psc.PartitionID
35240	}
35241	if psc.Kind != "" {
35242		objectMap["Kind"] = psc.Kind
35243	}
35244	return json.Marshal(objectMap)
35245}
35246
35247// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35248func (psc PartitionSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
35249	return &psc, true
35250}
35251
35252// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35253func (psc PartitionSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
35254	return &psc, true
35255}
35256
35257// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35258func (psc PartitionSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
35259	return nil, false
35260}
35261
35262// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35263func (psc PartitionSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
35264	return nil, false
35265}
35266
35267// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35268func (psc PartitionSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
35269	return nil, false
35270}
35271
35272// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35273func (psc PartitionSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
35274	return nil, false
35275}
35276
35277// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35278func (psc PartitionSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
35279	return nil, false
35280}
35281
35282// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35283func (psc PartitionSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
35284	return nil, false
35285}
35286
35287// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35288func (psc PartitionSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
35289	return nil, false
35290}
35291
35292// AsSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35293func (psc PartitionSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
35294	return nil, false
35295}
35296
35297// AsBasicSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
35298func (psc PartitionSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
35299	return &psc, true
35300}
35301
35302// BasicPartitionSchemeDescription describes how the service is partitioned.
35303type BasicPartitionSchemeDescription interface {
35304	AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool)
35305	AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool)
35306	AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool)
35307	AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool)
35308}
35309
35310// PartitionSchemeDescription describes how the service is partitioned.
35311type PartitionSchemeDescription struct {
35312	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
35313	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
35314}
35315
35316func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionSchemeDescription, error) {
35317	var m map[string]interface{}
35318	err := json.Unmarshal(body, &m)
35319	if err != nil {
35320		return nil, err
35321	}
35322
35323	switch m["PartitionScheme"] {
35324	case string(PartitionSchemeNamed1):
35325		var npsd NamedPartitionSchemeDescription
35326		err := json.Unmarshal(body, &npsd)
35327		return npsd, err
35328	case string(PartitionSchemeSingleton1):
35329		var spsd SingletonPartitionSchemeDescription
35330		err := json.Unmarshal(body, &spsd)
35331		return spsd, err
35332	case string(PartitionSchemeUniformInt64Range1):
35333		var ui6rpsd UniformInt64RangePartitionSchemeDescription
35334		err := json.Unmarshal(body, &ui6rpsd)
35335		return ui6rpsd, err
35336	default:
35337		var psd PartitionSchemeDescription
35338		err := json.Unmarshal(body, &psd)
35339		return psd, err
35340	}
35341}
35342func unmarshalBasicPartitionSchemeDescriptionArray(body []byte) ([]BasicPartitionSchemeDescription, error) {
35343	var rawMessages []*json.RawMessage
35344	err := json.Unmarshal(body, &rawMessages)
35345	if err != nil {
35346		return nil, err
35347	}
35348
35349	psdArray := make([]BasicPartitionSchemeDescription, len(rawMessages))
35350
35351	for index, rawMessage := range rawMessages {
35352		psd, err := unmarshalBasicPartitionSchemeDescription(*rawMessage)
35353		if err != nil {
35354			return nil, err
35355		}
35356		psdArray[index] = psd
35357	}
35358	return psdArray, nil
35359}
35360
35361// MarshalJSON is the custom marshaler for PartitionSchemeDescription.
35362func (psd PartitionSchemeDescription) MarshalJSON() ([]byte, error) {
35363	psd.PartitionScheme = PartitionSchemePartitionSchemeDescription
35364	objectMap := make(map[string]interface{})
35365	if psd.PartitionScheme != "" {
35366		objectMap["PartitionScheme"] = psd.PartitionScheme
35367	}
35368	return json.Marshal(objectMap)
35369}
35370
35371// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35372func (psd PartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
35373	return nil, false
35374}
35375
35376// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35377func (psd PartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
35378	return nil, false
35379}
35380
35381// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35382func (psd PartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
35383	return nil, false
35384}
35385
35386// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35387func (psd PartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
35388	return &psd, true
35389}
35390
35391// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
35392func (psd PartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
35393	return &psd, true
35394}
35395
35396// PartitionsHealthEvaluation represents health evaluation for the partitions of a service, containing
35397// health evaluations for each unhealthy partition that impacts current aggregated health state. Can be
35398// returned when evaluating service health and the aggregated health state is either Error or Warning.
35399type PartitionsHealthEvaluation struct {
35400	// MaxPercentUnhealthyPartitionsPerService - Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy.
35401	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
35402	// TotalCount - Total number of partitions of the service from the health store.
35403	TotalCount *int64 `json:"TotalCount,omitempty"`
35404	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health.
35405	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
35406	// 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'
35407	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
35408	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
35409	Description *string `json:"Description,omitempty"`
35410	// 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'
35411	Kind Kind `json:"Kind,omitempty"`
35412}
35413
35414// MarshalJSON is the custom marshaler for PartitionsHealthEvaluation.
35415func (phe PartitionsHealthEvaluation) MarshalJSON() ([]byte, error) {
35416	phe.Kind = KindPartitions
35417	objectMap := make(map[string]interface{})
35418	if phe.MaxPercentUnhealthyPartitionsPerService != nil {
35419		objectMap["MaxPercentUnhealthyPartitionsPerService"] = phe.MaxPercentUnhealthyPartitionsPerService
35420	}
35421	if phe.TotalCount != nil {
35422		objectMap["TotalCount"] = phe.TotalCount
35423	}
35424	if phe.UnhealthyEvaluations != nil {
35425		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
35426	}
35427	if phe.AggregatedHealthState != "" {
35428		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
35429	}
35430	if phe.Description != nil {
35431		objectMap["Description"] = phe.Description
35432	}
35433	if phe.Kind != "" {
35434		objectMap["Kind"] = phe.Kind
35435	}
35436	return json.Marshal(objectMap)
35437}
35438
35439// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35440func (phe PartitionsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
35441	return nil, false
35442}
35443
35444// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35445func (phe PartitionsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
35446	return nil, false
35447}
35448
35449// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35450func (phe PartitionsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
35451	return nil, false
35452}
35453
35454// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35455func (phe PartitionsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
35456	return nil, false
35457}
35458
35459// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35460func (phe PartitionsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
35461	return nil, false
35462}
35463
35464// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35465func (phe PartitionsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
35466	return nil, false
35467}
35468
35469// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35470func (phe PartitionsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
35471	return nil, false
35472}
35473
35474// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35475func (phe PartitionsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
35476	return nil, false
35477}
35478
35479// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35480func (phe PartitionsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
35481	return nil, false
35482}
35483
35484// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35485func (phe PartitionsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
35486	return nil, false
35487}
35488
35489// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35490func (phe PartitionsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
35491	return nil, false
35492}
35493
35494// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35495func (phe PartitionsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
35496	return nil, false
35497}
35498
35499// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35500func (phe PartitionsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
35501	return &phe, true
35502}
35503
35504// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35505func (phe PartitionsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
35506	return nil, false
35507}
35508
35509// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35510func (phe PartitionsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
35511	return nil, false
35512}
35513
35514// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35515func (phe PartitionsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
35516	return nil, false
35517}
35518
35519// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35520func (phe PartitionsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
35521	return nil, false
35522}
35523
35524// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35525func (phe PartitionsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
35526	return nil, false
35527}
35528
35529// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35530func (phe PartitionsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
35531	return nil, false
35532}
35533
35534// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35535func (phe PartitionsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
35536	return nil, false
35537}
35538
35539// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35540func (phe PartitionsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
35541	return nil, false
35542}
35543
35544// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
35545func (phe PartitionsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
35546	return &phe, true
35547}
35548
35549// PrimaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning
35550// in a Primary role.
35551type PrimaryReplicatorStatus struct {
35552	// ReplicationQueueStatus - Details about the replication queue on the primary replicator.
35553	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
35554	// RemoteReplicators - The status of all the active and idle secondary replicators that the primary is aware of.
35555	RemoteReplicators *[]RemoteReplicatorStatus `json:"RemoteReplicators,omitempty"`
35556	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
35557	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
35558}
35559
35560// MarshalJSON is the custom marshaler for PrimaryReplicatorStatus.
35561func (prs PrimaryReplicatorStatus) MarshalJSON() ([]byte, error) {
35562	prs.Kind = KindPrimary
35563	objectMap := make(map[string]interface{})
35564	if prs.ReplicationQueueStatus != nil {
35565		objectMap["ReplicationQueueStatus"] = prs.ReplicationQueueStatus
35566	}
35567	if prs.RemoteReplicators != nil {
35568		objectMap["RemoteReplicators"] = prs.RemoteReplicators
35569	}
35570	if prs.Kind != "" {
35571		objectMap["Kind"] = prs.Kind
35572	}
35573	return json.Marshal(objectMap)
35574}
35575
35576// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35577func (prs PrimaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
35578	return &prs, true
35579}
35580
35581// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35582func (prs PrimaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
35583	return nil, false
35584}
35585
35586// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35587func (prs PrimaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
35588	return nil, false
35589}
35590
35591// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35592func (prs PrimaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
35593	return nil, false
35594}
35595
35596// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35597func (prs PrimaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
35598	return nil, false
35599}
35600
35601// AsReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35602func (prs PrimaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
35603	return nil, false
35604}
35605
35606// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
35607func (prs PrimaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
35608	return &prs, true
35609}
35610
35611// ProcessDeactivatedEvent process Deactivated event.
35612type ProcessDeactivatedEvent struct {
35613	// ServiceName - Name of Service.
35614	ServiceName *string `json:"ServiceName,omitempty"`
35615	// ServicePackageName - Name of Service package.
35616	ServicePackageName *string `json:"ServicePackageName,omitempty"`
35617	// ServicePackageActivationID - Activation Id of Service package.
35618	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
35619	// IsExclusive - Indicates IsExclusive flag.
35620	IsExclusive *bool `json:"IsExclusive,omitempty"`
35621	// CodePackageName - Name of Code package.
35622	CodePackageName *string `json:"CodePackageName,omitempty"`
35623	// EntryPointType - Type of EntryPoint.
35624	EntryPointType *string `json:"EntryPointType,omitempty"`
35625	// ExeName - Name of executable.
35626	ExeName *string `json:"ExeName,omitempty"`
35627	// ProcessID - Process Id.
35628	ProcessID *int64 `json:"ProcessId,omitempty"`
35629	// HostID - Host Id.
35630	HostID *string `json:"HostId,omitempty"`
35631	// ExitCode - Exit code of process.
35632	ExitCode *int64 `json:"ExitCode,omitempty"`
35633	// UnexpectedTermination - Indicates if termination is unexpected.
35634	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
35635	// StartTime - Start time of process.
35636	StartTime *date.Time `json:"StartTime,omitempty"`
35637	// 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.
35638	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
35639	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
35640	ApplicationID *string `json:"ApplicationId,omitempty"`
35641	// EventInstanceID - The identifier for the FabricEvent instance.
35642	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
35643	// TimeStamp - The time event was logged.
35644	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
35645	// HasCorrelatedEvents - Shows there is existing related events available.
35646	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
35647	// 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'
35648	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
35649}
35650
35651// MarshalJSON is the custom marshaler for ProcessDeactivatedEvent.
35652func (pde ProcessDeactivatedEvent) MarshalJSON() ([]byte, error) {
35653	pde.Kind = KindProcessDeactivated
35654	objectMap := make(map[string]interface{})
35655	if pde.ServiceName != nil {
35656		objectMap["ServiceName"] = pde.ServiceName
35657	}
35658	if pde.ServicePackageName != nil {
35659		objectMap["ServicePackageName"] = pde.ServicePackageName
35660	}
35661	if pde.ServicePackageActivationID != nil {
35662		objectMap["ServicePackageActivationId"] = pde.ServicePackageActivationID
35663	}
35664	if pde.IsExclusive != nil {
35665		objectMap["IsExclusive"] = pde.IsExclusive
35666	}
35667	if pde.CodePackageName != nil {
35668		objectMap["CodePackageName"] = pde.CodePackageName
35669	}
35670	if pde.EntryPointType != nil {
35671		objectMap["EntryPointType"] = pde.EntryPointType
35672	}
35673	if pde.ExeName != nil {
35674		objectMap["ExeName"] = pde.ExeName
35675	}
35676	if pde.ProcessID != nil {
35677		objectMap["ProcessId"] = pde.ProcessID
35678	}
35679	if pde.HostID != nil {
35680		objectMap["HostId"] = pde.HostID
35681	}
35682	if pde.ExitCode != nil {
35683		objectMap["ExitCode"] = pde.ExitCode
35684	}
35685	if pde.UnexpectedTermination != nil {
35686		objectMap["UnexpectedTermination"] = pde.UnexpectedTermination
35687	}
35688	if pde.StartTime != nil {
35689		objectMap["StartTime"] = pde.StartTime
35690	}
35691	if pde.ApplicationID != nil {
35692		objectMap["ApplicationId"] = pde.ApplicationID
35693	}
35694	if pde.EventInstanceID != nil {
35695		objectMap["EventInstanceId"] = pde.EventInstanceID
35696	}
35697	if pde.TimeStamp != nil {
35698		objectMap["TimeStamp"] = pde.TimeStamp
35699	}
35700	if pde.HasCorrelatedEvents != nil {
35701		objectMap["HasCorrelatedEvents"] = pde.HasCorrelatedEvents
35702	}
35703	if pde.Kind != "" {
35704		objectMap["Kind"] = pde.Kind
35705	}
35706	return json.Marshal(objectMap)
35707}
35708
35709// AsApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35710func (pde ProcessDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
35711	return nil, false
35712}
35713
35714// AsBasicApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35715func (pde ProcessDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
35716	return &pde, true
35717}
35718
35719// AsClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35720func (pde ProcessDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
35721	return nil, false
35722}
35723
35724// AsBasicClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35725func (pde ProcessDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
35726	return nil, false
35727}
35728
35729// AsContainerInstanceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35730func (pde ProcessDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
35731	return nil, false
35732}
35733
35734// AsNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35735func (pde ProcessDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
35736	return nil, false
35737}
35738
35739// AsBasicNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35740func (pde ProcessDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
35741	return nil, false
35742}
35743
35744// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35745func (pde ProcessDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
35746	return nil, false
35747}
35748
35749// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35750func (pde ProcessDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
35751	return nil, false
35752}
35753
35754// AsPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35755func (pde ProcessDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
35756	return nil, false
35757}
35758
35759// AsBasicPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35760func (pde ProcessDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
35761	return nil, false
35762}
35763
35764// AsReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35765func (pde ProcessDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
35766	return nil, false
35767}
35768
35769// AsBasicReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35770func (pde ProcessDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
35771	return nil, false
35772}
35773
35774// AsServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35775func (pde ProcessDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
35776	return nil, false
35777}
35778
35779// AsBasicServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35780func (pde ProcessDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
35781	return nil, false
35782}
35783
35784// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35785func (pde ProcessDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
35786	return nil, false
35787}
35788
35789// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35790func (pde ProcessDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
35791	return nil, false
35792}
35793
35794// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35795func (pde ProcessDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
35796	return nil, false
35797}
35798
35799// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35800func (pde ProcessDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
35801	return nil, false
35802}
35803
35804// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35805func (pde ProcessDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
35806	return nil, false
35807}
35808
35809// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35810func (pde ProcessDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
35811	return nil, false
35812}
35813
35814// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35815func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
35816	return nil, false
35817}
35818
35819// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35820func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
35821	return nil, false
35822}
35823
35824// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35825func (pde ProcessDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
35826	return nil, false
35827}
35828
35829// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35830func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
35831	return nil, false
35832}
35833
35834// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35835func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
35836	return nil, false
35837}
35838
35839// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35840func (pde ProcessDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
35841	return &pde, true
35842}
35843
35844// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35845func (pde ProcessDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
35846	return nil, false
35847}
35848
35849// AsNodeAbortedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35850func (pde ProcessDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
35851	return nil, false
35852}
35853
35854// AsNodeAbortingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35855func (pde ProcessDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
35856	return nil, false
35857}
35858
35859// AsNodeAddedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35860func (pde ProcessDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
35861	return nil, false
35862}
35863
35864// AsNodeCloseEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35865func (pde ProcessDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
35866	return nil, false
35867}
35868
35869// AsNodeClosingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35870func (pde ProcessDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
35871	return nil, false
35872}
35873
35874// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35875func (pde ProcessDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
35876	return nil, false
35877}
35878
35879// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35880func (pde ProcessDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
35881	return nil, false
35882}
35883
35884// AsNodeDownEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35885func (pde ProcessDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
35886	return nil, false
35887}
35888
35889// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35890func (pde ProcessDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
35891	return nil, false
35892}
35893
35894// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35895func (pde ProcessDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
35896	return nil, false
35897}
35898
35899// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35900func (pde ProcessDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
35901	return nil, false
35902}
35903
35904// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35905func (pde ProcessDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
35906	return nil, false
35907}
35908
35909// AsNodeOpeningEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35910func (pde ProcessDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
35911	return nil, false
35912}
35913
35914// AsNodeRemovedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35915func (pde ProcessDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
35916	return nil, false
35917}
35918
35919// AsNodeUpEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35920func (pde ProcessDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
35921	return nil, false
35922}
35923
35924// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35925func (pde ProcessDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
35926	return nil, false
35927}
35928
35929// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35930func (pde ProcessDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
35931	return nil, false
35932}
35933
35934// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35935func (pde ProcessDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
35936	return nil, false
35937}
35938
35939// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35940func (pde ProcessDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
35941	return nil, false
35942}
35943
35944// AsServiceCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35945func (pde ProcessDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
35946	return nil, false
35947}
35948
35949// AsServiceDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35950func (pde ProcessDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
35951	return nil, false
35952}
35953
35954// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35955func (pde ProcessDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
35956	return nil, false
35957}
35958
35959// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35960func (pde ProcessDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
35961	return nil, false
35962}
35963
35964// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35965func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
35966	return nil, false
35967}
35968
35969// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35970func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
35971	return nil, false
35972}
35973
35974// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35975func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
35976	return nil, false
35977}
35978
35979// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35980func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
35981	return nil, false
35982}
35983
35984// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35985func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
35986	return nil, false
35987}
35988
35989// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35990func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
35991	return nil, false
35992}
35993
35994// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
35995func (pde ProcessDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
35996	return nil, false
35997}
35998
35999// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36000func (pde ProcessDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
36001	return nil, false
36002}
36003
36004// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36005func (pde ProcessDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
36006	return nil, false
36007}
36008
36009// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36010func (pde ProcessDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
36011	return nil, false
36012}
36013
36014// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36015func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
36016	return nil, false
36017}
36018
36019// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36020func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
36021	return nil, false
36022}
36023
36024// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36025func (pde ProcessDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
36026	return nil, false
36027}
36028
36029// AsChaosStoppedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36030func (pde ProcessDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
36031	return nil, false
36032}
36033
36034// AsChaosStartedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36035func (pde ProcessDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
36036	return nil, false
36037}
36038
36039// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36040func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
36041	return nil, false
36042}
36043
36044// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36045func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
36046	return nil, false
36047}
36048
36049// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36050func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
36051	return nil, false
36052}
36053
36054// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36055func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
36056	return nil, false
36057}
36058
36059// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36060func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
36061	return nil, false
36062}
36063
36064// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36065func (pde ProcessDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
36066	return nil, false
36067}
36068
36069// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36070func (pde ProcessDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
36071	return nil, false
36072}
36073
36074// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36075func (pde ProcessDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
36076	return nil, false
36077}
36078
36079// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36080func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
36081	return nil, false
36082}
36083
36084// AsFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36085func (pde ProcessDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
36086	return nil, false
36087}
36088
36089// AsBasicFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
36090func (pde ProcessDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
36091	return &pde, true
36092}
36093
36094// PropertyBatchDescriptionList describes a list of property batch operations to be executed. Either all or
36095// none of the operations will be committed.
36096type PropertyBatchDescriptionList struct {
36097	// Operations - A list of the property batch operations to be executed.
36098	Operations *[]BasicPropertyBatchOperation `json:"Operations,omitempty"`
36099}
36100
36101// UnmarshalJSON is the custom unmarshaler for PropertyBatchDescriptionList struct.
36102func (pbdl *PropertyBatchDescriptionList) UnmarshalJSON(body []byte) error {
36103	var m map[string]*json.RawMessage
36104	err := json.Unmarshal(body, &m)
36105	if err != nil {
36106		return err
36107	}
36108	for k, v := range m {
36109		switch k {
36110		case "Operations":
36111			if v != nil {
36112				operations, err := unmarshalBasicPropertyBatchOperationArray(*v)
36113				if err != nil {
36114					return err
36115				}
36116				pbdl.Operations = &operations
36117			}
36118		}
36119	}
36120
36121	return nil
36122}
36123
36124// BasicPropertyBatchInfo information about the results of a property batch.
36125type BasicPropertyBatchInfo interface {
36126	AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool)
36127	AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool)
36128	AsPropertyBatchInfo() (*PropertyBatchInfo, bool)
36129}
36130
36131// PropertyBatchInfo information about the results of a property batch.
36132type PropertyBatchInfo struct {
36133	autorest.Response `json:"-"`
36134	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
36135	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
36136}
36137
36138func unmarshalBasicPropertyBatchInfo(body []byte) (BasicPropertyBatchInfo, error) {
36139	var m map[string]interface{}
36140	err := json.Unmarshal(body, &m)
36141	if err != nil {
36142		return nil, err
36143	}
36144
36145	switch m["Kind"] {
36146	case string(KindSuccessful):
36147		var spbi SuccessfulPropertyBatchInfo
36148		err := json.Unmarshal(body, &spbi)
36149		return spbi, err
36150	case string(KindFailed):
36151		var fpbi FailedPropertyBatchInfo
36152		err := json.Unmarshal(body, &fpbi)
36153		return fpbi, err
36154	default:
36155		var pbi PropertyBatchInfo
36156		err := json.Unmarshal(body, &pbi)
36157		return pbi, err
36158	}
36159}
36160func unmarshalBasicPropertyBatchInfoArray(body []byte) ([]BasicPropertyBatchInfo, error) {
36161	var rawMessages []*json.RawMessage
36162	err := json.Unmarshal(body, &rawMessages)
36163	if err != nil {
36164		return nil, err
36165	}
36166
36167	pbiArray := make([]BasicPropertyBatchInfo, len(rawMessages))
36168
36169	for index, rawMessage := range rawMessages {
36170		pbi, err := unmarshalBasicPropertyBatchInfo(*rawMessage)
36171		if err != nil {
36172			return nil, err
36173		}
36174		pbiArray[index] = pbi
36175	}
36176	return pbiArray, nil
36177}
36178
36179// MarshalJSON is the custom marshaler for PropertyBatchInfo.
36180func (pbi PropertyBatchInfo) MarshalJSON() ([]byte, error) {
36181	pbi.Kind = KindPropertyBatchInfo
36182	objectMap := make(map[string]interface{})
36183	if pbi.Kind != "" {
36184		objectMap["Kind"] = pbi.Kind
36185	}
36186	return json.Marshal(objectMap)
36187}
36188
36189// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36190func (pbi PropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
36191	return nil, false
36192}
36193
36194// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36195func (pbi PropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
36196	return nil, false
36197}
36198
36199// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36200func (pbi PropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
36201	return &pbi, true
36202}
36203
36204// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
36205func (pbi PropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
36206	return &pbi, true
36207}
36208
36209// PropertyBatchInfoModel ...
36210type PropertyBatchInfoModel struct {
36211	autorest.Response `json:"-"`
36212	Value             BasicPropertyBatchInfo `json:"value,omitempty"`
36213}
36214
36215// UnmarshalJSON is the custom unmarshaler for PropertyBatchInfoModel struct.
36216func (pbim *PropertyBatchInfoModel) UnmarshalJSON(body []byte) error {
36217	pbi, err := unmarshalBasicPropertyBatchInfo(body)
36218	if err != nil {
36219		return err
36220	}
36221	pbim.Value = pbi
36222
36223	return nil
36224}
36225
36226// BasicPropertyBatchOperation represents the base type for property operations that can be put into a batch and
36227// submitted.
36228type BasicPropertyBatchOperation interface {
36229	AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool)
36230	AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool)
36231	AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool)
36232	AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool)
36233	AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool)
36234	AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool)
36235	AsPropertyBatchOperation() (*PropertyBatchOperation, bool)
36236}
36237
36238// PropertyBatchOperation represents the base type for property operations that can be put into a batch and
36239// submitted.
36240type PropertyBatchOperation struct {
36241	// PropertyName - The name of the Service Fabric property.
36242	PropertyName *string `json:"PropertyName,omitempty"`
36243	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
36244	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
36245}
36246
36247func unmarshalBasicPropertyBatchOperation(body []byte) (BasicPropertyBatchOperation, error) {
36248	var m map[string]interface{}
36249	err := json.Unmarshal(body, &m)
36250	if err != nil {
36251		return nil, err
36252	}
36253
36254	switch m["Kind"] {
36255	case string(KindCheckExists):
36256		var cepbo CheckExistsPropertyBatchOperation
36257		err := json.Unmarshal(body, &cepbo)
36258		return cepbo, err
36259	case string(KindCheckSequence):
36260		var cspbo CheckSequencePropertyBatchOperation
36261		err := json.Unmarshal(body, &cspbo)
36262		return cspbo, err
36263	case string(KindCheckValue):
36264		var cvpbo CheckValuePropertyBatchOperation
36265		err := json.Unmarshal(body, &cvpbo)
36266		return cvpbo, err
36267	case string(KindDelete):
36268		var dpbo DeletePropertyBatchOperation
36269		err := json.Unmarshal(body, &dpbo)
36270		return dpbo, err
36271	case string(KindGet):
36272		var gpbo GetPropertyBatchOperation
36273		err := json.Unmarshal(body, &gpbo)
36274		return gpbo, err
36275	case string(KindPut):
36276		var ppbo PutPropertyBatchOperation
36277		err := json.Unmarshal(body, &ppbo)
36278		return ppbo, err
36279	default:
36280		var pbo PropertyBatchOperation
36281		err := json.Unmarshal(body, &pbo)
36282		return pbo, err
36283	}
36284}
36285func unmarshalBasicPropertyBatchOperationArray(body []byte) ([]BasicPropertyBatchOperation, error) {
36286	var rawMessages []*json.RawMessage
36287	err := json.Unmarshal(body, &rawMessages)
36288	if err != nil {
36289		return nil, err
36290	}
36291
36292	pboArray := make([]BasicPropertyBatchOperation, len(rawMessages))
36293
36294	for index, rawMessage := range rawMessages {
36295		pbo, err := unmarshalBasicPropertyBatchOperation(*rawMessage)
36296		if err != nil {
36297			return nil, err
36298		}
36299		pboArray[index] = pbo
36300	}
36301	return pboArray, nil
36302}
36303
36304// MarshalJSON is the custom marshaler for PropertyBatchOperation.
36305func (pbo PropertyBatchOperation) MarshalJSON() ([]byte, error) {
36306	pbo.Kind = KindPropertyBatchOperation
36307	objectMap := make(map[string]interface{})
36308	if pbo.PropertyName != nil {
36309		objectMap["PropertyName"] = pbo.PropertyName
36310	}
36311	if pbo.Kind != "" {
36312		objectMap["Kind"] = pbo.Kind
36313	}
36314	return json.Marshal(objectMap)
36315}
36316
36317// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36318func (pbo PropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
36319	return nil, false
36320}
36321
36322// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36323func (pbo PropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
36324	return nil, false
36325}
36326
36327// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36328func (pbo PropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
36329	return nil, false
36330}
36331
36332// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36333func (pbo PropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
36334	return nil, false
36335}
36336
36337// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36338func (pbo PropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
36339	return nil, false
36340}
36341
36342// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36343func (pbo PropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
36344	return nil, false
36345}
36346
36347// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36348func (pbo PropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
36349	return &pbo, true
36350}
36351
36352// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
36353func (pbo PropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
36354	return &pbo, true
36355}
36356
36357// PropertyDescription description of a Service Fabric property.
36358type PropertyDescription struct {
36359	// PropertyName - The name of the Service Fabric property.
36360	PropertyName *string `json:"PropertyName,omitempty"`
36361	// CustomTypeID - The property's custom type id. Using this property, the user is able to tag the type of the value of the property.
36362	CustomTypeID *string `json:"CustomTypeId,omitempty"`
36363	// Value - Describes a Service Fabric property value.
36364	Value BasicPropertyValue `json:"Value,omitempty"`
36365}
36366
36367// UnmarshalJSON is the custom unmarshaler for PropertyDescription struct.
36368func (pd *PropertyDescription) UnmarshalJSON(body []byte) error {
36369	var m map[string]*json.RawMessage
36370	err := json.Unmarshal(body, &m)
36371	if err != nil {
36372		return err
36373	}
36374	for k, v := range m {
36375		switch k {
36376		case "PropertyName":
36377			if v != nil {
36378				var propertyName string
36379				err = json.Unmarshal(*v, &propertyName)
36380				if err != nil {
36381					return err
36382				}
36383				pd.PropertyName = &propertyName
36384			}
36385		case "CustomTypeId":
36386			if v != nil {
36387				var customTypeID string
36388				err = json.Unmarshal(*v, &customTypeID)
36389				if err != nil {
36390					return err
36391				}
36392				pd.CustomTypeID = &customTypeID
36393			}
36394		case "Value":
36395			if v != nil {
36396				value, err := unmarshalBasicPropertyValue(*v)
36397				if err != nil {
36398					return err
36399				}
36400				pd.Value = value
36401			}
36402		}
36403	}
36404
36405	return nil
36406}
36407
36408// PropertyInfo information about a Service Fabric property.
36409type PropertyInfo struct {
36410	autorest.Response `json:"-"`
36411	// Name - The name of the Service Fabric property.
36412	Name *string `json:"Name,omitempty"`
36413	// Value - Describes a Service Fabric property value.
36414	Value BasicPropertyValue `json:"Value,omitempty"`
36415	// Metadata - The metadata associated with a property, including the property's name.
36416	Metadata *PropertyMetadata `json:"Metadata,omitempty"`
36417}
36418
36419// UnmarshalJSON is the custom unmarshaler for PropertyInfo struct.
36420func (pi *PropertyInfo) UnmarshalJSON(body []byte) error {
36421	var m map[string]*json.RawMessage
36422	err := json.Unmarshal(body, &m)
36423	if err != nil {
36424		return err
36425	}
36426	for k, v := range m {
36427		switch k {
36428		case "Name":
36429			if v != nil {
36430				var name string
36431				err = json.Unmarshal(*v, &name)
36432				if err != nil {
36433					return err
36434				}
36435				pi.Name = &name
36436			}
36437		case "Value":
36438			if v != nil {
36439				value, err := unmarshalBasicPropertyValue(*v)
36440				if err != nil {
36441					return err
36442				}
36443				pi.Value = value
36444			}
36445		case "Metadata":
36446			if v != nil {
36447				var metadata PropertyMetadata
36448				err = json.Unmarshal(*v, &metadata)
36449				if err != nil {
36450					return err
36451				}
36452				pi.Metadata = &metadata
36453			}
36454		}
36455	}
36456
36457	return nil
36458}
36459
36460// PropertyMetadata the metadata associated with a property, including the property's name.
36461type PropertyMetadata struct {
36462	// 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'
36463	TypeID PropertyValueKind `json:"TypeId,omitempty"`
36464	// CustomTypeID - The property's custom type id.
36465	CustomTypeID *string `json:"CustomTypeId,omitempty"`
36466	// Parent - The name of the parent Service Fabric Name for the property. It could be thought of as the namespace/table under which the property exists.
36467	Parent *string `json:"Parent,omitempty"`
36468	// SizeInBytes - The length of the serialized property value.
36469	SizeInBytes *int32 `json:"SizeInBytes,omitempty"`
36470	// LastModifiedUtcTimestamp - Represents when the Property was last modified. Only write operations will cause this field to be updated.
36471	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
36472	// SequenceNumber - The version of the property. Every time a property is modified, its sequence number is increased.
36473	SequenceNumber *string `json:"SequenceNumber,omitempty"`
36474}
36475
36476// BasicPropertyValue describes a Service Fabric property value.
36477type BasicPropertyValue interface {
36478	AsBinaryPropertyValue() (*BinaryPropertyValue, bool)
36479	AsInt64PropertyValue() (*Int64PropertyValue, bool)
36480	AsDoublePropertyValue() (*DoublePropertyValue, bool)
36481	AsStringPropertyValue() (*StringPropertyValue, bool)
36482	AsGUIDPropertyValue() (*GUIDPropertyValue, bool)
36483	AsPropertyValue() (*PropertyValue, bool)
36484}
36485
36486// PropertyValue describes a Service Fabric property value.
36487type PropertyValue struct {
36488	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
36489	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
36490}
36491
36492func unmarshalBasicPropertyValue(body []byte) (BasicPropertyValue, error) {
36493	var m map[string]interface{}
36494	err := json.Unmarshal(body, &m)
36495	if err != nil {
36496		return nil, err
36497	}
36498
36499	switch m["Kind"] {
36500	case string(KindBinary):
36501		var bpv BinaryPropertyValue
36502		err := json.Unmarshal(body, &bpv)
36503		return bpv, err
36504	case string(KindInt64):
36505		var i6pv Int64PropertyValue
36506		err := json.Unmarshal(body, &i6pv)
36507		return i6pv, err
36508	case string(KindDouble):
36509		var dpv DoublePropertyValue
36510		err := json.Unmarshal(body, &dpv)
36511		return dpv, err
36512	case string(KindString):
36513		var spv StringPropertyValue
36514		err := json.Unmarshal(body, &spv)
36515		return spv, err
36516	case string(KindGUID):
36517		var gpv GUIDPropertyValue
36518		err := json.Unmarshal(body, &gpv)
36519		return gpv, err
36520	default:
36521		var pv PropertyValue
36522		err := json.Unmarshal(body, &pv)
36523		return pv, err
36524	}
36525}
36526func unmarshalBasicPropertyValueArray(body []byte) ([]BasicPropertyValue, error) {
36527	var rawMessages []*json.RawMessage
36528	err := json.Unmarshal(body, &rawMessages)
36529	if err != nil {
36530		return nil, err
36531	}
36532
36533	pvArray := make([]BasicPropertyValue, len(rawMessages))
36534
36535	for index, rawMessage := range rawMessages {
36536		pv, err := unmarshalBasicPropertyValue(*rawMessage)
36537		if err != nil {
36538			return nil, err
36539		}
36540		pvArray[index] = pv
36541	}
36542	return pvArray, nil
36543}
36544
36545// MarshalJSON is the custom marshaler for PropertyValue.
36546func (pv PropertyValue) MarshalJSON() ([]byte, error) {
36547	pv.Kind = KindPropertyValue
36548	objectMap := make(map[string]interface{})
36549	if pv.Kind != "" {
36550		objectMap["Kind"] = pv.Kind
36551	}
36552	return json.Marshal(objectMap)
36553}
36554
36555// AsBinaryPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36556func (pv PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
36557	return nil, false
36558}
36559
36560// AsInt64PropertyValue is the BasicPropertyValue implementation for PropertyValue.
36561func (pv PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
36562	return nil, false
36563}
36564
36565// AsDoublePropertyValue is the BasicPropertyValue implementation for PropertyValue.
36566func (pv PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
36567	return nil, false
36568}
36569
36570// AsStringPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36571func (pv PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
36572	return nil, false
36573}
36574
36575// AsGUIDPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36576func (pv PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
36577	return nil, false
36578}
36579
36580// AsPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36581func (pv PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
36582	return &pv, true
36583}
36584
36585// AsBasicPropertyValue is the BasicPropertyValue implementation for PropertyValue.
36586func (pv PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
36587	return &pv, true
36588}
36589
36590// ProvisionApplicationTypeDescription describes the operation to register or provision an application type
36591// using an application package uploaded to the Service Fabric image store.
36592type ProvisionApplicationTypeDescription struct {
36593	// ApplicationTypeBuildPath - The relative path for the application package in the image store specified during the prior upload operation.
36594	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
36595	// 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'
36596	ApplicationPackageCleanupPolicy ApplicationPackageCleanupPolicy `json:"ApplicationPackageCleanupPolicy,omitempty"`
36597	// 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.
36598	Async *bool `json:"Async,omitempty"`
36599	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
36600	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
36601}
36602
36603// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescription.
36604func (patd ProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
36605	patd.Kind = KindImageStorePath
36606	objectMap := make(map[string]interface{})
36607	if patd.ApplicationTypeBuildPath != nil {
36608		objectMap["ApplicationTypeBuildPath"] = patd.ApplicationTypeBuildPath
36609	}
36610	if patd.ApplicationPackageCleanupPolicy != "" {
36611		objectMap["ApplicationPackageCleanupPolicy"] = patd.ApplicationPackageCleanupPolicy
36612	}
36613	if patd.Async != nil {
36614		objectMap["Async"] = patd.Async
36615	}
36616	if patd.Kind != "" {
36617		objectMap["Kind"] = patd.Kind
36618	}
36619	return json.Marshal(objectMap)
36620}
36621
36622// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
36623func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
36624	return &patd, true
36625}
36626
36627// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
36628func (patd ProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
36629	return nil, false
36630}
36631
36632// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
36633func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
36634	return nil, false
36635}
36636
36637// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
36638func (patd ProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
36639	return &patd, true
36640}
36641
36642// BasicProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if the
36643// operation needs to be asynchronous or not. Supported types of provision operations are from either image store or
36644// external store.
36645type BasicProvisionApplicationTypeDescriptionBase interface {
36646	AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool)
36647	AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool)
36648	AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool)
36649}
36650
36651// ProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if
36652// the operation needs to be asynchronous or not. Supported types of provision operations are from either image
36653// store or external store.
36654type ProvisionApplicationTypeDescriptionBase struct {
36655	// 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.
36656	Async *bool `json:"Async,omitempty"`
36657	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
36658	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
36659}
36660
36661func unmarshalBasicProvisionApplicationTypeDescriptionBase(body []byte) (BasicProvisionApplicationTypeDescriptionBase, error) {
36662	var m map[string]interface{}
36663	err := json.Unmarshal(body, &m)
36664	if err != nil {
36665		return nil, err
36666	}
36667
36668	switch m["Kind"] {
36669	case string(KindImageStorePath):
36670		var patd ProvisionApplicationTypeDescription
36671		err := json.Unmarshal(body, &patd)
36672		return patd, err
36673	case string(KindExternalStore):
36674		var espatd ExternalStoreProvisionApplicationTypeDescription
36675		err := json.Unmarshal(body, &espatd)
36676		return espatd, err
36677	default:
36678		var patdb ProvisionApplicationTypeDescriptionBase
36679		err := json.Unmarshal(body, &patdb)
36680		return patdb, err
36681	}
36682}
36683func unmarshalBasicProvisionApplicationTypeDescriptionBaseArray(body []byte) ([]BasicProvisionApplicationTypeDescriptionBase, error) {
36684	var rawMessages []*json.RawMessage
36685	err := json.Unmarshal(body, &rawMessages)
36686	if err != nil {
36687		return nil, err
36688	}
36689
36690	patdbArray := make([]BasicProvisionApplicationTypeDescriptionBase, len(rawMessages))
36691
36692	for index, rawMessage := range rawMessages {
36693		patdb, err := unmarshalBasicProvisionApplicationTypeDescriptionBase(*rawMessage)
36694		if err != nil {
36695			return nil, err
36696		}
36697		patdbArray[index] = patdb
36698	}
36699	return patdbArray, nil
36700}
36701
36702// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescriptionBase.
36703func (patdb ProvisionApplicationTypeDescriptionBase) MarshalJSON() ([]byte, error) {
36704	patdb.Kind = KindProvisionApplicationTypeDescriptionBase
36705	objectMap := make(map[string]interface{})
36706	if patdb.Async != nil {
36707		objectMap["Async"] = patdb.Async
36708	}
36709	if patdb.Kind != "" {
36710		objectMap["Kind"] = patdb.Kind
36711	}
36712	return json.Marshal(objectMap)
36713}
36714
36715// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
36716func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
36717	return nil, false
36718}
36719
36720// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
36721func (patdb ProvisionApplicationTypeDescriptionBase) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
36722	return nil, false
36723}
36724
36725// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
36726func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
36727	return &patdb, true
36728}
36729
36730// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
36731func (patdb ProvisionApplicationTypeDescriptionBase) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
36732	return &patdb, true
36733}
36734
36735// ProvisionFabricDescription describes the parameters for provisioning a cluster.
36736type ProvisionFabricDescription struct {
36737	// CodeFilePath - The cluster code package file path.
36738	CodeFilePath *string `json:"CodeFilePath,omitempty"`
36739	// ClusterManifestFilePath - The cluster manifest file path.
36740	ClusterManifestFilePath *string `json:"ClusterManifestFilePath,omitempty"`
36741}
36742
36743// PutPropertyBatchOperation puts the specified property under the specified name.
36744// Note that if one PropertyBatchOperation in a PropertyBatch fails,
36745// the entire batch fails and cannot be committed in a transactional manner.
36746type PutPropertyBatchOperation struct {
36747	// Value - Describes a Service Fabric property value.
36748	Value BasicPropertyValue `json:"Value,omitempty"`
36749	// CustomTypeID - The property's custom type id. Using this property, the user is able to tag the type of the value of the property.
36750	CustomTypeID *string `json:"CustomTypeId,omitempty"`
36751	// PropertyName - The name of the Service Fabric property.
36752	PropertyName *string `json:"PropertyName,omitempty"`
36753	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
36754	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
36755}
36756
36757// MarshalJSON is the custom marshaler for PutPropertyBatchOperation.
36758func (ppbo PutPropertyBatchOperation) MarshalJSON() ([]byte, error) {
36759	ppbo.Kind = KindPut
36760	objectMap := make(map[string]interface{})
36761	objectMap["Value"] = ppbo.Value
36762	if ppbo.CustomTypeID != nil {
36763		objectMap["CustomTypeId"] = ppbo.CustomTypeID
36764	}
36765	if ppbo.PropertyName != nil {
36766		objectMap["PropertyName"] = ppbo.PropertyName
36767	}
36768	if ppbo.Kind != "" {
36769		objectMap["Kind"] = ppbo.Kind
36770	}
36771	return json.Marshal(objectMap)
36772}
36773
36774// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36775func (ppbo PutPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
36776	return nil, false
36777}
36778
36779// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36780func (ppbo PutPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
36781	return nil, false
36782}
36783
36784// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36785func (ppbo PutPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
36786	return nil, false
36787}
36788
36789// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36790func (ppbo PutPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
36791	return nil, false
36792}
36793
36794// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36795func (ppbo PutPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
36796	return nil, false
36797}
36798
36799// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36800func (ppbo PutPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
36801	return &ppbo, true
36802}
36803
36804// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36805func (ppbo PutPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
36806	return nil, false
36807}
36808
36809// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
36810func (ppbo PutPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
36811	return &ppbo, true
36812}
36813
36814// UnmarshalJSON is the custom unmarshaler for PutPropertyBatchOperation struct.
36815func (ppbo *PutPropertyBatchOperation) UnmarshalJSON(body []byte) error {
36816	var m map[string]*json.RawMessage
36817	err := json.Unmarshal(body, &m)
36818	if err != nil {
36819		return err
36820	}
36821	for k, v := range m {
36822		switch k {
36823		case "Value":
36824			if v != nil {
36825				value, err := unmarshalBasicPropertyValue(*v)
36826				if err != nil {
36827					return err
36828				}
36829				ppbo.Value = value
36830			}
36831		case "CustomTypeId":
36832			if v != nil {
36833				var customTypeID string
36834				err = json.Unmarshal(*v, &customTypeID)
36835				if err != nil {
36836					return err
36837				}
36838				ppbo.CustomTypeID = &customTypeID
36839			}
36840		case "PropertyName":
36841			if v != nil {
36842				var propertyName string
36843				err = json.Unmarshal(*v, &propertyName)
36844				if err != nil {
36845					return err
36846				}
36847				ppbo.PropertyName = &propertyName
36848			}
36849		case "Kind":
36850			if v != nil {
36851				var kind KindBasicPropertyBatchOperation
36852				err = json.Unmarshal(*v, &kind)
36853				if err != nil {
36854					return err
36855				}
36856				ppbo.Kind = kind
36857			}
36858		}
36859	}
36860
36861	return nil
36862}
36863
36864// ReconfigurationInformation information about current reconfiguration like phase, type, previous
36865// configuration role of replica and reconfiguration start date time.
36866type ReconfigurationInformation struct {
36867	// PreviousConfigurationRole - Replica role before reconfiguration started. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
36868	PreviousConfigurationRole ReplicaRole `json:"PreviousConfigurationRole,omitempty"`
36869	// 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'
36870	ReconfigurationPhase ReconfigurationPhase `json:"ReconfigurationPhase,omitempty"`
36871	// 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'
36872	ReconfigurationType ReconfigurationType `json:"ReconfigurationType,omitempty"`
36873	// ReconfigurationStartTimeUtc - Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time.
36874	ReconfigurationStartTimeUtc *date.Time `json:"ReconfigurationStartTimeUtc,omitempty"`
36875}
36876
36877// RegistryCredential credential information to connect to container registry.
36878type RegistryCredential struct {
36879	// RegistryUserName - The user name to connect to container registry.
36880	RegistryUserName *string `json:"RegistryUserName,omitempty"`
36881	// RegistryPassword - The password for supplied username to connect to container registry.
36882	RegistryPassword *string `json:"RegistryPassword,omitempty"`
36883	// PasswordEncrypted - Indicates that supplied container registry password is encrypted.
36884	PasswordEncrypted *bool `json:"PasswordEncrypted,omitempty"`
36885}
36886
36887// RemoteReplicatorAcknowledgementDetail provides various statistics of the acknowledgements that are being
36888// received from the remote replicator.
36889type RemoteReplicatorAcknowledgementDetail struct {
36890	// AverageReceiveDuration - Represents the average duration it takes for the remote replicator to receive an operation.
36891	AverageReceiveDuration *string `json:"AverageReceiveDuration,omitempty"`
36892	// AverageApplyDuration - Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk.
36893	AverageApplyDuration *string `json:"AverageApplyDuration,omitempty"`
36894	// NotReceivedCount - Represents the number of operations not yet received by a remote replicator.
36895	NotReceivedCount *string `json:"NotReceivedCount,omitempty"`
36896	// ReceivedAndNotAppliedCount - Represents the number of operations received and not yet applied by a remote replicator.
36897	ReceivedAndNotAppliedCount *string `json:"ReceivedAndNotAppliedCount,omitempty"`
36898}
36899
36900// RemoteReplicatorAcknowledgementStatus provides details about the remote replicators from the primary
36901// replicator's point of view.
36902type RemoteReplicatorAcknowledgementStatus struct {
36903	// ReplicationStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the replication stream data.
36904	ReplicationStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"ReplicationStreamAcknowledgementDetail,omitempty"`
36905	// CopyStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the copy stream data.
36906	CopyStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"CopyStreamAcknowledgementDetail,omitempty"`
36907}
36908
36909// RemoteReplicatorStatus represents the state of the secondary replicator from the primary replicator’s
36910// point of view.
36911type RemoteReplicatorStatus struct {
36912	// ReplicaID - Represents the replica ID of the remote secondary replicator.
36913	ReplicaID *string `json:"ReplicaId,omitempty"`
36914	// LastAcknowledgementProcessedTimeUtc - The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.
36915	// UTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed.
36916	LastAcknowledgementProcessedTimeUtc *date.Time `json:"LastAcknowledgementProcessedTimeUtc,omitempty"`
36917	// LastReceivedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has received from the primary.
36918	LastReceivedReplicationSequenceNumber *string `json:"LastReceivedReplicationSequenceNumber,omitempty"`
36919	// LastAppliedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has applied to its state.
36920	LastAppliedReplicationSequenceNumber *string `json:"LastAppliedReplicationSequenceNumber,omitempty"`
36921	// IsInBuild - A value that indicates whether the secondary replica is in the process of being built.
36922	IsInBuild *bool `json:"IsInBuild,omitempty"`
36923	// LastReceivedCopySequenceNumber - The highest copy operation sequence number that the secondary has received from the primary.
36924	// A value of -1 implies that the secondary has received all copy operations.
36925	LastReceivedCopySequenceNumber *string `json:"LastReceivedCopySequenceNumber,omitempty"`
36926	// LastAppliedCopySequenceNumber - The highest copy operation sequence number that the secondary has applied to its state.
36927	// A value of -1 implies that the secondary has applied all copy operations and the copy process is complete.
36928	LastAppliedCopySequenceNumber *string `json:"LastAppliedCopySequenceNumber,omitempty"`
36929	// RemoteReplicatorAcknowledgementStatus - Represents the acknowledgment status for the remote secondary replicator.
36930	RemoteReplicatorAcknowledgementStatus *RemoteReplicatorAcknowledgementStatus `json:"RemoteReplicatorAcknowledgementStatus,omitempty"`
36931}
36932
36933// BasicRepairImpactDescriptionBase describes the expected impact of executing a repair task.
36934//
36935// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
36936type BasicRepairImpactDescriptionBase interface {
36937	AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool)
36938	AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool)
36939}
36940
36941// RepairImpactDescriptionBase describes the expected impact of executing a repair task.
36942//
36943// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
36944type RepairImpactDescriptionBase struct {
36945	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
36946	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
36947}
36948
36949func unmarshalBasicRepairImpactDescriptionBase(body []byte) (BasicRepairImpactDescriptionBase, error) {
36950	var m map[string]interface{}
36951	err := json.Unmarshal(body, &m)
36952	if err != nil {
36953		return nil, err
36954	}
36955
36956	switch m["Kind"] {
36957	case string(KindBasicRepairImpactDescriptionBaseKindNode):
36958		var nrid NodeRepairImpactDescription
36959		err := json.Unmarshal(body, &nrid)
36960		return nrid, err
36961	default:
36962		var ridb RepairImpactDescriptionBase
36963		err := json.Unmarshal(body, &ridb)
36964		return ridb, err
36965	}
36966}
36967func unmarshalBasicRepairImpactDescriptionBaseArray(body []byte) ([]BasicRepairImpactDescriptionBase, error) {
36968	var rawMessages []*json.RawMessage
36969	err := json.Unmarshal(body, &rawMessages)
36970	if err != nil {
36971		return nil, err
36972	}
36973
36974	ridbArray := make([]BasicRepairImpactDescriptionBase, len(rawMessages))
36975
36976	for index, rawMessage := range rawMessages {
36977		ridb, err := unmarshalBasicRepairImpactDescriptionBase(*rawMessage)
36978		if err != nil {
36979			return nil, err
36980		}
36981		ridbArray[index] = ridb
36982	}
36983	return ridbArray, nil
36984}
36985
36986// MarshalJSON is the custom marshaler for RepairImpactDescriptionBase.
36987func (ridb RepairImpactDescriptionBase) MarshalJSON() ([]byte, error) {
36988	ridb.Kind = KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase
36989	objectMap := make(map[string]interface{})
36990	if ridb.Kind != "" {
36991		objectMap["Kind"] = ridb.Kind
36992	}
36993	return json.Marshal(objectMap)
36994}
36995
36996// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
36997func (ridb RepairImpactDescriptionBase) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
36998	return nil, false
36999}
37000
37001// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
37002func (ridb RepairImpactDescriptionBase) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
37003	return &ridb, true
37004}
37005
37006// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
37007func (ridb RepairImpactDescriptionBase) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
37008	return &ridb, true
37009}
37010
37011// BasicRepairTargetDescriptionBase describes the entities targeted by a repair action.
37012//
37013// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37014type BasicRepairTargetDescriptionBase interface {
37015	AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool)
37016	AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool)
37017}
37018
37019// RepairTargetDescriptionBase describes the entities targeted by a repair action.
37020//
37021// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37022type RepairTargetDescriptionBase struct {
37023	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
37024	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
37025}
37026
37027func unmarshalBasicRepairTargetDescriptionBase(body []byte) (BasicRepairTargetDescriptionBase, error) {
37028	var m map[string]interface{}
37029	err := json.Unmarshal(body, &m)
37030	if err != nil {
37031		return nil, err
37032	}
37033
37034	switch m["Kind"] {
37035	case string(KindBasicRepairTargetDescriptionBaseKindNode):
37036		var nrtd NodeRepairTargetDescription
37037		err := json.Unmarshal(body, &nrtd)
37038		return nrtd, err
37039	default:
37040		var rtdb RepairTargetDescriptionBase
37041		err := json.Unmarshal(body, &rtdb)
37042		return rtdb, err
37043	}
37044}
37045func unmarshalBasicRepairTargetDescriptionBaseArray(body []byte) ([]BasicRepairTargetDescriptionBase, error) {
37046	var rawMessages []*json.RawMessage
37047	err := json.Unmarshal(body, &rawMessages)
37048	if err != nil {
37049		return nil, err
37050	}
37051
37052	rtdbArray := make([]BasicRepairTargetDescriptionBase, len(rawMessages))
37053
37054	for index, rawMessage := range rawMessages {
37055		rtdb, err := unmarshalBasicRepairTargetDescriptionBase(*rawMessage)
37056		if err != nil {
37057			return nil, err
37058		}
37059		rtdbArray[index] = rtdb
37060	}
37061	return rtdbArray, nil
37062}
37063
37064// MarshalJSON is the custom marshaler for RepairTargetDescriptionBase.
37065func (rtdb RepairTargetDescriptionBase) MarshalJSON() ([]byte, error) {
37066	rtdb.Kind = KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase
37067	objectMap := make(map[string]interface{})
37068	if rtdb.Kind != "" {
37069		objectMap["Kind"] = rtdb.Kind
37070	}
37071	return json.Marshal(objectMap)
37072}
37073
37074// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
37075func (rtdb RepairTargetDescriptionBase) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
37076	return nil, false
37077}
37078
37079// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
37080func (rtdb RepairTargetDescriptionBase) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
37081	return &rtdb, true
37082}
37083
37084// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
37085func (rtdb RepairTargetDescriptionBase) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
37086	return &rtdb, true
37087}
37088
37089// RepairTask represents a repair task, which includes information about what kind of repair was requested,
37090// what its progress is, and what its final result was.
37091//
37092// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37093type RepairTask struct {
37094	// TaskID - The ID of the repair task.
37095	TaskID *string `json:"TaskId,omitempty"`
37096	// Version - The version of the repair task.
37097	// When creating a new repair task, the version must be set to zero.  When updating a repair task,
37098	// the version is used for optimistic concurrency checks.  If the version is
37099	// set to zero, the update will not check for write conflicts.  If the version is set to a non-zero value, then the
37100	// update will only succeed if the actual current version of the repair task matches this value.
37101	Version *string `json:"Version,omitempty"`
37102	// Description - A description of the purpose of the repair task, or other informational details.
37103	// May be set when the repair task is created, and is immutable once set.
37104	Description *string `json:"Description,omitempty"`
37105	// 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'
37106	State State `json:"State,omitempty"`
37107	// Flags - A bitwise-OR of the following values, which gives additional details about the status of the repair task.
37108	// - 1 - Cancellation of the repair has been requested
37109	// - 2 - Abort of the repair has been requested
37110	// - 4 - Approval of the repair was forced via client request
37111	Flags *int32 `json:"Flags,omitempty"`
37112	// Action - The requested repair action. Must be specified when the repair task is created, and is immutable once set.
37113	Action *string `json:"Action,omitempty"`
37114	// 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.
37115	// May be set when the repair task is created, and is immutable once set.
37116	Target BasicRepairTargetDescriptionBase `json:"Target,omitempty"`
37117	// Executor - The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set.
37118	Executor *string `json:"Executor,omitempty"`
37119	// ExecutorData - A data string that the repair executor can use to store its internal state.
37120	ExecutorData *string `json:"ExecutorData,omitempty"`
37121	// 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.
37122	// Impact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set.
37123	Impact BasicRepairImpactDescriptionBase `json:"Impact,omitempty"`
37124	// 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'
37125	ResultStatus ResultStatus `json:"ResultStatus,omitempty"`
37126	// ResultCode - A numeric value providing additional details about the result of the repair task execution.
37127	// May be specified in the Restoring and later states, and is immutable once set.
37128	ResultCode *int32 `json:"ResultCode,omitempty"`
37129	// ResultDetails - A string providing additional details about the result of the repair task execution.
37130	// May be specified in the Restoring and later states, and is immutable once set.
37131	ResultDetails *string `json:"ResultDetails,omitempty"`
37132	// History - An object that contains timestamps of the repair task's state transitions.
37133	// These timestamps are updated by the system, and cannot be directly modified.
37134	History *RepairTaskHistory `json:"History,omitempty"`
37135	// 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'
37136	PreparingHealthCheckState RepairTaskHealthCheckState `json:"PreparingHealthCheckState,omitempty"`
37137	// 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'
37138	RestoringHealthCheckState RepairTaskHealthCheckState `json:"RestoringHealthCheckState,omitempty"`
37139	// PerformPreparingHealthCheck - A value to determine if health checks will be performed when the repair task enters the Preparing state.
37140	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
37141	// PerformRestoringHealthCheck - A value to determine if health checks will be performed when the repair task enters the Restoring state.
37142	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
37143}
37144
37145// UnmarshalJSON is the custom unmarshaler for RepairTask struct.
37146func (rt *RepairTask) UnmarshalJSON(body []byte) error {
37147	var m map[string]*json.RawMessage
37148	err := json.Unmarshal(body, &m)
37149	if err != nil {
37150		return err
37151	}
37152	for k, v := range m {
37153		switch k {
37154		case "TaskId":
37155			if v != nil {
37156				var taskID string
37157				err = json.Unmarshal(*v, &taskID)
37158				if err != nil {
37159					return err
37160				}
37161				rt.TaskID = &taskID
37162			}
37163		case "Version":
37164			if v != nil {
37165				var version string
37166				err = json.Unmarshal(*v, &version)
37167				if err != nil {
37168					return err
37169				}
37170				rt.Version = &version
37171			}
37172		case "Description":
37173			if v != nil {
37174				var description string
37175				err = json.Unmarshal(*v, &description)
37176				if err != nil {
37177					return err
37178				}
37179				rt.Description = &description
37180			}
37181		case "State":
37182			if v != nil {
37183				var state State
37184				err = json.Unmarshal(*v, &state)
37185				if err != nil {
37186					return err
37187				}
37188				rt.State = state
37189			}
37190		case "Flags":
37191			if v != nil {
37192				var flags int32
37193				err = json.Unmarshal(*v, &flags)
37194				if err != nil {
37195					return err
37196				}
37197				rt.Flags = &flags
37198			}
37199		case "Action":
37200			if v != nil {
37201				var action string
37202				err = json.Unmarshal(*v, &action)
37203				if err != nil {
37204					return err
37205				}
37206				rt.Action = &action
37207			}
37208		case "Target":
37209			if v != nil {
37210				target, err := unmarshalBasicRepairTargetDescriptionBase(*v)
37211				if err != nil {
37212					return err
37213				}
37214				rt.Target = target
37215			}
37216		case "Executor":
37217			if v != nil {
37218				var executor string
37219				err = json.Unmarshal(*v, &executor)
37220				if err != nil {
37221					return err
37222				}
37223				rt.Executor = &executor
37224			}
37225		case "ExecutorData":
37226			if v != nil {
37227				var executorData string
37228				err = json.Unmarshal(*v, &executorData)
37229				if err != nil {
37230					return err
37231				}
37232				rt.ExecutorData = &executorData
37233			}
37234		case "Impact":
37235			if v != nil {
37236				impact, err := unmarshalBasicRepairImpactDescriptionBase(*v)
37237				if err != nil {
37238					return err
37239				}
37240				rt.Impact = impact
37241			}
37242		case "ResultStatus":
37243			if v != nil {
37244				var resultStatus ResultStatus
37245				err = json.Unmarshal(*v, &resultStatus)
37246				if err != nil {
37247					return err
37248				}
37249				rt.ResultStatus = resultStatus
37250			}
37251		case "ResultCode":
37252			if v != nil {
37253				var resultCode int32
37254				err = json.Unmarshal(*v, &resultCode)
37255				if err != nil {
37256					return err
37257				}
37258				rt.ResultCode = &resultCode
37259			}
37260		case "ResultDetails":
37261			if v != nil {
37262				var resultDetails string
37263				err = json.Unmarshal(*v, &resultDetails)
37264				if err != nil {
37265					return err
37266				}
37267				rt.ResultDetails = &resultDetails
37268			}
37269		case "History":
37270			if v != nil {
37271				var history RepairTaskHistory
37272				err = json.Unmarshal(*v, &history)
37273				if err != nil {
37274					return err
37275				}
37276				rt.History = &history
37277			}
37278		case "PreparingHealthCheckState":
37279			if v != nil {
37280				var preparingHealthCheckState RepairTaskHealthCheckState
37281				err = json.Unmarshal(*v, &preparingHealthCheckState)
37282				if err != nil {
37283					return err
37284				}
37285				rt.PreparingHealthCheckState = preparingHealthCheckState
37286			}
37287		case "RestoringHealthCheckState":
37288			if v != nil {
37289				var restoringHealthCheckState RepairTaskHealthCheckState
37290				err = json.Unmarshal(*v, &restoringHealthCheckState)
37291				if err != nil {
37292					return err
37293				}
37294				rt.RestoringHealthCheckState = restoringHealthCheckState
37295			}
37296		case "PerformPreparingHealthCheck":
37297			if v != nil {
37298				var performPreparingHealthCheck bool
37299				err = json.Unmarshal(*v, &performPreparingHealthCheck)
37300				if err != nil {
37301					return err
37302				}
37303				rt.PerformPreparingHealthCheck = &performPreparingHealthCheck
37304			}
37305		case "PerformRestoringHealthCheck":
37306			if v != nil {
37307				var performRestoringHealthCheck bool
37308				err = json.Unmarshal(*v, &performRestoringHealthCheck)
37309				if err != nil {
37310					return err
37311				}
37312				rt.PerformRestoringHealthCheck = &performRestoringHealthCheck
37313			}
37314		}
37315	}
37316
37317	return nil
37318}
37319
37320// RepairTaskApproveDescription describes a request for forced approval of a repair task.
37321//
37322// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37323type RepairTaskApproveDescription struct {
37324	// TaskID - The ID of the repair task.
37325	TaskID *string `json:"TaskId,omitempty"`
37326	// 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.
37327	Version *string `json:"Version,omitempty"`
37328}
37329
37330// RepairTaskCancelDescription describes a request to cancel a repair task.
37331//
37332// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37333type RepairTaskCancelDescription struct {
37334	// TaskID - The ID of the repair task.
37335	TaskID *string `json:"TaskId,omitempty"`
37336	// 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.
37337	Version *string `json:"Version,omitempty"`
37338	// 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.
37339	RequestAbort *bool `json:"RequestAbort,omitempty"`
37340}
37341
37342// RepairTaskDeleteDescription describes a request to delete a completed repair task.
37343//
37344// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37345type RepairTaskDeleteDescription struct {
37346	// TaskID - The ID of the completed repair task to be deleted.
37347	TaskID *string `json:"TaskId,omitempty"`
37348	// 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.
37349	Version *string `json:"Version,omitempty"`
37350}
37351
37352// RepairTaskHistory a record of the times when the repair task entered each state.
37353//
37354// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37355type RepairTaskHistory struct {
37356	// CreatedUtcTimestamp - The time when the repair task entered the Created state.
37357	CreatedUtcTimestamp *date.Time `json:"CreatedUtcTimestamp,omitempty"`
37358	// ClaimedUtcTimestamp - The time when the repair task entered the Claimed state.
37359	ClaimedUtcTimestamp *date.Time `json:"ClaimedUtcTimestamp,omitempty"`
37360	// PreparingUtcTimestamp - The time when the repair task entered the Preparing state.
37361	PreparingUtcTimestamp *date.Time `json:"PreparingUtcTimestamp,omitempty"`
37362	// ApprovedUtcTimestamp - The time when the repair task entered the Approved state
37363	ApprovedUtcTimestamp *date.Time `json:"ApprovedUtcTimestamp,omitempty"`
37364	// ExecutingUtcTimestamp - The time when the repair task entered the Executing state
37365	ExecutingUtcTimestamp *date.Time `json:"ExecutingUtcTimestamp,omitempty"`
37366	// RestoringUtcTimestamp - The time when the repair task entered the Restoring state
37367	RestoringUtcTimestamp *date.Time `json:"RestoringUtcTimestamp,omitempty"`
37368	// CompletedUtcTimestamp - The time when the repair task entered the Completed state
37369	CompletedUtcTimestamp *date.Time `json:"CompletedUtcTimestamp,omitempty"`
37370	// PreparingHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Preparing state.
37371	PreparingHealthCheckStartUtcTimestamp *date.Time `json:"PreparingHealthCheckStartUtcTimestamp,omitempty"`
37372	// PreparingHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Preparing state.
37373	PreparingHealthCheckEndUtcTimestamp *date.Time `json:"PreparingHealthCheckEndUtcTimestamp,omitempty"`
37374	// RestoringHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Restoring state.
37375	RestoringHealthCheckStartUtcTimestamp *date.Time `json:"RestoringHealthCheckStartUtcTimestamp,omitempty"`
37376	// RestoringHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Restoring state.
37377	RestoringHealthCheckEndUtcTimestamp *date.Time `json:"RestoringHealthCheckEndUtcTimestamp,omitempty"`
37378}
37379
37380// RepairTaskUpdateHealthPolicyDescription describes a request to update the health policy of a repair
37381// task.
37382//
37383// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37384type RepairTaskUpdateHealthPolicyDescription struct {
37385	// TaskID - The ID of the repair task to be updated.
37386	TaskID *string `json:"TaskId,omitempty"`
37387	// 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.
37388	Version *string `json:"Version,omitempty"`
37389	// 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.
37390	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
37391	// 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.
37392	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
37393}
37394
37395// RepairTaskUpdateInfo describes the result of an operation that created or updated a repair task.
37396//
37397// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
37398type RepairTaskUpdateInfo struct {
37399	autorest.Response `json:"-"`
37400	// Version - The new version of the repair task.
37401	Version *string `json:"Version,omitempty"`
37402}
37403
37404// BasicReplicaEvent represents the base for all Replica Events.
37405type BasicReplicaEvent interface {
37406	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
37407	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
37408	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
37409	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
37410	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
37411	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
37412	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
37413	AsReplicaEvent() (*ReplicaEvent, bool)
37414}
37415
37416// ReplicaEvent represents the base for all Replica Events.
37417type ReplicaEvent struct {
37418	// 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.
37419	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37420	// 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.
37421	ReplicaID *int64 `json:"ReplicaId,omitempty"`
37422	// EventInstanceID - The identifier for the FabricEvent instance.
37423	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
37424	// TimeStamp - The time event was logged.
37425	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
37426	// HasCorrelatedEvents - Shows there is existing related events available.
37427	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
37428	// 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'
37429	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
37430}
37431
37432func unmarshalBasicReplicaEvent(body []byte) (BasicReplicaEvent, error) {
37433	var m map[string]interface{}
37434	err := json.Unmarshal(body, &m)
37435	if err != nil {
37436		return nil, err
37437	}
37438
37439	switch m["Kind"] {
37440	case string(KindStatefulReplicaHealthReportCreated):
37441		var srhrce StatefulReplicaHealthReportCreatedEvent
37442		err := json.Unmarshal(body, &srhrce)
37443		return srhrce, err
37444	case string(KindStatefulReplicaHealthReportExpired):
37445		var srhree StatefulReplicaHealthReportExpiredEvent
37446		err := json.Unmarshal(body, &srhree)
37447		return srhree, err
37448	case string(KindStatelessReplicaHealthReportCreated):
37449		var srhrce StatelessReplicaHealthReportCreatedEvent
37450		err := json.Unmarshal(body, &srhrce)
37451		return srhrce, err
37452	case string(KindStatelessReplicaHealthReportExpired):
37453		var srhree StatelessReplicaHealthReportExpiredEvent
37454		err := json.Unmarshal(body, &srhree)
37455		return srhree, err
37456	case string(KindChaosRemoveReplicaFaultScheduled):
37457		var crrfse ChaosRemoveReplicaFaultScheduledEvent
37458		err := json.Unmarshal(body, &crrfse)
37459		return crrfse, err
37460	case string(KindChaosRemoveReplicaFaultCompleted):
37461		var crrfce ChaosRemoveReplicaFaultCompletedEvent
37462		err := json.Unmarshal(body, &crrfce)
37463		return crrfce, err
37464	case string(KindChaosRestartReplicaFaultScheduled):
37465		var crrfse ChaosRestartReplicaFaultScheduledEvent
37466		err := json.Unmarshal(body, &crrfse)
37467		return crrfse, err
37468	default:
37469		var re ReplicaEvent
37470		err := json.Unmarshal(body, &re)
37471		return re, err
37472	}
37473}
37474func unmarshalBasicReplicaEventArray(body []byte) ([]BasicReplicaEvent, error) {
37475	var rawMessages []*json.RawMessage
37476	err := json.Unmarshal(body, &rawMessages)
37477	if err != nil {
37478		return nil, err
37479	}
37480
37481	reArray := make([]BasicReplicaEvent, len(rawMessages))
37482
37483	for index, rawMessage := range rawMessages {
37484		re, err := unmarshalBasicReplicaEvent(*rawMessage)
37485		if err != nil {
37486			return nil, err
37487		}
37488		reArray[index] = re
37489	}
37490	return reArray, nil
37491}
37492
37493// MarshalJSON is the custom marshaler for ReplicaEvent.
37494func (re ReplicaEvent) MarshalJSON() ([]byte, error) {
37495	re.Kind = KindReplicaEvent
37496	objectMap := make(map[string]interface{})
37497	if re.PartitionID != nil {
37498		objectMap["PartitionId"] = re.PartitionID
37499	}
37500	if re.ReplicaID != nil {
37501		objectMap["ReplicaId"] = re.ReplicaID
37502	}
37503	if re.EventInstanceID != nil {
37504		objectMap["EventInstanceId"] = re.EventInstanceID
37505	}
37506	if re.TimeStamp != nil {
37507		objectMap["TimeStamp"] = re.TimeStamp
37508	}
37509	if re.HasCorrelatedEvents != nil {
37510		objectMap["HasCorrelatedEvents"] = re.HasCorrelatedEvents
37511	}
37512	if re.Kind != "" {
37513		objectMap["Kind"] = re.Kind
37514	}
37515	return json.Marshal(objectMap)
37516}
37517
37518// AsApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
37519func (re ReplicaEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
37520	return nil, false
37521}
37522
37523// AsBasicApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
37524func (re ReplicaEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
37525	return nil, false
37526}
37527
37528// AsClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
37529func (re ReplicaEvent) AsClusterEvent() (*ClusterEvent, bool) {
37530	return nil, false
37531}
37532
37533// AsBasicClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
37534func (re ReplicaEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
37535	return nil, false
37536}
37537
37538// AsContainerInstanceEvent is the BasicFabricEvent implementation for ReplicaEvent.
37539func (re ReplicaEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
37540	return nil, false
37541}
37542
37543// AsNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
37544func (re ReplicaEvent) AsNodeEvent() (*NodeEvent, bool) {
37545	return nil, false
37546}
37547
37548// AsBasicNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
37549func (re ReplicaEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
37550	return nil, false
37551}
37552
37553// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
37554func (re ReplicaEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
37555	return nil, false
37556}
37557
37558// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
37559func (re ReplicaEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
37560	return nil, false
37561}
37562
37563// AsPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
37564func (re ReplicaEvent) AsPartitionEvent() (*PartitionEvent, bool) {
37565	return nil, false
37566}
37567
37568// AsBasicPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
37569func (re ReplicaEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
37570	return nil, false
37571}
37572
37573// AsReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
37574func (re ReplicaEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
37575	return &re, true
37576}
37577
37578// AsBasicReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
37579func (re ReplicaEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
37580	return &re, true
37581}
37582
37583// AsServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
37584func (re ReplicaEvent) AsServiceEvent() (*ServiceEvent, bool) {
37585	return nil, false
37586}
37587
37588// AsBasicServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
37589func (re ReplicaEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
37590	return nil, false
37591}
37592
37593// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37594func (re ReplicaEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
37595	return nil, false
37596}
37597
37598// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37599func (re ReplicaEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
37600	return nil, false
37601}
37602
37603// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37604func (re ReplicaEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
37605	return nil, false
37606}
37607
37608// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37609func (re ReplicaEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
37610	return nil, false
37611}
37612
37613// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
37614func (re ReplicaEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
37615	return nil, false
37616}
37617
37618// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
37619func (re ReplicaEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
37620	return nil, false
37621}
37622
37623// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
37624func (re ReplicaEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
37625	return nil, false
37626}
37627
37628// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
37629func (re ReplicaEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
37630	return nil, false
37631}
37632
37633// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
37634func (re ReplicaEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
37635	return nil, false
37636}
37637
37638// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37639func (re ReplicaEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
37640	return nil, false
37641}
37642
37643// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37644func (re ReplicaEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
37645	return nil, false
37646}
37647
37648// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37649func (re ReplicaEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
37650	return nil, false
37651}
37652
37653// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37654func (re ReplicaEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
37655	return nil, false
37656}
37657
37658// AsNodeAbortedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37659func (re ReplicaEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
37660	return nil, false
37661}
37662
37663// AsNodeAbortingEvent is the BasicFabricEvent implementation for ReplicaEvent.
37664func (re ReplicaEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
37665	return nil, false
37666}
37667
37668// AsNodeAddedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37669func (re ReplicaEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
37670	return nil, false
37671}
37672
37673// AsNodeCloseEvent is the BasicFabricEvent implementation for ReplicaEvent.
37674func (re ReplicaEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
37675	return nil, false
37676}
37677
37678// AsNodeClosingEvent is the BasicFabricEvent implementation for ReplicaEvent.
37679func (re ReplicaEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
37680	return nil, false
37681}
37682
37683// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
37684func (re ReplicaEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
37685	return nil, false
37686}
37687
37688// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
37689func (re ReplicaEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
37690	return nil, false
37691}
37692
37693// AsNodeDownEvent is the BasicFabricEvent implementation for ReplicaEvent.
37694func (re ReplicaEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
37695	return nil, false
37696}
37697
37698// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37699func (re ReplicaEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
37700	return nil, false
37701}
37702
37703// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37704func (re ReplicaEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
37705	return nil, false
37706}
37707
37708// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ReplicaEvent.
37709func (re ReplicaEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
37710	return nil, false
37711}
37712
37713// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37714func (re ReplicaEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
37715	return nil, false
37716}
37717
37718// AsNodeOpeningEvent is the BasicFabricEvent implementation for ReplicaEvent.
37719func (re ReplicaEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
37720	return nil, false
37721}
37722
37723// AsNodeRemovedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37724func (re ReplicaEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
37725	return nil, false
37726}
37727
37728// AsNodeUpEvent is the BasicFabricEvent implementation for ReplicaEvent.
37729func (re ReplicaEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
37730	return nil, false
37731}
37732
37733// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37734func (re ReplicaEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
37735	return nil, false
37736}
37737
37738// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37739func (re ReplicaEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
37740	return nil, false
37741}
37742
37743// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37744func (re ReplicaEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
37745	return nil, false
37746}
37747
37748// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
37749func (re ReplicaEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
37750	return nil, false
37751}
37752
37753// AsServiceCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37754func (re ReplicaEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
37755	return nil, false
37756}
37757
37758// AsServiceDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37759func (re ReplicaEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
37760	return nil, false
37761}
37762
37763// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37764func (re ReplicaEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
37765	return nil, false
37766}
37767
37768// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37769func (re ReplicaEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
37770	return nil, false
37771}
37772
37773// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37774func (re ReplicaEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
37775	return nil, false
37776}
37777
37778// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37779func (re ReplicaEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
37780	return nil, false
37781}
37782
37783// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37784func (re ReplicaEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
37785	return nil, false
37786}
37787
37788// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37789func (re ReplicaEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
37790	return nil, false
37791}
37792
37793// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37794func (re ReplicaEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
37795	return nil, false
37796}
37797
37798// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37799func (re ReplicaEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
37800	return nil, false
37801}
37802
37803// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37804func (re ReplicaEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
37805	return nil, false
37806}
37807
37808// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
37809func (re ReplicaEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
37810	return nil, false
37811}
37812
37813// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
37814func (re ReplicaEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
37815	return nil, false
37816}
37817
37818// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
37819func (re ReplicaEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
37820	return nil, false
37821}
37822
37823// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
37824func (re ReplicaEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
37825	return nil, false
37826}
37827
37828// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
37829func (re ReplicaEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
37830	return nil, false
37831}
37832
37833// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
37834func (re ReplicaEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
37835	return nil, false
37836}
37837
37838// AsChaosStoppedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37839func (re ReplicaEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
37840	return nil, false
37841}
37842
37843// AsChaosStartedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37844func (re ReplicaEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
37845	return nil, false
37846}
37847
37848// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37849func (re ReplicaEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
37850	return nil, false
37851}
37852
37853// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
37854func (re ReplicaEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
37855	return nil, false
37856}
37857
37858// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37859func (re ReplicaEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
37860	return nil, false
37861}
37862
37863// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
37864func (re ReplicaEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
37865	return nil, false
37866}
37867
37868// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
37869func (re ReplicaEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
37870	return nil, false
37871}
37872
37873// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
37874func (re ReplicaEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
37875	return nil, false
37876}
37877
37878// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
37879func (re ReplicaEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
37880	return nil, false
37881}
37882
37883// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
37884func (re ReplicaEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
37885	return nil, false
37886}
37887
37888// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
37889func (re ReplicaEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
37890	return nil, false
37891}
37892
37893// AsFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
37894func (re ReplicaEvent) AsFabricEvent() (*FabricEvent, bool) {
37895	return nil, false
37896}
37897
37898// AsBasicFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
37899func (re ReplicaEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
37900	return &re, true
37901}
37902
37903// BasicReplicaHealth represents a base class for stateful service replica or stateless service instance health.
37904// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
37905type BasicReplicaHealth interface {
37906	AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool)
37907	AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool)
37908	AsReplicaHealth() (*ReplicaHealth, bool)
37909}
37910
37911// ReplicaHealth represents a base class for stateful service replica or stateless service instance health.
37912// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
37913type ReplicaHealth struct {
37914	autorest.Response `json:"-"`
37915	// PartitionID - Id of the partition to which this replica belongs.
37916	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37917	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
37918	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
37919	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
37920	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
37921	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
37922	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
37923	// HealthEvents - The list of health events reported on the entity.
37924	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
37925	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
37926	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
37927	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
37928	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
37929}
37930
37931func unmarshalBasicReplicaHealth(body []byte) (BasicReplicaHealth, error) {
37932	var m map[string]interface{}
37933	err := json.Unmarshal(body, &m)
37934	if err != nil {
37935		return nil, err
37936	}
37937
37938	switch m["ServiceKind"] {
37939	case string(ServiceKindBasicReplicaHealthServiceKindStateful):
37940		var ssrh StatefulServiceReplicaHealth
37941		err := json.Unmarshal(body, &ssrh)
37942		return ssrh, err
37943	case string(ServiceKindBasicReplicaHealthServiceKindStateless):
37944		var ssih StatelessServiceInstanceHealth
37945		err := json.Unmarshal(body, &ssih)
37946		return ssih, err
37947	default:
37948		var rh ReplicaHealth
37949		err := json.Unmarshal(body, &rh)
37950		return rh, err
37951	}
37952}
37953func unmarshalBasicReplicaHealthArray(body []byte) ([]BasicReplicaHealth, error) {
37954	var rawMessages []*json.RawMessage
37955	err := json.Unmarshal(body, &rawMessages)
37956	if err != nil {
37957		return nil, err
37958	}
37959
37960	rhArray := make([]BasicReplicaHealth, len(rawMessages))
37961
37962	for index, rawMessage := range rawMessages {
37963		rh, err := unmarshalBasicReplicaHealth(*rawMessage)
37964		if err != nil {
37965			return nil, err
37966		}
37967		rhArray[index] = rh
37968	}
37969	return rhArray, nil
37970}
37971
37972// MarshalJSON is the custom marshaler for ReplicaHealth.
37973func (rh ReplicaHealth) MarshalJSON() ([]byte, error) {
37974	rh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindReplicaHealth
37975	objectMap := make(map[string]interface{})
37976	if rh.PartitionID != nil {
37977		objectMap["PartitionId"] = rh.PartitionID
37978	}
37979	if rh.ServiceKind != "" {
37980		objectMap["ServiceKind"] = rh.ServiceKind
37981	}
37982	if rh.AggregatedHealthState != "" {
37983		objectMap["AggregatedHealthState"] = rh.AggregatedHealthState
37984	}
37985	if rh.HealthEvents != nil {
37986		objectMap["HealthEvents"] = rh.HealthEvents
37987	}
37988	if rh.UnhealthyEvaluations != nil {
37989		objectMap["UnhealthyEvaluations"] = rh.UnhealthyEvaluations
37990	}
37991	if rh.HealthStatistics != nil {
37992		objectMap["HealthStatistics"] = rh.HealthStatistics
37993	}
37994	return json.Marshal(objectMap)
37995}
37996
37997// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
37998func (rh ReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
37999	return nil, false
38000}
38001
38002// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for ReplicaHealth.
38003func (rh ReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
38004	return nil, false
38005}
38006
38007// AsReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
38008func (rh ReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
38009	return &rh, true
38010}
38011
38012// AsBasicReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
38013func (rh ReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
38014	return &rh, true
38015}
38016
38017// ReplicaHealthEvaluation represents health evaluation for a replica, containing information about the
38018// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
38019// aggregated health state is either Error or Warning.
38020type ReplicaHealthEvaluation struct {
38021	// PartitionID - Id of the partition to which the replica belongs.
38022	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38023	// 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.
38024	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
38025	// 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.
38026	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
38027	// 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'
38028	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38029	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
38030	Description *string `json:"Description,omitempty"`
38031	// 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'
38032	Kind Kind `json:"Kind,omitempty"`
38033}
38034
38035// MarshalJSON is the custom marshaler for ReplicaHealthEvaluation.
38036func (rhe ReplicaHealthEvaluation) MarshalJSON() ([]byte, error) {
38037	rhe.Kind = KindReplica
38038	objectMap := make(map[string]interface{})
38039	if rhe.PartitionID != nil {
38040		objectMap["PartitionId"] = rhe.PartitionID
38041	}
38042	if rhe.ReplicaOrInstanceID != nil {
38043		objectMap["ReplicaOrInstanceId"] = rhe.ReplicaOrInstanceID
38044	}
38045	if rhe.UnhealthyEvaluations != nil {
38046		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
38047	}
38048	if rhe.AggregatedHealthState != "" {
38049		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
38050	}
38051	if rhe.Description != nil {
38052		objectMap["Description"] = rhe.Description
38053	}
38054	if rhe.Kind != "" {
38055		objectMap["Kind"] = rhe.Kind
38056	}
38057	return json.Marshal(objectMap)
38058}
38059
38060// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38061func (rhe ReplicaHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
38062	return nil, false
38063}
38064
38065// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38066func (rhe ReplicaHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
38067	return nil, false
38068}
38069
38070// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38071func (rhe ReplicaHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
38072	return nil, false
38073}
38074
38075// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38076func (rhe ReplicaHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
38077	return nil, false
38078}
38079
38080// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38081func (rhe ReplicaHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
38082	return nil, false
38083}
38084
38085// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38086func (rhe ReplicaHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
38087	return nil, false
38088}
38089
38090// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38091func (rhe ReplicaHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
38092	return nil, false
38093}
38094
38095// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38096func (rhe ReplicaHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
38097	return nil, false
38098}
38099
38100// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38101func (rhe ReplicaHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
38102	return nil, false
38103}
38104
38105// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38106func (rhe ReplicaHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
38107	return nil, false
38108}
38109
38110// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38111func (rhe ReplicaHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
38112	return nil, false
38113}
38114
38115// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38116func (rhe ReplicaHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
38117	return nil, false
38118}
38119
38120// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38121func (rhe ReplicaHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
38122	return nil, false
38123}
38124
38125// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38126func (rhe ReplicaHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
38127	return &rhe, true
38128}
38129
38130// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38131func (rhe ReplicaHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
38132	return nil, false
38133}
38134
38135// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38136func (rhe ReplicaHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
38137	return nil, false
38138}
38139
38140// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38141func (rhe ReplicaHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
38142	return nil, false
38143}
38144
38145// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38146func (rhe ReplicaHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
38147	return nil, false
38148}
38149
38150// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38151func (rhe ReplicaHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
38152	return nil, false
38153}
38154
38155// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38156func (rhe ReplicaHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
38157	return nil, false
38158}
38159
38160// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38161func (rhe ReplicaHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
38162	return nil, false
38163}
38164
38165// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
38166func (rhe ReplicaHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
38167	return &rhe, true
38168}
38169
38170// ReplicaHealthModel ...
38171type ReplicaHealthModel struct {
38172	autorest.Response `json:"-"`
38173	Value             BasicReplicaHealth `json:"value,omitempty"`
38174}
38175
38176// UnmarshalJSON is the custom unmarshaler for ReplicaHealthModel struct.
38177func (rhm *ReplicaHealthModel) UnmarshalJSON(body []byte) error {
38178	rh, err := unmarshalBasicReplicaHealth(body)
38179	if err != nil {
38180		return err
38181	}
38182	rhm.Value = rh
38183
38184	return nil
38185}
38186
38187// BasicReplicaHealthState represents a base class for stateful service replica or stateless service instance health
38188// state.
38189type BasicReplicaHealthState interface {
38190	AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool)
38191	AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool)
38192	AsReplicaHealthState() (*ReplicaHealthState, bool)
38193}
38194
38195// ReplicaHealthState represents a base class for stateful service replica or stateless service instance health
38196// state.
38197type ReplicaHealthState struct {
38198	// PartitionID - The ID of the partition to which this replica belongs.
38199	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38200	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
38201	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
38202	// 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'
38203	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38204}
38205
38206func unmarshalBasicReplicaHealthState(body []byte) (BasicReplicaHealthState, error) {
38207	var m map[string]interface{}
38208	err := json.Unmarshal(body, &m)
38209	if err != nil {
38210		return nil, err
38211	}
38212
38213	switch m["ServiceKind"] {
38214	case string(ServiceKindBasicReplicaHealthStateServiceKindStateful):
38215		var ssrhs StatefulServiceReplicaHealthState
38216		err := json.Unmarshal(body, &ssrhs)
38217		return ssrhs, err
38218	case string(ServiceKindBasicReplicaHealthStateServiceKindStateless):
38219		var ssihs StatelessServiceInstanceHealthState
38220		err := json.Unmarshal(body, &ssihs)
38221		return ssihs, err
38222	default:
38223		var RHS ReplicaHealthState
38224		err := json.Unmarshal(body, &RHS)
38225		return RHS, err
38226	}
38227}
38228func unmarshalBasicReplicaHealthStateArray(body []byte) ([]BasicReplicaHealthState, error) {
38229	var rawMessages []*json.RawMessage
38230	err := json.Unmarshal(body, &rawMessages)
38231	if err != nil {
38232		return nil, err
38233	}
38234
38235	RHSArray := make([]BasicReplicaHealthState, len(rawMessages))
38236
38237	for index, rawMessage := range rawMessages {
38238		RHS, err := unmarshalBasicReplicaHealthState(*rawMessage)
38239		if err != nil {
38240			return nil, err
38241		}
38242		RHSArray[index] = RHS
38243	}
38244	return RHSArray, nil
38245}
38246
38247// MarshalJSON is the custom marshaler for ReplicaHealthState.
38248func (RHS ReplicaHealthState) MarshalJSON() ([]byte, error) {
38249	RHS.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState
38250	objectMap := make(map[string]interface{})
38251	if RHS.PartitionID != nil {
38252		objectMap["PartitionId"] = RHS.PartitionID
38253	}
38254	if RHS.ServiceKind != "" {
38255		objectMap["ServiceKind"] = RHS.ServiceKind
38256	}
38257	if RHS.AggregatedHealthState != "" {
38258		objectMap["AggregatedHealthState"] = RHS.AggregatedHealthState
38259	}
38260	return json.Marshal(objectMap)
38261}
38262
38263// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38264func (RHS ReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
38265	return nil, false
38266}
38267
38268// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38269func (RHS ReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
38270	return nil, false
38271}
38272
38273// AsReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38274func (RHS ReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
38275	return &RHS, true
38276}
38277
38278// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
38279func (RHS ReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
38280	return &RHS, true
38281}
38282
38283// ReplicaHealthStateChunk represents the health state chunk of a stateful service replica or a stateless
38284// service instance.
38285// The replica health state contains the replica ID and its aggregated health state.
38286type ReplicaHealthStateChunk struct {
38287	// 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.
38288	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
38289	// 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'
38290	HealthState HealthState `json:"HealthState,omitempty"`
38291}
38292
38293// ReplicaHealthStateChunkList the list of replica health state chunks that respect the input filters in
38294// the chunk query. Returned by get cluster health state chunks query.
38295type ReplicaHealthStateChunkList struct {
38296	// Items - The list of replica health state chunks that respect the input filters in the chunk query.
38297	Items *[]ReplicaHealthStateChunk `json:"Items,omitempty"`
38298}
38299
38300// ReplicaHealthStateFilter defines matching criteria to determine whether a replica should be included as
38301// a child of a partition in the cluster health chunk.
38302// The replicas are only returned if the parent entities match a filter specified in the cluster health
38303// chunk query description. The parent partition, service and application must be included in the cluster
38304// health chunk.
38305// One filter can match zero, one or multiple replicas, depending on its properties.
38306type ReplicaHealthStateFilter struct {
38307	// 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.
38308	// If the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.
38309	// If the replica exists, it is included in the cluster health chunk if it respects the other filter properties.
38310	// 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.
38311	ReplicaOrInstanceIDFilter *string `json:"ReplicaOrInstanceIdFilter,omitempty"`
38312	// HealthStateFilter - The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.
38313	// 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.
38314	// 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.
38315	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
38316	// For example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).
38317	// - Default - Default value. Matches any HealthState. The value is zero.
38318	// - 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.
38319	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
38320	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
38321	// - Error - Filter that matches input with HealthState value Error. The value is 8.
38322	// - All - Filter that matches input with any HealthState value. The value is 65535.
38323	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
38324}
38325
38326// BasicReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
38327// replica.
38328type BasicReplicaInfo interface {
38329	AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool)
38330	AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool)
38331	AsReplicaInfo() (*ReplicaInfo, bool)
38332}
38333
38334// ReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
38335// replica.
38336type ReplicaInfo struct {
38337	autorest.Response `json:"-"`
38338	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
38339	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
38340	// 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'
38341	HealthState HealthState `json:"HealthState,omitempty"`
38342	// NodeName - The name of a Service Fabric node.
38343	NodeName *string `json:"NodeName,omitempty"`
38344	// Address - The address the replica is listening on.
38345	Address *string `json:"Address,omitempty"`
38346	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
38347	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
38348	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
38349	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
38350}
38351
38352func unmarshalBasicReplicaInfo(body []byte) (BasicReplicaInfo, error) {
38353	var m map[string]interface{}
38354	err := json.Unmarshal(body, &m)
38355	if err != nil {
38356		return nil, err
38357	}
38358
38359	switch m["ServiceKind"] {
38360	case string(ServiceKindBasicReplicaInfoServiceKindStateful):
38361		var ssri StatefulServiceReplicaInfo
38362		err := json.Unmarshal(body, &ssri)
38363		return ssri, err
38364	case string(ServiceKindBasicReplicaInfoServiceKindStateless):
38365		var ssii StatelessServiceInstanceInfo
38366		err := json.Unmarshal(body, &ssii)
38367		return ssii, err
38368	default:
38369		var ri ReplicaInfo
38370		err := json.Unmarshal(body, &ri)
38371		return ri, err
38372	}
38373}
38374func unmarshalBasicReplicaInfoArray(body []byte) ([]BasicReplicaInfo, error) {
38375	var rawMessages []*json.RawMessage
38376	err := json.Unmarshal(body, &rawMessages)
38377	if err != nil {
38378		return nil, err
38379	}
38380
38381	riArray := make([]BasicReplicaInfo, len(rawMessages))
38382
38383	for index, rawMessage := range rawMessages {
38384		ri, err := unmarshalBasicReplicaInfo(*rawMessage)
38385		if err != nil {
38386			return nil, err
38387		}
38388		riArray[index] = ri
38389	}
38390	return riArray, nil
38391}
38392
38393// MarshalJSON is the custom marshaler for ReplicaInfo.
38394func (ri ReplicaInfo) MarshalJSON() ([]byte, error) {
38395	ri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindReplicaInfo
38396	objectMap := make(map[string]interface{})
38397	if ri.ReplicaStatus != "" {
38398		objectMap["ReplicaStatus"] = ri.ReplicaStatus
38399	}
38400	if ri.HealthState != "" {
38401		objectMap["HealthState"] = ri.HealthState
38402	}
38403	if ri.NodeName != nil {
38404		objectMap["NodeName"] = ri.NodeName
38405	}
38406	if ri.Address != nil {
38407		objectMap["Address"] = ri.Address
38408	}
38409	if ri.LastInBuildDurationInSeconds != nil {
38410		objectMap["LastInBuildDurationInSeconds"] = ri.LastInBuildDurationInSeconds
38411	}
38412	if ri.ServiceKind != "" {
38413		objectMap["ServiceKind"] = ri.ServiceKind
38414	}
38415	return json.Marshal(objectMap)
38416}
38417
38418// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38419func (ri ReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
38420	return nil, false
38421}
38422
38423// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38424func (ri ReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
38425	return nil, false
38426}
38427
38428// AsReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38429func (ri ReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
38430	return &ri, true
38431}
38432
38433// AsBasicReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
38434func (ri ReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
38435	return &ri, true
38436}
38437
38438// ReplicaInfoModel ...
38439type ReplicaInfoModel struct {
38440	autorest.Response `json:"-"`
38441	Value             BasicReplicaInfo `json:"value,omitempty"`
38442}
38443
38444// UnmarshalJSON is the custom unmarshaler for ReplicaInfoModel struct.
38445func (rim *ReplicaInfoModel) UnmarshalJSON(body []byte) error {
38446	ri, err := unmarshalBasicReplicaInfo(body)
38447	if err != nil {
38448		return err
38449	}
38450	rim.Value = ri
38451
38452	return nil
38453}
38454
38455// ReplicasHealthEvaluation represents health evaluation for replicas, containing health evaluations for
38456// each unhealthy replica that impacted current aggregated health state. Can be returned when evaluating
38457// partition health and the aggregated health state is either Error or Warning.
38458type ReplicasHealthEvaluation struct {
38459	// MaxPercentUnhealthyReplicasPerPartition - Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy.
38460	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
38461	// TotalCount - Total number of replicas in the partition from the health store.
38462	TotalCount *int64 `json:"TotalCount,omitempty"`
38463	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health.
38464	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
38465	// 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'
38466	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38467	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
38468	Description *string `json:"Description,omitempty"`
38469	// 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'
38470	Kind Kind `json:"Kind,omitempty"`
38471}
38472
38473// MarshalJSON is the custom marshaler for ReplicasHealthEvaluation.
38474func (rhe ReplicasHealthEvaluation) MarshalJSON() ([]byte, error) {
38475	rhe.Kind = KindReplicas
38476	objectMap := make(map[string]interface{})
38477	if rhe.MaxPercentUnhealthyReplicasPerPartition != nil {
38478		objectMap["MaxPercentUnhealthyReplicasPerPartition"] = rhe.MaxPercentUnhealthyReplicasPerPartition
38479	}
38480	if rhe.TotalCount != nil {
38481		objectMap["TotalCount"] = rhe.TotalCount
38482	}
38483	if rhe.UnhealthyEvaluations != nil {
38484		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
38485	}
38486	if rhe.AggregatedHealthState != "" {
38487		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
38488	}
38489	if rhe.Description != nil {
38490		objectMap["Description"] = rhe.Description
38491	}
38492	if rhe.Kind != "" {
38493		objectMap["Kind"] = rhe.Kind
38494	}
38495	return json.Marshal(objectMap)
38496}
38497
38498// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38499func (rhe ReplicasHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
38500	return nil, false
38501}
38502
38503// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38504func (rhe ReplicasHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
38505	return nil, false
38506}
38507
38508// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38509func (rhe ReplicasHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
38510	return nil, false
38511}
38512
38513// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38514func (rhe ReplicasHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
38515	return nil, false
38516}
38517
38518// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38519func (rhe ReplicasHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
38520	return nil, false
38521}
38522
38523// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38524func (rhe ReplicasHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
38525	return nil, false
38526}
38527
38528// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38529func (rhe ReplicasHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
38530	return nil, false
38531}
38532
38533// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38534func (rhe ReplicasHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
38535	return nil, false
38536}
38537
38538// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38539func (rhe ReplicasHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
38540	return nil, false
38541}
38542
38543// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38544func (rhe ReplicasHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
38545	return nil, false
38546}
38547
38548// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38549func (rhe ReplicasHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
38550	return nil, false
38551}
38552
38553// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38554func (rhe ReplicasHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
38555	return nil, false
38556}
38557
38558// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38559func (rhe ReplicasHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
38560	return nil, false
38561}
38562
38563// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38564func (rhe ReplicasHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
38565	return nil, false
38566}
38567
38568// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38569func (rhe ReplicasHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
38570	return &rhe, true
38571}
38572
38573// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38574func (rhe ReplicasHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
38575	return nil, false
38576}
38577
38578// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38579func (rhe ReplicasHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
38580	return nil, false
38581}
38582
38583// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38584func (rhe ReplicasHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
38585	return nil, false
38586}
38587
38588// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38589func (rhe ReplicasHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
38590	return nil, false
38591}
38592
38593// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38594func (rhe ReplicasHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
38595	return nil, false
38596}
38597
38598// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38599func (rhe ReplicasHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
38600	return nil, false
38601}
38602
38603// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
38604func (rhe ReplicasHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
38605	return &rhe, true
38606}
38607
38608// BasicReplicaStatusBase information about the replica.
38609type BasicReplicaStatusBase interface {
38610	AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool)
38611	AsReplicaStatusBase() (*ReplicaStatusBase, bool)
38612}
38613
38614// ReplicaStatusBase information about the replica.
38615type ReplicaStatusBase struct {
38616	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
38617	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
38618}
38619
38620func unmarshalBasicReplicaStatusBase(body []byte) (BasicReplicaStatusBase, error) {
38621	var m map[string]interface{}
38622	err := json.Unmarshal(body, &m)
38623	if err != nil {
38624		return nil, err
38625	}
38626
38627	switch m["Kind"] {
38628	case string(KindKeyValueStore):
38629		var kvsrs KeyValueStoreReplicaStatus
38630		err := json.Unmarshal(body, &kvsrs)
38631		return kvsrs, err
38632	default:
38633		var rsb ReplicaStatusBase
38634		err := json.Unmarshal(body, &rsb)
38635		return rsb, err
38636	}
38637}
38638func unmarshalBasicReplicaStatusBaseArray(body []byte) ([]BasicReplicaStatusBase, error) {
38639	var rawMessages []*json.RawMessage
38640	err := json.Unmarshal(body, &rawMessages)
38641	if err != nil {
38642		return nil, err
38643	}
38644
38645	rsbArray := make([]BasicReplicaStatusBase, len(rawMessages))
38646
38647	for index, rawMessage := range rawMessages {
38648		rsb, err := unmarshalBasicReplicaStatusBase(*rawMessage)
38649		if err != nil {
38650			return nil, err
38651		}
38652		rsbArray[index] = rsb
38653	}
38654	return rsbArray, nil
38655}
38656
38657// MarshalJSON is the custom marshaler for ReplicaStatusBase.
38658func (rsb ReplicaStatusBase) MarshalJSON() ([]byte, error) {
38659	rsb.Kind = KindReplicaStatusBase
38660	objectMap := make(map[string]interface{})
38661	if rsb.Kind != "" {
38662		objectMap["Kind"] = rsb.Kind
38663	}
38664	return json.Marshal(objectMap)
38665}
38666
38667// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
38668func (rsb ReplicaStatusBase) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
38669	return nil, false
38670}
38671
38672// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
38673func (rsb ReplicaStatusBase) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
38674	return &rsb, true
38675}
38676
38677// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
38678func (rsb ReplicaStatusBase) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
38679	return &rsb, true
38680}
38681
38682// ReplicatorQueueStatus provides various statistics of the queue used in the service fabric replicator.
38683// Contains information about the service fabric replicator like the replication/copy queue utilization,
38684// last acknowledgement received timestamp, etc.
38685// Depending on the role of the replicator, the properties in this type imply different meanings.
38686type ReplicatorQueueStatus struct {
38687	// 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.
38688	QueueUtilizationPercentage *int32 `json:"QueueUtilizationPercentage,omitempty"`
38689	// QueueMemorySize - Represents the virtual memory consumed by the queue in bytes.
38690	QueueMemorySize *string `json:"QueueMemorySize,omitempty"`
38691	// FirstSequenceNumber - On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.
38692	// On a secondary replicator, this is the smallest sequence number of the operation that is present in the queue.
38693	FirstSequenceNumber *string `json:"FirstSequenceNumber,omitempty"`
38694	// 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.
38695	// On a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state.
38696	CompletedSequenceNumber *string `json:"CompletedSequenceNumber,omitempty"`
38697	// 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.
38698	// On a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary.
38699	CommittedSequenceNumber *string `json:"CommittedSequenceNumber,omitempty"`
38700	// LastSequenceNumber - Represents the latest sequence number of the operation that is available in the queue.
38701	LastSequenceNumber *string `json:"LastSequenceNumber,omitempty"`
38702}
38703
38704// BasicReplicatorStatus represents a base class for primary or secondary replicator status.
38705// Contains information about the service fabric replicator like the replication/copy queue utilization, last
38706// acknowledgement received timestamp, etc.
38707type BasicReplicatorStatus interface {
38708	AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool)
38709	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
38710	AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool)
38711	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
38712	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
38713	AsReplicatorStatus() (*ReplicatorStatus, bool)
38714}
38715
38716// ReplicatorStatus represents a base class for primary or secondary replicator status.
38717// Contains information about the service fabric replicator like the replication/copy queue utilization, last
38718// acknowledgement received timestamp, etc.
38719type ReplicatorStatus struct {
38720	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
38721	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
38722}
38723
38724func unmarshalBasicReplicatorStatus(body []byte) (BasicReplicatorStatus, error) {
38725	var m map[string]interface{}
38726	err := json.Unmarshal(body, &m)
38727	if err != nil {
38728		return nil, err
38729	}
38730
38731	switch m["Kind"] {
38732	case string(KindPrimary):
38733		var prs PrimaryReplicatorStatus
38734		err := json.Unmarshal(body, &prs)
38735		return prs, err
38736	case string(KindSecondaryReplicatorStatus):
38737		var srs SecondaryReplicatorStatus
38738		err := json.Unmarshal(body, &srs)
38739		return srs, err
38740	case string(KindActiveSecondary):
38741		var sars SecondaryActiveReplicatorStatus
38742		err := json.Unmarshal(body, &sars)
38743		return sars, err
38744	case string(KindIdleSecondary):
38745		var sirs SecondaryIdleReplicatorStatus
38746		err := json.Unmarshal(body, &sirs)
38747		return sirs, err
38748	default:
38749		var rs ReplicatorStatus
38750		err := json.Unmarshal(body, &rs)
38751		return rs, err
38752	}
38753}
38754func unmarshalBasicReplicatorStatusArray(body []byte) ([]BasicReplicatorStatus, error) {
38755	var rawMessages []*json.RawMessage
38756	err := json.Unmarshal(body, &rawMessages)
38757	if err != nil {
38758		return nil, err
38759	}
38760
38761	rsArray := make([]BasicReplicatorStatus, len(rawMessages))
38762
38763	for index, rawMessage := range rawMessages {
38764		rs, err := unmarshalBasicReplicatorStatus(*rawMessage)
38765		if err != nil {
38766			return nil, err
38767		}
38768		rsArray[index] = rs
38769	}
38770	return rsArray, nil
38771}
38772
38773// MarshalJSON is the custom marshaler for ReplicatorStatus.
38774func (rs ReplicatorStatus) MarshalJSON() ([]byte, error) {
38775	rs.Kind = KindReplicatorStatus
38776	objectMap := make(map[string]interface{})
38777	if rs.Kind != "" {
38778		objectMap["Kind"] = rs.Kind
38779	}
38780	return json.Marshal(objectMap)
38781}
38782
38783// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
38784func (rs ReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
38785	return nil, false
38786}
38787
38788// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
38789func (rs ReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
38790	return nil, false
38791}
38792
38793// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
38794func (rs ReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
38795	return nil, false
38796}
38797
38798// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
38799func (rs ReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
38800	return nil, false
38801}
38802
38803// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
38804func (rs ReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
38805	return nil, false
38806}
38807
38808// AsReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
38809func (rs ReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
38810	return &rs, true
38811}
38812
38813// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
38814func (rs ReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
38815	return &rs, true
38816}
38817
38818// ResolvedServiceEndpoint endpoint of a resolved service partition.
38819type ResolvedServiceEndpoint struct {
38820	// Kind - The role of the replica where the endpoint is reported. Possible values include: 'ServiceEndpointRoleInvalid', 'ServiceEndpointRoleStateless', 'ServiceEndpointRoleStatefulPrimary', 'ServiceEndpointRoleStatefulSecondary'
38821	Kind ServiceEndpointRole `json:"Kind,omitempty"`
38822	// 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.
38823	Address *string `json:"Address,omitempty"`
38824}
38825
38826// ResolvedServicePartition information about a service partition and its associated endpoints.
38827type ResolvedServicePartition struct {
38828	autorest.Response `json:"-"`
38829	// Name - The full name of the service with 'fabric:' URI scheme.
38830	Name *string `json:"Name,omitempty"`
38831	// PartitionInformation - A representation of the resolved partition.
38832	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
38833	// Endpoints - List of resolved service endpoints of a service partition.
38834	Endpoints *[]ResolvedServiceEndpoint `json:"Endpoints,omitempty"`
38835	// 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.
38836	Version *string `json:"Version,omitempty"`
38837}
38838
38839// UnmarshalJSON is the custom unmarshaler for ResolvedServicePartition struct.
38840func (rsp *ResolvedServicePartition) UnmarshalJSON(body []byte) error {
38841	var m map[string]*json.RawMessage
38842	err := json.Unmarshal(body, &m)
38843	if err != nil {
38844		return err
38845	}
38846	for k, v := range m {
38847		switch k {
38848		case "Name":
38849			if v != nil {
38850				var name string
38851				err = json.Unmarshal(*v, &name)
38852				if err != nil {
38853					return err
38854				}
38855				rsp.Name = &name
38856			}
38857		case "PartitionInformation":
38858			if v != nil {
38859				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
38860				if err != nil {
38861					return err
38862				}
38863				rsp.PartitionInformation = partitionInformation
38864			}
38865		case "Endpoints":
38866			if v != nil {
38867				var endpoints []ResolvedServiceEndpoint
38868				err = json.Unmarshal(*v, &endpoints)
38869				if err != nil {
38870					return err
38871				}
38872				rsp.Endpoints = &endpoints
38873			}
38874		case "Version":
38875			if v != nil {
38876				var version string
38877				err = json.Unmarshal(*v, &version)
38878				if err != nil {
38879					return err
38880				}
38881				rsp.Version = &version
38882			}
38883		}
38884	}
38885
38886	return nil
38887}
38888
38889// RestartDeployedCodePackageDescription defines description for restarting a deployed code package on
38890// Service Fabric node.
38891type RestartDeployedCodePackageDescription struct {
38892	// ServiceManifestName - The name of service manifest that specified this code package.
38893	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
38894	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
38895	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
38896	// is always an empty string.
38897	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
38898	// CodePackageName - The name of the code package defined in the service manifest.
38899	CodePackageName *string `json:"CodePackageName,omitempty"`
38900	// 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.
38901	// 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.
38902	// 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.
38903	// 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.
38904	CodePackageInstanceID *string `json:"CodePackageInstanceId,omitempty"`
38905}
38906
38907// RestartNodeDescription describes the parameters to restart a Service Fabric node.
38908type RestartNodeDescription struct {
38909	// 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.
38910	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
38911	// CreateFabricDump - Specify True to create a dump of the fabric node process. This is case sensitive. Possible values include: 'False', 'True'
38912	CreateFabricDump CreateFabricDump `json:"CreateFabricDump,omitempty"`
38913}
38914
38915// RestartPartitionResult represents information about an operation in a terminal state (Completed or
38916// Faulted).
38917type RestartPartitionResult struct {
38918	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
38919	ErrorCode *int32 `json:"ErrorCode,omitempty"`
38920	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
38921	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
38922}
38923
38924// RestorePartitionDescription specifies the parameters needed to trigger a restore of a specific
38925// partition.
38926type RestorePartitionDescription struct {
38927	// BackupID - Unique backup ID.
38928	BackupID *uuid.UUID `json:"BackupId,omitempty"`
38929	// BackupLocation - Location of the backup relative to the backup storage specified/ configured.
38930	BackupLocation *string `json:"BackupLocation,omitempty"`
38931	// BackupStorage - Location of the backup from where the partition will be restored.
38932	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
38933}
38934
38935// UnmarshalJSON is the custom unmarshaler for RestorePartitionDescription struct.
38936func (rpd *RestorePartitionDescription) UnmarshalJSON(body []byte) error {
38937	var m map[string]*json.RawMessage
38938	err := json.Unmarshal(body, &m)
38939	if err != nil {
38940		return err
38941	}
38942	for k, v := range m {
38943		switch k {
38944		case "BackupId":
38945			if v != nil {
38946				var backupID uuid.UUID
38947				err = json.Unmarshal(*v, &backupID)
38948				if err != nil {
38949					return err
38950				}
38951				rpd.BackupID = &backupID
38952			}
38953		case "BackupLocation":
38954			if v != nil {
38955				var backupLocation string
38956				err = json.Unmarshal(*v, &backupLocation)
38957				if err != nil {
38958					return err
38959				}
38960				rpd.BackupLocation = &backupLocation
38961			}
38962		case "BackupStorage":
38963			if v != nil {
38964				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
38965				if err != nil {
38966					return err
38967				}
38968				rpd.BackupStorage = backupStorage
38969			}
38970		}
38971	}
38972
38973	return nil
38974}
38975
38976// RestoreProgressInfo describes the progress of a restore operation on a partition.
38977type RestoreProgressInfo struct {
38978	autorest.Response `json:"-"`
38979	// RestoreState - Represents the current state of the partition restore operation. Possible values include: 'RestoreStateInvalid', 'RestoreStateAccepted', 'RestoreStateRestoreInProgress', 'RestoreStateSuccess', 'RestoreStateFailure', 'RestoreStateTimeout'
38980	RestoreState RestoreState `json:"RestoreState,omitempty"`
38981	// TimeStampUtc - Timestamp when operation succeeded or failed.
38982	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
38983	// RestoredEpoch - Describes the epoch at which the partition is restored.
38984	RestoredEpoch *BackupEpoch `json:"RestoredEpoch,omitempty"`
38985	// RestoredLsn - Restored LSN.
38986	RestoredLsn *string `json:"RestoredLsn,omitempty"`
38987	// FailureError - Denotes the failure encountered in performing restore operation.
38988	FailureError *FabricErrorError `json:"FailureError,omitempty"`
38989}
38990
38991// ResumeApplicationUpgradeDescription describes the parameters for resuming an unmonitored manual Service
38992// Fabric application upgrade
38993type ResumeApplicationUpgradeDescription struct {
38994	// UpgradeDomainName - The name of the upgrade domain in which to resume the upgrade.
38995	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
38996}
38997
38998// ResumeClusterUpgradeDescription describes the parameters for resuming a cluster upgrade.
38999type ResumeClusterUpgradeDescription struct {
39000	// UpgradeDomain - The next upgrade domain for this cluster upgrade.
39001	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
39002}
39003
39004// RollingUpgradeUpdateDescription describes the parameters for updating a rolling upgrade of application
39005// or cluster.
39006type RollingUpgradeUpdateDescription struct {
39007	// 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'
39008	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
39009	// 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).
39010	ForceRestart *bool `json:"ForceRestart,omitempty"`
39011	// 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).
39012	ReplicaSetCheckTimeoutInMilliseconds *int64 `json:"ReplicaSetCheckTimeoutInMilliseconds,omitempty"`
39013	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
39014	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
39015	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
39016	FailureAction FailureAction `json:"FailureAction,omitempty"`
39017	// 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.
39018	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
39019	// 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.
39020	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
39021	// 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.
39022	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
39023	// 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.
39024	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
39025	// 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.
39026	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
39027}
39028
39029// BasicSafetyCheck represents a safety check performed by service fabric before continuing with the operations. These
39030// checks ensure the availability of the service and the reliability of the state.
39031type BasicSafetyCheck interface {
39032	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
39033	AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool)
39034	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
39035	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
39036	AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool)
39037	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
39038	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
39039	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
39040	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
39041	AsSafetyCheck() (*SafetyCheck, bool)
39042}
39043
39044// SafetyCheck represents a safety check performed by service fabric before continuing with the operations.
39045// These checks ensure the availability of the service and the reliability of the state.
39046type SafetyCheck struct {
39047	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
39048	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
39049}
39050
39051func unmarshalBasicSafetyCheck(body []byte) (BasicSafetyCheck, error) {
39052	var m map[string]interface{}
39053	err := json.Unmarshal(body, &m)
39054	if err != nil {
39055		return nil, err
39056	}
39057
39058	switch m["Kind"] {
39059	case string(KindPartitionSafetyCheck):
39060		var psc PartitionSafetyCheck
39061		err := json.Unmarshal(body, &psc)
39062		return psc, err
39063	case string(KindEnsureAvailability):
39064		var easc EnsureAvailabilitySafetyCheck
39065		err := json.Unmarshal(body, &easc)
39066		return easc, err
39067	case string(KindEnsurePartitionQuorum):
39068		var epqsc EnsurePartitionQurumSafetyCheck
39069		err := json.Unmarshal(body, &epqsc)
39070		return epqsc, err
39071	case string(KindEnsureSeedNodeQuorum):
39072		var snsc SeedNodeSafetyCheck
39073		err := json.Unmarshal(body, &snsc)
39074		return snsc, err
39075	case string(KindWaitForInbuildReplica):
39076		var wfirsc WaitForInbuildReplicaSafetyCheck
39077		err := json.Unmarshal(body, &wfirsc)
39078		return wfirsc, err
39079	case string(KindWaitForPrimaryPlacement):
39080		var wfppsc WaitForPrimaryPlacementSafetyCheck
39081		err := json.Unmarshal(body, &wfppsc)
39082		return wfppsc, err
39083	case string(KindWaitForPrimarySwap):
39084		var wfpssc WaitForPrimarySwapSafetyCheck
39085		err := json.Unmarshal(body, &wfpssc)
39086		return wfpssc, err
39087	case string(KindWaitForReconfiguration):
39088		var wfrsc WaitForReconfigurationSafetyCheck
39089		err := json.Unmarshal(body, &wfrsc)
39090		return wfrsc, err
39091	default:
39092		var sc SafetyCheck
39093		err := json.Unmarshal(body, &sc)
39094		return sc, err
39095	}
39096}
39097func unmarshalBasicSafetyCheckArray(body []byte) ([]BasicSafetyCheck, error) {
39098	var rawMessages []*json.RawMessage
39099	err := json.Unmarshal(body, &rawMessages)
39100	if err != nil {
39101		return nil, err
39102	}
39103
39104	scArray := make([]BasicSafetyCheck, len(rawMessages))
39105
39106	for index, rawMessage := range rawMessages {
39107		sc, err := unmarshalBasicSafetyCheck(*rawMessage)
39108		if err != nil {
39109			return nil, err
39110		}
39111		scArray[index] = sc
39112	}
39113	return scArray, nil
39114}
39115
39116// MarshalJSON is the custom marshaler for SafetyCheck.
39117func (sc SafetyCheck) MarshalJSON() ([]byte, error) {
39118	sc.Kind = KindSafetyCheck
39119	objectMap := make(map[string]interface{})
39120	if sc.Kind != "" {
39121		objectMap["Kind"] = sc.Kind
39122	}
39123	return json.Marshal(objectMap)
39124}
39125
39126// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39127func (sc SafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
39128	return nil, false
39129}
39130
39131// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39132func (sc SafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
39133	return nil, false
39134}
39135
39136// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39137func (sc SafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
39138	return nil, false
39139}
39140
39141// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39142func (sc SafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
39143	return nil, false
39144}
39145
39146// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39147func (sc SafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
39148	return nil, false
39149}
39150
39151// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39152func (sc SafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
39153	return nil, false
39154}
39155
39156// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39157func (sc SafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
39158	return nil, false
39159}
39160
39161// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39162func (sc SafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
39163	return nil, false
39164}
39165
39166// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39167func (sc SafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
39168	return nil, false
39169}
39170
39171// AsSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39172func (sc SafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
39173	return &sc, true
39174}
39175
39176// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
39177func (sc SafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
39178	return &sc, true
39179}
39180
39181// SafetyCheckWrapper a wrapper for the safety check object. Safety checks are performed by service fabric
39182// before continuing with the operations. These checks ensure the availability of the service and the
39183// reliability of the state.
39184type SafetyCheckWrapper struct {
39185	// 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.
39186	SafetyCheck BasicSafetyCheck `json:"SafetyCheck,omitempty"`
39187}
39188
39189// UnmarshalJSON is the custom unmarshaler for SafetyCheckWrapper struct.
39190func (scw *SafetyCheckWrapper) UnmarshalJSON(body []byte) error {
39191	var m map[string]*json.RawMessage
39192	err := json.Unmarshal(body, &m)
39193	if err != nil {
39194		return err
39195	}
39196	for k, v := range m {
39197		switch k {
39198		case "SafetyCheck":
39199			if v != nil {
39200				safetyCheck, err := unmarshalBasicSafetyCheck(*v)
39201				if err != nil {
39202					return err
39203				}
39204				scw.SafetyCheck = safetyCheck
39205			}
39206		}
39207	}
39208
39209	return nil
39210}
39211
39212// BasicScalingMechanismDescription describes the mechanism for performing a scaling operation.
39213type BasicScalingMechanismDescription interface {
39214	AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool)
39215	AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool)
39216	AsScalingMechanismDescription() (*ScalingMechanismDescription, bool)
39217}
39218
39219// ScalingMechanismDescription describes the mechanism for performing a scaling operation.
39220type ScalingMechanismDescription struct {
39221	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
39222	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
39223}
39224
39225func unmarshalBasicScalingMechanismDescription(body []byte) (BasicScalingMechanismDescription, error) {
39226	var m map[string]interface{}
39227	err := json.Unmarshal(body, &m)
39228	if err != nil {
39229		return nil, err
39230	}
39231
39232	switch m["Kind"] {
39233	case string(KindPartitionInstanceCount):
39234		var picsm PartitionInstanceCountScaleMechanism
39235		err := json.Unmarshal(body, &picsm)
39236		return picsm, err
39237	case string(KindAddRemoveIncrementalNamedPartition):
39238		var arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism
39239		err := json.Unmarshal(body, &arinpsm)
39240		return arinpsm, err
39241	default:
39242		var smd ScalingMechanismDescription
39243		err := json.Unmarshal(body, &smd)
39244		return smd, err
39245	}
39246}
39247func unmarshalBasicScalingMechanismDescriptionArray(body []byte) ([]BasicScalingMechanismDescription, error) {
39248	var rawMessages []*json.RawMessage
39249	err := json.Unmarshal(body, &rawMessages)
39250	if err != nil {
39251		return nil, err
39252	}
39253
39254	smdArray := make([]BasicScalingMechanismDescription, len(rawMessages))
39255
39256	for index, rawMessage := range rawMessages {
39257		smd, err := unmarshalBasicScalingMechanismDescription(*rawMessage)
39258		if err != nil {
39259			return nil, err
39260		}
39261		smdArray[index] = smd
39262	}
39263	return smdArray, nil
39264}
39265
39266// MarshalJSON is the custom marshaler for ScalingMechanismDescription.
39267func (smd ScalingMechanismDescription) MarshalJSON() ([]byte, error) {
39268	smd.Kind = KindScalingMechanismDescription
39269	objectMap := make(map[string]interface{})
39270	if smd.Kind != "" {
39271		objectMap["Kind"] = smd.Kind
39272	}
39273	return json.Marshal(objectMap)
39274}
39275
39276// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39277func (smd ScalingMechanismDescription) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
39278	return nil, false
39279}
39280
39281// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39282func (smd ScalingMechanismDescription) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
39283	return nil, false
39284}
39285
39286// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39287func (smd ScalingMechanismDescription) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
39288	return &smd, true
39289}
39290
39291// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
39292func (smd ScalingMechanismDescription) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
39293	return &smd, true
39294}
39295
39296// ScalingPolicyDescription describes how the scaling should be performed
39297type ScalingPolicyDescription struct {
39298	// ScalingTrigger - Specifies the trigger associated with this scaling policy
39299	ScalingTrigger BasicScalingTriggerDescription `json:"ScalingTrigger,omitempty"`
39300	// ScalingMechanism - Specifies the mechanism associated with this scaling policy
39301	ScalingMechanism BasicScalingMechanismDescription `json:"ScalingMechanism,omitempty"`
39302}
39303
39304// UnmarshalJSON is the custom unmarshaler for ScalingPolicyDescription struct.
39305func (spd *ScalingPolicyDescription) UnmarshalJSON(body []byte) error {
39306	var m map[string]*json.RawMessage
39307	err := json.Unmarshal(body, &m)
39308	if err != nil {
39309		return err
39310	}
39311	for k, v := range m {
39312		switch k {
39313		case "ScalingTrigger":
39314			if v != nil {
39315				scalingTrigger, err := unmarshalBasicScalingTriggerDescription(*v)
39316				if err != nil {
39317					return err
39318				}
39319				spd.ScalingTrigger = scalingTrigger
39320			}
39321		case "ScalingMechanism":
39322			if v != nil {
39323				scalingMechanism, err := unmarshalBasicScalingMechanismDescription(*v)
39324				if err != nil {
39325					return err
39326				}
39327				spd.ScalingMechanism = scalingMechanism
39328			}
39329		}
39330	}
39331
39332	return nil
39333}
39334
39335// BasicScalingTriggerDescription describes the trigger for performing a scaling operation.
39336type BasicScalingTriggerDescription interface {
39337	AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool)
39338	AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool)
39339	AsScalingTriggerDescription() (*ScalingTriggerDescription, bool)
39340}
39341
39342// ScalingTriggerDescription describes the trigger for performing a scaling operation.
39343type ScalingTriggerDescription struct {
39344	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
39345	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
39346}
39347
39348func unmarshalBasicScalingTriggerDescription(body []byte) (BasicScalingTriggerDescription, error) {
39349	var m map[string]interface{}
39350	err := json.Unmarshal(body, &m)
39351	if err != nil {
39352		return nil, err
39353	}
39354
39355	switch m["Kind"] {
39356	case string(KindAveragePartitionLoad):
39357		var aplst AveragePartitionLoadScalingTrigger
39358		err := json.Unmarshal(body, &aplst)
39359		return aplst, err
39360	case string(KindAverageServiceLoad):
39361		var aslst AverageServiceLoadScalingTrigger
39362		err := json.Unmarshal(body, &aslst)
39363		return aslst, err
39364	default:
39365		var std ScalingTriggerDescription
39366		err := json.Unmarshal(body, &std)
39367		return std, err
39368	}
39369}
39370func unmarshalBasicScalingTriggerDescriptionArray(body []byte) ([]BasicScalingTriggerDescription, error) {
39371	var rawMessages []*json.RawMessage
39372	err := json.Unmarshal(body, &rawMessages)
39373	if err != nil {
39374		return nil, err
39375	}
39376
39377	stdArray := make([]BasicScalingTriggerDescription, len(rawMessages))
39378
39379	for index, rawMessage := range rawMessages {
39380		std, err := unmarshalBasicScalingTriggerDescription(*rawMessage)
39381		if err != nil {
39382			return nil, err
39383		}
39384		stdArray[index] = std
39385	}
39386	return stdArray, nil
39387}
39388
39389// MarshalJSON is the custom marshaler for ScalingTriggerDescription.
39390func (std ScalingTriggerDescription) MarshalJSON() ([]byte, error) {
39391	std.Kind = KindScalingTriggerDescription
39392	objectMap := make(map[string]interface{})
39393	if std.Kind != "" {
39394		objectMap["Kind"] = std.Kind
39395	}
39396	return json.Marshal(objectMap)
39397}
39398
39399// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39400func (std ScalingTriggerDescription) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
39401	return nil, false
39402}
39403
39404// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39405func (std ScalingTriggerDescription) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
39406	return nil, false
39407}
39408
39409// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39410func (std ScalingTriggerDescription) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
39411	return &std, true
39412}
39413
39414// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
39415func (std ScalingTriggerDescription) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
39416	return &std, true
39417}
39418
39419// SecondaryActiveReplicatorStatus status of the secondary replicator when it is in active mode and is part
39420// of the replica set.
39421type SecondaryActiveReplicatorStatus struct {
39422	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
39423	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
39424	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
39425	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
39426	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
39427	// IsInBuild - Value that indicates whether the replica is currently being built.
39428	IsInBuild *bool `json:"IsInBuild,omitempty"`
39429	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
39430	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
39431	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
39432	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
39433	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
39434	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
39435	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
39436	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
39437	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
39438	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
39439}
39440
39441// MarshalJSON is the custom marshaler for SecondaryActiveReplicatorStatus.
39442func (sars SecondaryActiveReplicatorStatus) MarshalJSON() ([]byte, error) {
39443	sars.Kind = KindActiveSecondary
39444	objectMap := make(map[string]interface{})
39445	if sars.ReplicationQueueStatus != nil {
39446		objectMap["ReplicationQueueStatus"] = sars.ReplicationQueueStatus
39447	}
39448	if sars.LastReplicationOperationReceivedTimeUtc != nil {
39449		objectMap["LastReplicationOperationReceivedTimeUtc"] = sars.LastReplicationOperationReceivedTimeUtc
39450	}
39451	if sars.IsInBuild != nil {
39452		objectMap["IsInBuild"] = sars.IsInBuild
39453	}
39454	if sars.CopyQueueStatus != nil {
39455		objectMap["CopyQueueStatus"] = sars.CopyQueueStatus
39456	}
39457	if sars.LastCopyOperationReceivedTimeUtc != nil {
39458		objectMap["LastCopyOperationReceivedTimeUtc"] = sars.LastCopyOperationReceivedTimeUtc
39459	}
39460	if sars.LastAcknowledgementSentTimeUtc != nil {
39461		objectMap["LastAcknowledgementSentTimeUtc"] = sars.LastAcknowledgementSentTimeUtc
39462	}
39463	if sars.Kind != "" {
39464		objectMap["Kind"] = sars.Kind
39465	}
39466	return json.Marshal(objectMap)
39467}
39468
39469// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39470func (sars SecondaryActiveReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
39471	return nil, false
39472}
39473
39474// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39475func (sars SecondaryActiveReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
39476	return nil, false
39477}
39478
39479// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39480func (sars SecondaryActiveReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
39481	return &sars, true
39482}
39483
39484// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39485func (sars SecondaryActiveReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
39486	return &sars, true
39487}
39488
39489// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39490func (sars SecondaryActiveReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
39491	return nil, false
39492}
39493
39494// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39495func (sars SecondaryActiveReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
39496	return nil, false
39497}
39498
39499// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
39500func (sars SecondaryActiveReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
39501	return &sars, true
39502}
39503
39504// SecondaryIdleReplicatorStatus status of the secondary replicator when it is in idle mode and is being
39505// built by the primary.
39506type SecondaryIdleReplicatorStatus struct {
39507	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
39508	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
39509	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
39510	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
39511	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
39512	// IsInBuild - Value that indicates whether the replica is currently being built.
39513	IsInBuild *bool `json:"IsInBuild,omitempty"`
39514	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
39515	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
39516	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
39517	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
39518	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
39519	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
39520	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
39521	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
39522	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
39523	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
39524}
39525
39526// MarshalJSON is the custom marshaler for SecondaryIdleReplicatorStatus.
39527func (sirs SecondaryIdleReplicatorStatus) MarshalJSON() ([]byte, error) {
39528	sirs.Kind = KindIdleSecondary
39529	objectMap := make(map[string]interface{})
39530	if sirs.ReplicationQueueStatus != nil {
39531		objectMap["ReplicationQueueStatus"] = sirs.ReplicationQueueStatus
39532	}
39533	if sirs.LastReplicationOperationReceivedTimeUtc != nil {
39534		objectMap["LastReplicationOperationReceivedTimeUtc"] = sirs.LastReplicationOperationReceivedTimeUtc
39535	}
39536	if sirs.IsInBuild != nil {
39537		objectMap["IsInBuild"] = sirs.IsInBuild
39538	}
39539	if sirs.CopyQueueStatus != nil {
39540		objectMap["CopyQueueStatus"] = sirs.CopyQueueStatus
39541	}
39542	if sirs.LastCopyOperationReceivedTimeUtc != nil {
39543		objectMap["LastCopyOperationReceivedTimeUtc"] = sirs.LastCopyOperationReceivedTimeUtc
39544	}
39545	if sirs.LastAcknowledgementSentTimeUtc != nil {
39546		objectMap["LastAcknowledgementSentTimeUtc"] = sirs.LastAcknowledgementSentTimeUtc
39547	}
39548	if sirs.Kind != "" {
39549		objectMap["Kind"] = sirs.Kind
39550	}
39551	return json.Marshal(objectMap)
39552}
39553
39554// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
39555func (sirs SecondaryIdleReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
39556	return nil, false
39557}
39558
39559// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
39560func (sirs SecondaryIdleReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
39561	return nil, false
39562}
39563
39564// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
39565func (sirs SecondaryIdleReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
39566	return &sirs, true
39567}
39568
39569// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
39570func (sirs SecondaryIdleReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
39571	return nil, false
39572}
39573
39574// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
39575func (sirs SecondaryIdleReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
39576	return &sirs, true
39577}
39578
39579// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
39580func (sirs SecondaryIdleReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
39581	return nil, false
39582}
39583
39584// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
39585func (sirs SecondaryIdleReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
39586	return &sirs, true
39587}
39588
39589// BasicSecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in a
39590// ActiveSecondary role.
39591type BasicSecondaryReplicatorStatus interface {
39592	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
39593	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
39594	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
39595}
39596
39597// SecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in
39598// a ActiveSecondary role.
39599type SecondaryReplicatorStatus struct {
39600	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
39601	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
39602	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
39603	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
39604	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
39605	// IsInBuild - Value that indicates whether the replica is currently being built.
39606	IsInBuild *bool `json:"IsInBuild,omitempty"`
39607	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
39608	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
39609	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
39610	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
39611	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
39612	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
39613	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
39614	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
39615	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
39616	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
39617}
39618
39619func unmarshalBasicSecondaryReplicatorStatus(body []byte) (BasicSecondaryReplicatorStatus, error) {
39620	var m map[string]interface{}
39621	err := json.Unmarshal(body, &m)
39622	if err != nil {
39623		return nil, err
39624	}
39625
39626	switch m["Kind"] {
39627	case string(KindActiveSecondary):
39628		var sars SecondaryActiveReplicatorStatus
39629		err := json.Unmarshal(body, &sars)
39630		return sars, err
39631	case string(KindIdleSecondary):
39632		var sirs SecondaryIdleReplicatorStatus
39633		err := json.Unmarshal(body, &sirs)
39634		return sirs, err
39635	default:
39636		var srs SecondaryReplicatorStatus
39637		err := json.Unmarshal(body, &srs)
39638		return srs, err
39639	}
39640}
39641func unmarshalBasicSecondaryReplicatorStatusArray(body []byte) ([]BasicSecondaryReplicatorStatus, error) {
39642	var rawMessages []*json.RawMessage
39643	err := json.Unmarshal(body, &rawMessages)
39644	if err != nil {
39645		return nil, err
39646	}
39647
39648	srsArray := make([]BasicSecondaryReplicatorStatus, len(rawMessages))
39649
39650	for index, rawMessage := range rawMessages {
39651		srs, err := unmarshalBasicSecondaryReplicatorStatus(*rawMessage)
39652		if err != nil {
39653			return nil, err
39654		}
39655		srsArray[index] = srs
39656	}
39657	return srsArray, nil
39658}
39659
39660// MarshalJSON is the custom marshaler for SecondaryReplicatorStatus.
39661func (srs SecondaryReplicatorStatus) MarshalJSON() ([]byte, error) {
39662	srs.Kind = KindSecondaryReplicatorStatus
39663	objectMap := make(map[string]interface{})
39664	if srs.ReplicationQueueStatus != nil {
39665		objectMap["ReplicationQueueStatus"] = srs.ReplicationQueueStatus
39666	}
39667	if srs.LastReplicationOperationReceivedTimeUtc != nil {
39668		objectMap["LastReplicationOperationReceivedTimeUtc"] = srs.LastReplicationOperationReceivedTimeUtc
39669	}
39670	if srs.IsInBuild != nil {
39671		objectMap["IsInBuild"] = srs.IsInBuild
39672	}
39673	if srs.CopyQueueStatus != nil {
39674		objectMap["CopyQueueStatus"] = srs.CopyQueueStatus
39675	}
39676	if srs.LastCopyOperationReceivedTimeUtc != nil {
39677		objectMap["LastCopyOperationReceivedTimeUtc"] = srs.LastCopyOperationReceivedTimeUtc
39678	}
39679	if srs.LastAcknowledgementSentTimeUtc != nil {
39680		objectMap["LastAcknowledgementSentTimeUtc"] = srs.LastAcknowledgementSentTimeUtc
39681	}
39682	if srs.Kind != "" {
39683		objectMap["Kind"] = srs.Kind
39684	}
39685	return json.Marshal(objectMap)
39686}
39687
39688// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
39689func (srs SecondaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
39690	return nil, false
39691}
39692
39693// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
39694func (srs SecondaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
39695	return &srs, true
39696}
39697
39698// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
39699func (srs SecondaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
39700	return &srs, true
39701}
39702
39703// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
39704func (srs SecondaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
39705	return nil, false
39706}
39707
39708// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
39709func (srs SecondaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
39710	return nil, false
39711}
39712
39713// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
39714func (srs SecondaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
39715	return nil, false
39716}
39717
39718// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
39719func (srs SecondaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
39720	return &srs, true
39721}
39722
39723// SeedNodeSafetyCheck represents a safety check for the seed nodes being performed by service fabric
39724// before continuing with node level operations.
39725type SeedNodeSafetyCheck struct {
39726	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
39727	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
39728}
39729
39730// MarshalJSON is the custom marshaler for SeedNodeSafetyCheck.
39731func (snsc SeedNodeSafetyCheck) MarshalJSON() ([]byte, error) {
39732	snsc.Kind = KindEnsureSeedNodeQuorum
39733	objectMap := make(map[string]interface{})
39734	if snsc.Kind != "" {
39735		objectMap["Kind"] = snsc.Kind
39736	}
39737	return json.Marshal(objectMap)
39738}
39739
39740// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39741func (snsc SeedNodeSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
39742	return nil, false
39743}
39744
39745// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39746func (snsc SeedNodeSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
39747	return nil, false
39748}
39749
39750// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39751func (snsc SeedNodeSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
39752	return nil, false
39753}
39754
39755// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39756func (snsc SeedNodeSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
39757	return nil, false
39758}
39759
39760// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39761func (snsc SeedNodeSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
39762	return &snsc, true
39763}
39764
39765// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39766func (snsc SeedNodeSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
39767	return nil, false
39768}
39769
39770// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39771func (snsc SeedNodeSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
39772	return nil, false
39773}
39774
39775// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39776func (snsc SeedNodeSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
39777	return nil, false
39778}
39779
39780// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39781func (snsc SeedNodeSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
39782	return nil, false
39783}
39784
39785// AsSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39786func (snsc SeedNodeSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
39787	return nil, false
39788}
39789
39790// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
39791func (snsc SeedNodeSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
39792	return &snsc, true
39793}
39794
39795// SelectedPartition this class returns information about the partition that the user-induced operation
39796// acted upon.
39797type SelectedPartition struct {
39798	// ServiceName - The name of the service the partition belongs to.
39799	ServiceName *string `json:"ServiceName,omitempty"`
39800	// 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.
39801	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
39802}
39803
39804// ServiceBackupConfigurationInfo backup configuration information for a specific Service Fabric service
39805// specifying what backup policy is being applied and suspend description, if any.
39806type ServiceBackupConfigurationInfo struct {
39807	// ServiceName - The full name of the service with 'fabric:' URI scheme.
39808	ServiceName *string `json:"ServiceName,omitempty"`
39809	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
39810	PolicyName *string `json:"PolicyName,omitempty"`
39811	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
39812	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
39813	// SuspensionInfo - Describes the backup suspension details.
39814	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
39815	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
39816	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
39817}
39818
39819// MarshalJSON is the custom marshaler for ServiceBackupConfigurationInfo.
39820func (sbci ServiceBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
39821	sbci.Kind = KindBasicBackupConfigurationInfoKindService
39822	objectMap := make(map[string]interface{})
39823	if sbci.ServiceName != nil {
39824		objectMap["ServiceName"] = sbci.ServiceName
39825	}
39826	if sbci.PolicyName != nil {
39827		objectMap["PolicyName"] = sbci.PolicyName
39828	}
39829	if sbci.PolicyInheritedFrom != "" {
39830		objectMap["PolicyInheritedFrom"] = sbci.PolicyInheritedFrom
39831	}
39832	if sbci.SuspensionInfo != nil {
39833		objectMap["SuspensionInfo"] = sbci.SuspensionInfo
39834	}
39835	if sbci.Kind != "" {
39836		objectMap["Kind"] = sbci.Kind
39837	}
39838	return json.Marshal(objectMap)
39839}
39840
39841// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
39842func (sbci ServiceBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
39843	return nil, false
39844}
39845
39846// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
39847func (sbci ServiceBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
39848	return &sbci, true
39849}
39850
39851// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
39852func (sbci ServiceBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
39853	return nil, false
39854}
39855
39856// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
39857func (sbci ServiceBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
39858	return nil, false
39859}
39860
39861// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
39862func (sbci ServiceBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
39863	return &sbci, true
39864}
39865
39866// ServiceBackupEntity identifies the Service Fabric stateful service which is being backed up.
39867type ServiceBackupEntity struct {
39868	// ServiceName - The full name of the service with 'fabric:' URI scheme.
39869	ServiceName *string `json:"ServiceName,omitempty"`
39870	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
39871	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
39872}
39873
39874// MarshalJSON is the custom marshaler for ServiceBackupEntity.
39875func (sbe ServiceBackupEntity) MarshalJSON() ([]byte, error) {
39876	sbe.EntityKind = EntityKindService1
39877	objectMap := make(map[string]interface{})
39878	if sbe.ServiceName != nil {
39879		objectMap["ServiceName"] = sbe.ServiceName
39880	}
39881	if sbe.EntityKind != "" {
39882		objectMap["EntityKind"] = sbe.EntityKind
39883	}
39884	return json.Marshal(objectMap)
39885}
39886
39887// AsApplicationBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
39888func (sbe ServiceBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
39889	return nil, false
39890}
39891
39892// AsServiceBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
39893func (sbe ServiceBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
39894	return &sbe, true
39895}
39896
39897// AsPartitionBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
39898func (sbe ServiceBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
39899	return nil, false
39900}
39901
39902// AsBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
39903func (sbe ServiceBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
39904	return nil, false
39905}
39906
39907// AsBasicBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
39908func (sbe ServiceBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
39909	return &sbe, true
39910}
39911
39912// ServiceCorrelationDescription creates a particular correlation between services.
39913type ServiceCorrelationDescription struct {
39914	// Scheme - The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName. Possible values include: 'ServiceCorrelationSchemeInvalid', 'ServiceCorrelationSchemeAffinity', 'ServiceCorrelationSchemeAlignedAffinity', 'ServiceCorrelationSchemeNonAlignedAffinity'
39915	Scheme ServiceCorrelationScheme `json:"Scheme,omitempty"`
39916	// ServiceName - The name of the service that the correlation relationship is established with.
39917	ServiceName *string `json:"ServiceName,omitempty"`
39918}
39919
39920// ServiceCreatedEvent service Created event.
39921type ServiceCreatedEvent struct {
39922	// ServiceTypeName - Service type name.
39923	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
39924	// ApplicationName - Application name.
39925	ApplicationName *string `json:"ApplicationName,omitempty"`
39926	// ApplicationTypeName - Application type name.
39927	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
39928	// ServiceInstance - Id of Service instance.
39929	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
39930	// IsStateful - Indicates if Service is stateful.
39931	IsStateful *bool `json:"IsStateful,omitempty"`
39932	// PartitionCount - Number of partitions.
39933	PartitionCount *int32 `json:"PartitionCount,omitempty"`
39934	// TargetReplicaSetSize - Size of target replicas set.
39935	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
39936	// MinReplicaSetSize - Minimum size of replicas set.
39937	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
39938	// ServicePackageVersion - Version of Service package.
39939	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
39940	// 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.
39941	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
39942	// ServiceID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
39943	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
39944	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
39945	ServiceID *string `json:"ServiceId,omitempty"`
39946	// EventInstanceID - The identifier for the FabricEvent instance.
39947	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
39948	// TimeStamp - The time event was logged.
39949	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
39950	// HasCorrelatedEvents - Shows there is existing related events available.
39951	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
39952	// 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'
39953	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
39954}
39955
39956// MarshalJSON is the custom marshaler for ServiceCreatedEvent.
39957func (sce ServiceCreatedEvent) MarshalJSON() ([]byte, error) {
39958	sce.Kind = KindServiceCreated
39959	objectMap := make(map[string]interface{})
39960	if sce.ServiceTypeName != nil {
39961		objectMap["ServiceTypeName"] = sce.ServiceTypeName
39962	}
39963	if sce.ApplicationName != nil {
39964		objectMap["ApplicationName"] = sce.ApplicationName
39965	}
39966	if sce.ApplicationTypeName != nil {
39967		objectMap["ApplicationTypeName"] = sce.ApplicationTypeName
39968	}
39969	if sce.ServiceInstance != nil {
39970		objectMap["ServiceInstance"] = sce.ServiceInstance
39971	}
39972	if sce.IsStateful != nil {
39973		objectMap["IsStateful"] = sce.IsStateful
39974	}
39975	if sce.PartitionCount != nil {
39976		objectMap["PartitionCount"] = sce.PartitionCount
39977	}
39978	if sce.TargetReplicaSetSize != nil {
39979		objectMap["TargetReplicaSetSize"] = sce.TargetReplicaSetSize
39980	}
39981	if sce.MinReplicaSetSize != nil {
39982		objectMap["MinReplicaSetSize"] = sce.MinReplicaSetSize
39983	}
39984	if sce.ServicePackageVersion != nil {
39985		objectMap["ServicePackageVersion"] = sce.ServicePackageVersion
39986	}
39987	if sce.PartitionID != nil {
39988		objectMap["PartitionId"] = sce.PartitionID
39989	}
39990	if sce.ServiceID != nil {
39991		objectMap["ServiceId"] = sce.ServiceID
39992	}
39993	if sce.EventInstanceID != nil {
39994		objectMap["EventInstanceId"] = sce.EventInstanceID
39995	}
39996	if sce.TimeStamp != nil {
39997		objectMap["TimeStamp"] = sce.TimeStamp
39998	}
39999	if sce.HasCorrelatedEvents != nil {
40000		objectMap["HasCorrelatedEvents"] = sce.HasCorrelatedEvents
40001	}
40002	if sce.Kind != "" {
40003		objectMap["Kind"] = sce.Kind
40004	}
40005	return json.Marshal(objectMap)
40006}
40007
40008// AsApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40009func (sce ServiceCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
40010	return nil, false
40011}
40012
40013// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40014func (sce ServiceCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
40015	return nil, false
40016}
40017
40018// AsClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40019func (sce ServiceCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
40020	return nil, false
40021}
40022
40023// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40024func (sce ServiceCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
40025	return nil, false
40026}
40027
40028// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40029func (sce ServiceCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
40030	return nil, false
40031}
40032
40033// AsNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40034func (sce ServiceCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
40035	return nil, false
40036}
40037
40038// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40039func (sce ServiceCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
40040	return nil, false
40041}
40042
40043// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40044func (sce ServiceCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
40045	return nil, false
40046}
40047
40048// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40049func (sce ServiceCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
40050	return nil, false
40051}
40052
40053// AsPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40054func (sce ServiceCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
40055	return nil, false
40056}
40057
40058// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40059func (sce ServiceCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
40060	return nil, false
40061}
40062
40063// AsReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40064func (sce ServiceCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
40065	return nil, false
40066}
40067
40068// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40069func (sce ServiceCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
40070	return nil, false
40071}
40072
40073// AsServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40074func (sce ServiceCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
40075	return nil, false
40076}
40077
40078// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40079func (sce ServiceCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
40080	return &sce, true
40081}
40082
40083// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40084func (sce ServiceCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
40085	return nil, false
40086}
40087
40088// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40089func (sce ServiceCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
40090	return nil, false
40091}
40092
40093// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40094func (sce ServiceCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
40095	return nil, false
40096}
40097
40098// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40099func (sce ServiceCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
40100	return nil, false
40101}
40102
40103// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40104func (sce ServiceCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
40105	return nil, false
40106}
40107
40108// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40109func (sce ServiceCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
40110	return nil, false
40111}
40112
40113// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40114func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
40115	return nil, false
40116}
40117
40118// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40119func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
40120	return nil, false
40121}
40122
40123// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40124func (sce ServiceCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
40125	return nil, false
40126}
40127
40128// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40129func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
40130	return nil, false
40131}
40132
40133// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40134func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
40135	return nil, false
40136}
40137
40138// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40139func (sce ServiceCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
40140	return nil, false
40141}
40142
40143// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40144func (sce ServiceCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
40145	return nil, false
40146}
40147
40148// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40149func (sce ServiceCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
40150	return nil, false
40151}
40152
40153// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40154func (sce ServiceCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
40155	return nil, false
40156}
40157
40158// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40159func (sce ServiceCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
40160	return nil, false
40161}
40162
40163// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40164func (sce ServiceCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
40165	return nil, false
40166}
40167
40168// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40169func (sce ServiceCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
40170	return nil, false
40171}
40172
40173// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40174func (sce ServiceCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
40175	return nil, false
40176}
40177
40178// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40179func (sce ServiceCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
40180	return nil, false
40181}
40182
40183// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40184func (sce ServiceCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
40185	return nil, false
40186}
40187
40188// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40189func (sce ServiceCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
40190	return nil, false
40191}
40192
40193// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40194func (sce ServiceCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
40195	return nil, false
40196}
40197
40198// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40199func (sce ServiceCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
40200	return nil, false
40201}
40202
40203// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40204func (sce ServiceCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
40205	return nil, false
40206}
40207
40208// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40209func (sce ServiceCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
40210	return nil, false
40211}
40212
40213// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40214func (sce ServiceCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
40215	return nil, false
40216}
40217
40218// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40219func (sce ServiceCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
40220	return nil, false
40221}
40222
40223// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40224func (sce ServiceCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
40225	return nil, false
40226}
40227
40228// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40229func (sce ServiceCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
40230	return nil, false
40231}
40232
40233// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40234func (sce ServiceCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
40235	return nil, false
40236}
40237
40238// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40239func (sce ServiceCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
40240	return nil, false
40241}
40242
40243// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40244func (sce ServiceCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
40245	return &sce, true
40246}
40247
40248// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40249func (sce ServiceCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
40250	return nil, false
40251}
40252
40253// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40254func (sce ServiceCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
40255	return nil, false
40256}
40257
40258// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40259func (sce ServiceCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
40260	return nil, false
40261}
40262
40263// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40264func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
40265	return nil, false
40266}
40267
40268// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40269func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
40270	return nil, false
40271}
40272
40273// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40274func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
40275	return nil, false
40276}
40277
40278// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40279func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
40280	return nil, false
40281}
40282
40283// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40284func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
40285	return nil, false
40286}
40287
40288// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40289func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
40290	return nil, false
40291}
40292
40293// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40294func (sce ServiceCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
40295	return nil, false
40296}
40297
40298// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40299func (sce ServiceCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
40300	return nil, false
40301}
40302
40303// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40304func (sce ServiceCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
40305	return nil, false
40306}
40307
40308// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40309func (sce ServiceCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
40310	return nil, false
40311}
40312
40313// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40314func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
40315	return nil, false
40316}
40317
40318// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40319func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
40320	return nil, false
40321}
40322
40323// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40324func (sce ServiceCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
40325	return nil, false
40326}
40327
40328// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40329func (sce ServiceCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
40330	return nil, false
40331}
40332
40333// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40334func (sce ServiceCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
40335	return nil, false
40336}
40337
40338// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40339func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
40340	return nil, false
40341}
40342
40343// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40344func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
40345	return nil, false
40346}
40347
40348// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40349func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
40350	return nil, false
40351}
40352
40353// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40354func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
40355	return nil, false
40356}
40357
40358// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40359func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
40360	return nil, false
40361}
40362
40363// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40364func (sce ServiceCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
40365	return nil, false
40366}
40367
40368// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40369func (sce ServiceCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
40370	return nil, false
40371}
40372
40373// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40374func (sce ServiceCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
40375	return nil, false
40376}
40377
40378// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40379func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
40380	return nil, false
40381}
40382
40383// AsFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40384func (sce ServiceCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
40385	return nil, false
40386}
40387
40388// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
40389func (sce ServiceCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
40390	return &sce, true
40391}
40392
40393// ServiceDeletedEvent service Deleted event.
40394type ServiceDeletedEvent struct {
40395	// ServiceTypeName - Service type name.
40396	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
40397	// ApplicationName - Application name.
40398	ApplicationName *string `json:"ApplicationName,omitempty"`
40399	// ApplicationTypeName - Application type name.
40400	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
40401	// ServiceInstance - Id of Service instance.
40402	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
40403	// IsStateful - Indicates if Service is stateful.
40404	IsStateful *bool `json:"IsStateful,omitempty"`
40405	// PartitionCount - Number of partitions.
40406	PartitionCount *int32 `json:"PartitionCount,omitempty"`
40407	// TargetReplicaSetSize - Size of target replicas set.
40408	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
40409	// MinReplicaSetSize - Minimum size of replicas set.
40410	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
40411	// ServicePackageVersion - Version of Service package.
40412	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
40413	// ServiceID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
40414	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
40415	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
40416	ServiceID *string `json:"ServiceId,omitempty"`
40417	// EventInstanceID - The identifier for the FabricEvent instance.
40418	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
40419	// TimeStamp - The time event was logged.
40420	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
40421	// HasCorrelatedEvents - Shows there is existing related events available.
40422	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
40423	// 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'
40424	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
40425}
40426
40427// MarshalJSON is the custom marshaler for ServiceDeletedEvent.
40428func (sde ServiceDeletedEvent) MarshalJSON() ([]byte, error) {
40429	sde.Kind = KindServiceDeleted
40430	objectMap := make(map[string]interface{})
40431	if sde.ServiceTypeName != nil {
40432		objectMap["ServiceTypeName"] = sde.ServiceTypeName
40433	}
40434	if sde.ApplicationName != nil {
40435		objectMap["ApplicationName"] = sde.ApplicationName
40436	}
40437	if sde.ApplicationTypeName != nil {
40438		objectMap["ApplicationTypeName"] = sde.ApplicationTypeName
40439	}
40440	if sde.ServiceInstance != nil {
40441		objectMap["ServiceInstance"] = sde.ServiceInstance
40442	}
40443	if sde.IsStateful != nil {
40444		objectMap["IsStateful"] = sde.IsStateful
40445	}
40446	if sde.PartitionCount != nil {
40447		objectMap["PartitionCount"] = sde.PartitionCount
40448	}
40449	if sde.TargetReplicaSetSize != nil {
40450		objectMap["TargetReplicaSetSize"] = sde.TargetReplicaSetSize
40451	}
40452	if sde.MinReplicaSetSize != nil {
40453		objectMap["MinReplicaSetSize"] = sde.MinReplicaSetSize
40454	}
40455	if sde.ServicePackageVersion != nil {
40456		objectMap["ServicePackageVersion"] = sde.ServicePackageVersion
40457	}
40458	if sde.ServiceID != nil {
40459		objectMap["ServiceId"] = sde.ServiceID
40460	}
40461	if sde.EventInstanceID != nil {
40462		objectMap["EventInstanceId"] = sde.EventInstanceID
40463	}
40464	if sde.TimeStamp != nil {
40465		objectMap["TimeStamp"] = sde.TimeStamp
40466	}
40467	if sde.HasCorrelatedEvents != nil {
40468		objectMap["HasCorrelatedEvents"] = sde.HasCorrelatedEvents
40469	}
40470	if sde.Kind != "" {
40471		objectMap["Kind"] = sde.Kind
40472	}
40473	return json.Marshal(objectMap)
40474}
40475
40476// AsApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40477func (sde ServiceDeletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
40478	return nil, false
40479}
40480
40481// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40482func (sde ServiceDeletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
40483	return nil, false
40484}
40485
40486// AsClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40487func (sde ServiceDeletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
40488	return nil, false
40489}
40490
40491// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40492func (sde ServiceDeletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
40493	return nil, false
40494}
40495
40496// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40497func (sde ServiceDeletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
40498	return nil, false
40499}
40500
40501// AsNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40502func (sde ServiceDeletedEvent) AsNodeEvent() (*NodeEvent, bool) {
40503	return nil, false
40504}
40505
40506// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40507func (sde ServiceDeletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
40508	return nil, false
40509}
40510
40511// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40512func (sde ServiceDeletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
40513	return nil, false
40514}
40515
40516// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40517func (sde ServiceDeletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
40518	return nil, false
40519}
40520
40521// AsPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40522func (sde ServiceDeletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
40523	return nil, false
40524}
40525
40526// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40527func (sde ServiceDeletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
40528	return nil, false
40529}
40530
40531// AsReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40532func (sde ServiceDeletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
40533	return nil, false
40534}
40535
40536// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40537func (sde ServiceDeletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
40538	return nil, false
40539}
40540
40541// AsServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40542func (sde ServiceDeletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
40543	return nil, false
40544}
40545
40546// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40547func (sde ServiceDeletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
40548	return &sde, true
40549}
40550
40551// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40552func (sde ServiceDeletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
40553	return nil, false
40554}
40555
40556// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40557func (sde ServiceDeletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
40558	return nil, false
40559}
40560
40561// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40562func (sde ServiceDeletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
40563	return nil, false
40564}
40565
40566// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40567func (sde ServiceDeletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
40568	return nil, false
40569}
40570
40571// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40572func (sde ServiceDeletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
40573	return nil, false
40574}
40575
40576// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40577func (sde ServiceDeletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
40578	return nil, false
40579}
40580
40581// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40582func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
40583	return nil, false
40584}
40585
40586// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40587func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
40588	return nil, false
40589}
40590
40591// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40592func (sde ServiceDeletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
40593	return nil, false
40594}
40595
40596// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40597func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
40598	return nil, false
40599}
40600
40601// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40602func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
40603	return nil, false
40604}
40605
40606// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40607func (sde ServiceDeletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
40608	return nil, false
40609}
40610
40611// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40612func (sde ServiceDeletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
40613	return nil, false
40614}
40615
40616// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40617func (sde ServiceDeletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
40618	return nil, false
40619}
40620
40621// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40622func (sde ServiceDeletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
40623	return nil, false
40624}
40625
40626// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40627func (sde ServiceDeletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
40628	return nil, false
40629}
40630
40631// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40632func (sde ServiceDeletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
40633	return nil, false
40634}
40635
40636// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40637func (sde ServiceDeletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
40638	return nil, false
40639}
40640
40641// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40642func (sde ServiceDeletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
40643	return nil, false
40644}
40645
40646// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40647func (sde ServiceDeletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
40648	return nil, false
40649}
40650
40651// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40652func (sde ServiceDeletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
40653	return nil, false
40654}
40655
40656// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40657func (sde ServiceDeletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
40658	return nil, false
40659}
40660
40661// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40662func (sde ServiceDeletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
40663	return nil, false
40664}
40665
40666// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40667func (sde ServiceDeletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
40668	return nil, false
40669}
40670
40671// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40672func (sde ServiceDeletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
40673	return nil, false
40674}
40675
40676// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40677func (sde ServiceDeletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
40678	return nil, false
40679}
40680
40681// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40682func (sde ServiceDeletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
40683	return nil, false
40684}
40685
40686// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40687func (sde ServiceDeletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
40688	return nil, false
40689}
40690
40691// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40692func (sde ServiceDeletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
40693	return nil, false
40694}
40695
40696// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40697func (sde ServiceDeletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
40698	return nil, false
40699}
40700
40701// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40702func (sde ServiceDeletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
40703	return nil, false
40704}
40705
40706// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40707func (sde ServiceDeletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
40708	return nil, false
40709}
40710
40711// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40712func (sde ServiceDeletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
40713	return nil, false
40714}
40715
40716// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40717func (sde ServiceDeletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
40718	return &sde, true
40719}
40720
40721// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40722func (sde ServiceDeletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
40723	return nil, false
40724}
40725
40726// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40727func (sde ServiceDeletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
40728	return nil, false
40729}
40730
40731// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40732func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
40733	return nil, false
40734}
40735
40736// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40737func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
40738	return nil, false
40739}
40740
40741// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40742func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
40743	return nil, false
40744}
40745
40746// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40747func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
40748	return nil, false
40749}
40750
40751// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40752func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
40753	return nil, false
40754}
40755
40756// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40757func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
40758	return nil, false
40759}
40760
40761// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40762func (sde ServiceDeletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
40763	return nil, false
40764}
40765
40766// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40767func (sde ServiceDeletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
40768	return nil, false
40769}
40770
40771// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40772func (sde ServiceDeletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
40773	return nil, false
40774}
40775
40776// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40777func (sde ServiceDeletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
40778	return nil, false
40779}
40780
40781// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40782func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
40783	return nil, false
40784}
40785
40786// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40787func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
40788	return nil, false
40789}
40790
40791// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40792func (sde ServiceDeletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
40793	return nil, false
40794}
40795
40796// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40797func (sde ServiceDeletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
40798	return nil, false
40799}
40800
40801// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40802func (sde ServiceDeletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
40803	return nil, false
40804}
40805
40806// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40807func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
40808	return nil, false
40809}
40810
40811// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40812func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
40813	return nil, false
40814}
40815
40816// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40817func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
40818	return nil, false
40819}
40820
40821// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40822func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
40823	return nil, false
40824}
40825
40826// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40827func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
40828	return nil, false
40829}
40830
40831// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40832func (sde ServiceDeletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
40833	return nil, false
40834}
40835
40836// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40837func (sde ServiceDeletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
40838	return nil, false
40839}
40840
40841// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40842func (sde ServiceDeletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
40843	return nil, false
40844}
40845
40846// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40847func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
40848	return nil, false
40849}
40850
40851// AsFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40852func (sde ServiceDeletedEvent) AsFabricEvent() (*FabricEvent, bool) {
40853	return nil, false
40854}
40855
40856// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
40857func (sde ServiceDeletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
40858	return &sde, true
40859}
40860
40861// BasicServiceDescription a ServiceDescription contains all of the information necessary to create a service.
40862type BasicServiceDescription interface {
40863	AsStatefulServiceDescription() (*StatefulServiceDescription, bool)
40864	AsStatelessServiceDescription() (*StatelessServiceDescription, bool)
40865	AsServiceDescription() (*ServiceDescription, bool)
40866}
40867
40868// ServiceDescription a ServiceDescription contains all of the information necessary to create a service.
40869type ServiceDescription struct {
40870	autorest.Response `json:"-"`
40871	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
40872	ApplicationName *string `json:"ApplicationName,omitempty"`
40873	// ServiceName - The full name of the service with 'fabric:' URI scheme.
40874	ServiceName *string `json:"ServiceName,omitempty"`
40875	// ServiceTypeName - Name of the service type as specified in the service manifest.
40876	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
40877	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
40878	InitializationData *[]int32 `json:"InitializationData,omitempty"`
40879	// PartitionDescription - The partition description as an object.
40880	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
40881	// 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)".
40882	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
40883	// CorrelationScheme - The correlation scheme.
40884	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
40885	// ServiceLoadMetrics - The service load metrics.
40886	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
40887	// ServicePlacementPolicies - The service placement policies.
40888	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
40889	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
40890	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
40891	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
40892	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
40893	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
40894	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
40895	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
40896	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
40897	// ScalingPolicies - Scaling policies for this service.
40898	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
40899	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
40900	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
40901}
40902
40903func unmarshalBasicServiceDescription(body []byte) (BasicServiceDescription, error) {
40904	var m map[string]interface{}
40905	err := json.Unmarshal(body, &m)
40906	if err != nil {
40907		return nil, err
40908	}
40909
40910	switch m["ServiceKind"] {
40911	case string(ServiceKindBasicServiceDescriptionServiceKindStateful):
40912		var ssd StatefulServiceDescription
40913		err := json.Unmarshal(body, &ssd)
40914		return ssd, err
40915	case string(ServiceKindBasicServiceDescriptionServiceKindStateless):
40916		var ssd StatelessServiceDescription
40917		err := json.Unmarshal(body, &ssd)
40918		return ssd, err
40919	default:
40920		var sd ServiceDescription
40921		err := json.Unmarshal(body, &sd)
40922		return sd, err
40923	}
40924}
40925func unmarshalBasicServiceDescriptionArray(body []byte) ([]BasicServiceDescription, error) {
40926	var rawMessages []*json.RawMessage
40927	err := json.Unmarshal(body, &rawMessages)
40928	if err != nil {
40929		return nil, err
40930	}
40931
40932	sdArray := make([]BasicServiceDescription, len(rawMessages))
40933
40934	for index, rawMessage := range rawMessages {
40935		sd, err := unmarshalBasicServiceDescription(*rawMessage)
40936		if err != nil {
40937			return nil, err
40938		}
40939		sdArray[index] = sd
40940	}
40941	return sdArray, nil
40942}
40943
40944// MarshalJSON is the custom marshaler for ServiceDescription.
40945func (sd ServiceDescription) MarshalJSON() ([]byte, error) {
40946	sd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindServiceDescription
40947	objectMap := make(map[string]interface{})
40948	if sd.ApplicationName != nil {
40949		objectMap["ApplicationName"] = sd.ApplicationName
40950	}
40951	if sd.ServiceName != nil {
40952		objectMap["ServiceName"] = sd.ServiceName
40953	}
40954	if sd.ServiceTypeName != nil {
40955		objectMap["ServiceTypeName"] = sd.ServiceTypeName
40956	}
40957	if sd.InitializationData != nil {
40958		objectMap["InitializationData"] = sd.InitializationData
40959	}
40960	objectMap["PartitionDescription"] = sd.PartitionDescription
40961	if sd.PlacementConstraints != nil {
40962		objectMap["PlacementConstraints"] = sd.PlacementConstraints
40963	}
40964	if sd.CorrelationScheme != nil {
40965		objectMap["CorrelationScheme"] = sd.CorrelationScheme
40966	}
40967	if sd.ServiceLoadMetrics != nil {
40968		objectMap["ServiceLoadMetrics"] = sd.ServiceLoadMetrics
40969	}
40970	if sd.ServicePlacementPolicies != nil {
40971		objectMap["ServicePlacementPolicies"] = sd.ServicePlacementPolicies
40972	}
40973	if sd.DefaultMoveCost != "" {
40974		objectMap["DefaultMoveCost"] = sd.DefaultMoveCost
40975	}
40976	if sd.IsDefaultMoveCostSpecified != nil {
40977		objectMap["IsDefaultMoveCostSpecified"] = sd.IsDefaultMoveCostSpecified
40978	}
40979	if sd.ServicePackageActivationMode != "" {
40980		objectMap["ServicePackageActivationMode"] = sd.ServicePackageActivationMode
40981	}
40982	if sd.ServiceDNSName != nil {
40983		objectMap["ServiceDnsName"] = sd.ServiceDNSName
40984	}
40985	if sd.ScalingPolicies != nil {
40986		objectMap["ScalingPolicies"] = sd.ScalingPolicies
40987	}
40988	if sd.ServiceKind != "" {
40989		objectMap["ServiceKind"] = sd.ServiceKind
40990	}
40991	return json.Marshal(objectMap)
40992}
40993
40994// AsStatefulServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
40995func (sd ServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
40996	return nil, false
40997}
40998
40999// AsStatelessServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
41000func (sd ServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
41001	return nil, false
41002}
41003
41004// AsServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
41005func (sd ServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
41006	return &sd, true
41007}
41008
41009// AsBasicServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
41010func (sd ServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
41011	return &sd, true
41012}
41013
41014// UnmarshalJSON is the custom unmarshaler for ServiceDescription struct.
41015func (sd *ServiceDescription) UnmarshalJSON(body []byte) error {
41016	var m map[string]*json.RawMessage
41017	err := json.Unmarshal(body, &m)
41018	if err != nil {
41019		return err
41020	}
41021	for k, v := range m {
41022		switch k {
41023		case "ApplicationName":
41024			if v != nil {
41025				var applicationName string
41026				err = json.Unmarshal(*v, &applicationName)
41027				if err != nil {
41028					return err
41029				}
41030				sd.ApplicationName = &applicationName
41031			}
41032		case "ServiceName":
41033			if v != nil {
41034				var serviceName string
41035				err = json.Unmarshal(*v, &serviceName)
41036				if err != nil {
41037					return err
41038				}
41039				sd.ServiceName = &serviceName
41040			}
41041		case "ServiceTypeName":
41042			if v != nil {
41043				var serviceTypeName string
41044				err = json.Unmarshal(*v, &serviceTypeName)
41045				if err != nil {
41046					return err
41047				}
41048				sd.ServiceTypeName = &serviceTypeName
41049			}
41050		case "InitializationData":
41051			if v != nil {
41052				var initializationData []int32
41053				err = json.Unmarshal(*v, &initializationData)
41054				if err != nil {
41055					return err
41056				}
41057				sd.InitializationData = &initializationData
41058			}
41059		case "PartitionDescription":
41060			if v != nil {
41061				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
41062				if err != nil {
41063					return err
41064				}
41065				sd.PartitionDescription = partitionDescription
41066			}
41067		case "PlacementConstraints":
41068			if v != nil {
41069				var placementConstraints string
41070				err = json.Unmarshal(*v, &placementConstraints)
41071				if err != nil {
41072					return err
41073				}
41074				sd.PlacementConstraints = &placementConstraints
41075			}
41076		case "CorrelationScheme":
41077			if v != nil {
41078				var correlationScheme []ServiceCorrelationDescription
41079				err = json.Unmarshal(*v, &correlationScheme)
41080				if err != nil {
41081					return err
41082				}
41083				sd.CorrelationScheme = &correlationScheme
41084			}
41085		case "ServiceLoadMetrics":
41086			if v != nil {
41087				var serviceLoadMetrics []ServiceLoadMetricDescription
41088				err = json.Unmarshal(*v, &serviceLoadMetrics)
41089				if err != nil {
41090					return err
41091				}
41092				sd.ServiceLoadMetrics = &serviceLoadMetrics
41093			}
41094		case "ServicePlacementPolicies":
41095			if v != nil {
41096				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
41097				if err != nil {
41098					return err
41099				}
41100				sd.ServicePlacementPolicies = &servicePlacementPolicies
41101			}
41102		case "DefaultMoveCost":
41103			if v != nil {
41104				var defaultMoveCost MoveCost
41105				err = json.Unmarshal(*v, &defaultMoveCost)
41106				if err != nil {
41107					return err
41108				}
41109				sd.DefaultMoveCost = defaultMoveCost
41110			}
41111		case "IsDefaultMoveCostSpecified":
41112			if v != nil {
41113				var isDefaultMoveCostSpecified bool
41114				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
41115				if err != nil {
41116					return err
41117				}
41118				sd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
41119			}
41120		case "ServicePackageActivationMode":
41121			if v != nil {
41122				var servicePackageActivationMode ServicePackageActivationMode
41123				err = json.Unmarshal(*v, &servicePackageActivationMode)
41124				if err != nil {
41125					return err
41126				}
41127				sd.ServicePackageActivationMode = servicePackageActivationMode
41128			}
41129		case "ServiceDnsName":
41130			if v != nil {
41131				var serviceDNSName string
41132				err = json.Unmarshal(*v, &serviceDNSName)
41133				if err != nil {
41134					return err
41135				}
41136				sd.ServiceDNSName = &serviceDNSName
41137			}
41138		case "ScalingPolicies":
41139			if v != nil {
41140				var scalingPolicies []ScalingPolicyDescription
41141				err = json.Unmarshal(*v, &scalingPolicies)
41142				if err != nil {
41143					return err
41144				}
41145				sd.ScalingPolicies = &scalingPolicies
41146			}
41147		case "ServiceKind":
41148			if v != nil {
41149				var serviceKind ServiceKindBasicServiceDescription
41150				err = json.Unmarshal(*v, &serviceKind)
41151				if err != nil {
41152					return err
41153				}
41154				sd.ServiceKind = serviceKind
41155			}
41156		}
41157	}
41158
41159	return nil
41160}
41161
41162// ServiceDescriptionModel ...
41163type ServiceDescriptionModel struct {
41164	autorest.Response `json:"-"`
41165	Value             BasicServiceDescription `json:"value,omitempty"`
41166}
41167
41168// UnmarshalJSON is the custom unmarshaler for ServiceDescriptionModel struct.
41169func (sdm *ServiceDescriptionModel) UnmarshalJSON(body []byte) error {
41170	sd, err := unmarshalBasicServiceDescription(body)
41171	if err != nil {
41172		return err
41173	}
41174	sdm.Value = sd
41175
41176	return nil
41177}
41178
41179// BasicServiceEvent represents the base for all Service Events.
41180type BasicServiceEvent interface {
41181	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
41182	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
41183	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
41184	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
41185	AsServiceEvent() (*ServiceEvent, bool)
41186}
41187
41188// ServiceEvent represents the base for all Service Events.
41189type ServiceEvent struct {
41190	// ServiceID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
41191	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
41192	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
41193	ServiceID *string `json:"ServiceId,omitempty"`
41194	// EventInstanceID - The identifier for the FabricEvent instance.
41195	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
41196	// TimeStamp - The time event was logged.
41197	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
41198	// HasCorrelatedEvents - Shows there is existing related events available.
41199	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
41200	// 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'
41201	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
41202}
41203
41204func unmarshalBasicServiceEvent(body []byte) (BasicServiceEvent, error) {
41205	var m map[string]interface{}
41206	err := json.Unmarshal(body, &m)
41207	if err != nil {
41208		return nil, err
41209	}
41210
41211	switch m["Kind"] {
41212	case string(KindServiceCreated):
41213		var sce ServiceCreatedEvent
41214		err := json.Unmarshal(body, &sce)
41215		return sce, err
41216	case string(KindServiceDeleted):
41217		var sde ServiceDeletedEvent
41218		err := json.Unmarshal(body, &sde)
41219		return sde, err
41220	case string(KindServiceHealthReportCreated):
41221		var shrce ServiceHealthReportCreatedEvent
41222		err := json.Unmarshal(body, &shrce)
41223		return shrce, err
41224	case string(KindServiceHealthReportExpired):
41225		var shree ServiceHealthReportExpiredEvent
41226		err := json.Unmarshal(body, &shree)
41227		return shree, err
41228	default:
41229		var se ServiceEvent
41230		err := json.Unmarshal(body, &se)
41231		return se, err
41232	}
41233}
41234func unmarshalBasicServiceEventArray(body []byte) ([]BasicServiceEvent, error) {
41235	var rawMessages []*json.RawMessage
41236	err := json.Unmarshal(body, &rawMessages)
41237	if err != nil {
41238		return nil, err
41239	}
41240
41241	seArray := make([]BasicServiceEvent, len(rawMessages))
41242
41243	for index, rawMessage := range rawMessages {
41244		se, err := unmarshalBasicServiceEvent(*rawMessage)
41245		if err != nil {
41246			return nil, err
41247		}
41248		seArray[index] = se
41249	}
41250	return seArray, nil
41251}
41252
41253// MarshalJSON is the custom marshaler for ServiceEvent.
41254func (se ServiceEvent) MarshalJSON() ([]byte, error) {
41255	se.Kind = KindServiceEvent
41256	objectMap := make(map[string]interface{})
41257	if se.ServiceID != nil {
41258		objectMap["ServiceId"] = se.ServiceID
41259	}
41260	if se.EventInstanceID != nil {
41261		objectMap["EventInstanceId"] = se.EventInstanceID
41262	}
41263	if se.TimeStamp != nil {
41264		objectMap["TimeStamp"] = se.TimeStamp
41265	}
41266	if se.HasCorrelatedEvents != nil {
41267		objectMap["HasCorrelatedEvents"] = se.HasCorrelatedEvents
41268	}
41269	if se.Kind != "" {
41270		objectMap["Kind"] = se.Kind
41271	}
41272	return json.Marshal(objectMap)
41273}
41274
41275// AsApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
41276func (se ServiceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
41277	return nil, false
41278}
41279
41280// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
41281func (se ServiceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
41282	return nil, false
41283}
41284
41285// AsClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
41286func (se ServiceEvent) AsClusterEvent() (*ClusterEvent, bool) {
41287	return nil, false
41288}
41289
41290// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
41291func (se ServiceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
41292	return nil, false
41293}
41294
41295// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceEvent.
41296func (se ServiceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
41297	return nil, false
41298}
41299
41300// AsNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
41301func (se ServiceEvent) AsNodeEvent() (*NodeEvent, bool) {
41302	return nil, false
41303}
41304
41305// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
41306func (se ServiceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
41307	return nil, false
41308}
41309
41310// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
41311func (se ServiceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
41312	return nil, false
41313}
41314
41315// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
41316func (se ServiceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
41317	return nil, false
41318}
41319
41320// AsPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
41321func (se ServiceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
41322	return nil, false
41323}
41324
41325// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
41326func (se ServiceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
41327	return nil, false
41328}
41329
41330// AsReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
41331func (se ServiceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
41332	return nil, false
41333}
41334
41335// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
41336func (se ServiceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
41337	return nil, false
41338}
41339
41340// AsServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
41341func (se ServiceEvent) AsServiceEvent() (*ServiceEvent, bool) {
41342	return &se, true
41343}
41344
41345// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
41346func (se ServiceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
41347	return &se, true
41348}
41349
41350// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41351func (se ServiceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
41352	return nil, false
41353}
41354
41355// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41356func (se ServiceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
41357	return nil, false
41358}
41359
41360// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41361func (se ServiceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
41362	return nil, false
41363}
41364
41365// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41366func (se ServiceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
41367	return nil, false
41368}
41369
41370// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41371func (se ServiceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
41372	return nil, false
41373}
41374
41375// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41376func (se ServiceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
41377	return nil, false
41378}
41379
41380// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41381func (se ServiceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
41382	return nil, false
41383}
41384
41385// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41386func (se ServiceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
41387	return nil, false
41388}
41389
41390// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41391func (se ServiceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
41392	return nil, false
41393}
41394
41395// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41396func (se ServiceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
41397	return nil, false
41398}
41399
41400// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41401func (se ServiceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
41402	return nil, false
41403}
41404
41405// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41406func (se ServiceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
41407	return nil, false
41408}
41409
41410// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41411func (se ServiceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
41412	return nil, false
41413}
41414
41415// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceEvent.
41416func (se ServiceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
41417	return nil, false
41418}
41419
41420// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceEvent.
41421func (se ServiceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
41422	return nil, false
41423}
41424
41425// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceEvent.
41426func (se ServiceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
41427	return nil, false
41428}
41429
41430// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceEvent.
41431func (se ServiceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
41432	return nil, false
41433}
41434
41435// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceEvent.
41436func (se ServiceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
41437	return nil, false
41438}
41439
41440// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41441func (se ServiceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
41442	return nil, false
41443}
41444
41445// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41446func (se ServiceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
41447	return nil, false
41448}
41449
41450// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceEvent.
41451func (se ServiceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
41452	return nil, false
41453}
41454
41455// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41456func (se ServiceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
41457	return nil, false
41458}
41459
41460// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41461func (se ServiceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
41462	return nil, false
41463}
41464
41465// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceEvent.
41466func (se ServiceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
41467	return nil, false
41468}
41469
41470// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceEvent.
41471func (se ServiceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
41472	return nil, false
41473}
41474
41475// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceEvent.
41476func (se ServiceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
41477	return nil, false
41478}
41479
41480// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceEvent.
41481func (se ServiceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
41482	return nil, false
41483}
41484
41485// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceEvent.
41486func (se ServiceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
41487	return nil, false
41488}
41489
41490// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41491func (se ServiceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
41492	return nil, false
41493}
41494
41495// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41496func (se ServiceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
41497	return nil, false
41498}
41499
41500// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41501func (se ServiceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
41502	return nil, false
41503}
41504
41505// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
41506func (se ServiceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
41507	return nil, false
41508}
41509
41510// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41511func (se ServiceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
41512	return nil, false
41513}
41514
41515// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41516func (se ServiceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
41517	return nil, false
41518}
41519
41520// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41521func (se ServiceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
41522	return nil, false
41523}
41524
41525// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41526func (se ServiceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
41527	return nil, false
41528}
41529
41530// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41531func (se ServiceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
41532	return nil, false
41533}
41534
41535// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41536func (se ServiceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
41537	return nil, false
41538}
41539
41540// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41541func (se ServiceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
41542	return nil, false
41543}
41544
41545// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41546func (se ServiceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
41547	return nil, false
41548}
41549
41550// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41551func (se ServiceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
41552	return nil, false
41553}
41554
41555// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41556func (se ServiceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
41557	return nil, false
41558}
41559
41560// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
41561func (se ServiceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
41562	return nil, false
41563}
41564
41565// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
41566func (se ServiceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
41567	return nil, false
41568}
41569
41570// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41571func (se ServiceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
41572	return nil, false
41573}
41574
41575// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41576func (se ServiceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
41577	return nil, false
41578}
41579
41580// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
41581func (se ServiceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
41582	return nil, false
41583}
41584
41585// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41586func (se ServiceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
41587	return nil, false
41588}
41589
41590// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
41591func (se ServiceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
41592	return nil, false
41593}
41594
41595// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceEvent.
41596func (se ServiceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
41597	return nil, false
41598}
41599
41600// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceEvent.
41601func (se ServiceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
41602	return nil, false
41603}
41604
41605// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41606func (se ServiceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
41607	return nil, false
41608}
41609
41610// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
41611func (se ServiceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
41612	return nil, false
41613}
41614
41615// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41616func (se ServiceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
41617	return nil, false
41618}
41619
41620// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
41621func (se ServiceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
41622	return nil, false
41623}
41624
41625// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
41626func (se ServiceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
41627	return nil, false
41628}
41629
41630// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
41631func (se ServiceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
41632	return nil, false
41633}
41634
41635// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
41636func (se ServiceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
41637	return nil, false
41638}
41639
41640// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
41641func (se ServiceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
41642	return nil, false
41643}
41644
41645// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
41646func (se ServiceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
41647	return nil, false
41648}
41649
41650// AsFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
41651func (se ServiceEvent) AsFabricEvent() (*FabricEvent, bool) {
41652	return nil, false
41653}
41654
41655// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
41656func (se ServiceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
41657	return &se, true
41658}
41659
41660// ServiceFromTemplateDescription defines description for creating a Service Fabric service from a template
41661// defined in the application manifest.
41662type ServiceFromTemplateDescription struct {
41663	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
41664	ApplicationName *string `json:"ApplicationName,omitempty"`
41665	// ServiceName - The full name of the service with 'fabric:' URI scheme.
41666	ServiceName *string `json:"ServiceName,omitempty"`
41667	// ServiceTypeName - Name of the service type as specified in the service manifest.
41668	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
41669	// InitializationData - The initialization data for the newly created service instance.
41670	InitializationData *[]int32 `json:"InitializationData,omitempty"`
41671	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
41672	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
41673	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
41674	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
41675}
41676
41677// ServiceHealth information about the health of a Service Fabric service.
41678type ServiceHealth struct {
41679	autorest.Response `json:"-"`
41680	// Name - The name of the service whose health information is described by this object.
41681	Name *string `json:"Name,omitempty"`
41682	// PartitionHealthStates - The list of partition health states associated with the service.
41683	PartitionHealthStates *[]PartitionHealthState `json:"PartitionHealthStates,omitempty"`
41684	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
41685	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
41686	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
41687	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41688	// HealthEvents - The list of health events reported on the entity.
41689	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
41690	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
41691	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
41692	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
41693	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
41694}
41695
41696// ServiceHealthEvaluation represents health evaluation for a service, containing information about the
41697// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
41698// aggregated health state is either Error or Warning.
41699type ServiceHealthEvaluation struct {
41700	// ServiceName - Name of the service whose health evaluation is described by this object.
41701	ServiceName *string `json:"ServiceName,omitempty"`
41702	// 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.
41703	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
41704	// 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'
41705	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41706	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
41707	Description *string `json:"Description,omitempty"`
41708	// 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'
41709	Kind Kind `json:"Kind,omitempty"`
41710}
41711
41712// MarshalJSON is the custom marshaler for ServiceHealthEvaluation.
41713func (she ServiceHealthEvaluation) MarshalJSON() ([]byte, error) {
41714	she.Kind = KindService
41715	objectMap := make(map[string]interface{})
41716	if she.ServiceName != nil {
41717		objectMap["ServiceName"] = she.ServiceName
41718	}
41719	if she.UnhealthyEvaluations != nil {
41720		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
41721	}
41722	if she.AggregatedHealthState != "" {
41723		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
41724	}
41725	if she.Description != nil {
41726		objectMap["Description"] = she.Description
41727	}
41728	if she.Kind != "" {
41729		objectMap["Kind"] = she.Kind
41730	}
41731	return json.Marshal(objectMap)
41732}
41733
41734// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41735func (she ServiceHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
41736	return nil, false
41737}
41738
41739// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41740func (she ServiceHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
41741	return nil, false
41742}
41743
41744// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41745func (she ServiceHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
41746	return nil, false
41747}
41748
41749// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41750func (she ServiceHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
41751	return nil, false
41752}
41753
41754// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41755func (she ServiceHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
41756	return nil, false
41757}
41758
41759// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41760func (she ServiceHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
41761	return nil, false
41762}
41763
41764// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41765func (she ServiceHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
41766	return nil, false
41767}
41768
41769// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41770func (she ServiceHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
41771	return nil, false
41772}
41773
41774// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41775func (she ServiceHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
41776	return nil, false
41777}
41778
41779// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41780func (she ServiceHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
41781	return nil, false
41782}
41783
41784// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41785func (she ServiceHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
41786	return nil, false
41787}
41788
41789// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41790func (she ServiceHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
41791	return nil, false
41792}
41793
41794// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41795func (she ServiceHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
41796	return nil, false
41797}
41798
41799// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41800func (she ServiceHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
41801	return nil, false
41802}
41803
41804// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41805func (she ServiceHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
41806	return nil, false
41807}
41808
41809// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41810func (she ServiceHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
41811	return &she, true
41812}
41813
41814// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41815func (she ServiceHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
41816	return nil, false
41817}
41818
41819// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41820func (she ServiceHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
41821	return nil, false
41822}
41823
41824// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41825func (she ServiceHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
41826	return nil, false
41827}
41828
41829// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41830func (she ServiceHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
41831	return nil, false
41832}
41833
41834// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41835func (she ServiceHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
41836	return nil, false
41837}
41838
41839// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
41840func (she ServiceHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
41841	return &she, true
41842}
41843
41844// ServiceHealthReportCreatedEvent service Health Report Created event.
41845type ServiceHealthReportCreatedEvent struct {
41846	// InstanceID - Id of Service instance.
41847	InstanceID *int64 `json:"InstanceId,omitempty"`
41848	// SourceID - Id of report source.
41849	SourceID *string `json:"SourceId,omitempty"`
41850	// Property - Describes the property.
41851	Property *string `json:"Property,omitempty"`
41852	// HealthState - Describes the property health state.
41853	HealthState *string `json:"HealthState,omitempty"`
41854	// TimeToLiveMs - Time to live in milli-seconds.
41855	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
41856	// SequenceNumber - Sequence number of report.
41857	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
41858	// Description - Description of report.
41859	Description *string `json:"Description,omitempty"`
41860	// RemoveWhenExpired - Indicates the removal when it expires.
41861	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
41862	// SourceUtcTimestamp - Source time.
41863	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
41864	// ServiceID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
41865	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
41866	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
41867	ServiceID *string `json:"ServiceId,omitempty"`
41868	// EventInstanceID - The identifier for the FabricEvent instance.
41869	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
41870	// TimeStamp - The time event was logged.
41871	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
41872	// HasCorrelatedEvents - Shows there is existing related events available.
41873	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
41874	// 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'
41875	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
41876}
41877
41878// MarshalJSON is the custom marshaler for ServiceHealthReportCreatedEvent.
41879func (shrce ServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
41880	shrce.Kind = KindServiceHealthReportCreated
41881	objectMap := make(map[string]interface{})
41882	if shrce.InstanceID != nil {
41883		objectMap["InstanceId"] = shrce.InstanceID
41884	}
41885	if shrce.SourceID != nil {
41886		objectMap["SourceId"] = shrce.SourceID
41887	}
41888	if shrce.Property != nil {
41889		objectMap["Property"] = shrce.Property
41890	}
41891	if shrce.HealthState != nil {
41892		objectMap["HealthState"] = shrce.HealthState
41893	}
41894	if shrce.TimeToLiveMs != nil {
41895		objectMap["TimeToLiveMs"] = shrce.TimeToLiveMs
41896	}
41897	if shrce.SequenceNumber != nil {
41898		objectMap["SequenceNumber"] = shrce.SequenceNumber
41899	}
41900	if shrce.Description != nil {
41901		objectMap["Description"] = shrce.Description
41902	}
41903	if shrce.RemoveWhenExpired != nil {
41904		objectMap["RemoveWhenExpired"] = shrce.RemoveWhenExpired
41905	}
41906	if shrce.SourceUtcTimestamp != nil {
41907		objectMap["SourceUtcTimestamp"] = shrce.SourceUtcTimestamp
41908	}
41909	if shrce.ServiceID != nil {
41910		objectMap["ServiceId"] = shrce.ServiceID
41911	}
41912	if shrce.EventInstanceID != nil {
41913		objectMap["EventInstanceId"] = shrce.EventInstanceID
41914	}
41915	if shrce.TimeStamp != nil {
41916		objectMap["TimeStamp"] = shrce.TimeStamp
41917	}
41918	if shrce.HasCorrelatedEvents != nil {
41919		objectMap["HasCorrelatedEvents"] = shrce.HasCorrelatedEvents
41920	}
41921	if shrce.Kind != "" {
41922		objectMap["Kind"] = shrce.Kind
41923	}
41924	return json.Marshal(objectMap)
41925}
41926
41927// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41928func (shrce ServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
41929	return nil, false
41930}
41931
41932// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41933func (shrce ServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
41934	return nil, false
41935}
41936
41937// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41938func (shrce ServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
41939	return nil, false
41940}
41941
41942// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41943func (shrce ServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
41944	return nil, false
41945}
41946
41947// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41948func (shrce ServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
41949	return nil, false
41950}
41951
41952// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41953func (shrce ServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
41954	return nil, false
41955}
41956
41957// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41958func (shrce ServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
41959	return nil, false
41960}
41961
41962// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41963func (shrce ServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
41964	return nil, false
41965}
41966
41967// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41968func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
41969	return nil, false
41970}
41971
41972// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41973func (shrce ServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
41974	return nil, false
41975}
41976
41977// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41978func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
41979	return nil, false
41980}
41981
41982// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41983func (shrce ServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
41984	return nil, false
41985}
41986
41987// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41988func (shrce ServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
41989	return nil, false
41990}
41991
41992// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41993func (shrce ServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
41994	return nil, false
41995}
41996
41997// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
41998func (shrce ServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
41999	return &shrce, true
42000}
42001
42002// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42003func (shrce ServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
42004	return nil, false
42005}
42006
42007// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42008func (shrce ServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
42009	return nil, false
42010}
42011
42012// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42013func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
42014	return nil, false
42015}
42016
42017// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42018func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
42019	return nil, false
42020}
42021
42022// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42023func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
42024	return nil, false
42025}
42026
42027// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42028func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
42029	return nil, false
42030}
42031
42032// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42033func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
42034	return nil, false
42035}
42036
42037// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42038func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
42039	return nil, false
42040}
42041
42042// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42043func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
42044	return nil, false
42045}
42046
42047// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42048func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
42049	return nil, false
42050}
42051
42052// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42053func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
42054	return nil, false
42055}
42056
42057// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42058func (shrce ServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
42059	return nil, false
42060}
42061
42062// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42063func (shrce ServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
42064	return nil, false
42065}
42066
42067// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42068func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
42069	return nil, false
42070}
42071
42072// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42073func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
42074	return nil, false
42075}
42076
42077// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42078func (shrce ServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
42079	return nil, false
42080}
42081
42082// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42083func (shrce ServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
42084	return nil, false
42085}
42086
42087// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42088func (shrce ServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
42089	return nil, false
42090}
42091
42092// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42093func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
42094	return nil, false
42095}
42096
42097// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42098func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
42099	return nil, false
42100}
42101
42102// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42103func (shrce ServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
42104	return nil, false
42105}
42106
42107// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42108func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
42109	return nil, false
42110}
42111
42112// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42113func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
42114	return nil, false
42115}
42116
42117// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42118func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
42119	return nil, false
42120}
42121
42122// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42123func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
42124	return nil, false
42125}
42126
42127// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42128func (shrce ServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
42129	return nil, false
42130}
42131
42132// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42133func (shrce ServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
42134	return nil, false
42135}
42136
42137// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42138func (shrce ServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
42139	return nil, false
42140}
42141
42142// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42143func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
42144	return nil, false
42145}
42146
42147// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42148func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
42149	return nil, false
42150}
42151
42152// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42153func (shrce ServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
42154	return nil, false
42155}
42156
42157// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42158func (shrce ServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
42159	return nil, false
42160}
42161
42162// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42163func (shrce ServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
42164	return nil, false
42165}
42166
42167// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42168func (shrce ServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
42169	return nil, false
42170}
42171
42172// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42173func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
42174	return &shrce, true
42175}
42176
42177// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42178func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
42179	return nil, false
42180}
42181
42182// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42183func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
42184	return nil, false
42185}
42186
42187// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42188func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
42189	return nil, false
42190}
42191
42192// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42193func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
42194	return nil, false
42195}
42196
42197// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42198func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
42199	return nil, false
42200}
42201
42202// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42203func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
42204	return nil, false
42205}
42206
42207// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42208func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
42209	return nil, false
42210}
42211
42212// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42213func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
42214	return nil, false
42215}
42216
42217// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42218func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
42219	return nil, false
42220}
42221
42222// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42223func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
42224	return nil, false
42225}
42226
42227// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42228func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
42229	return nil, false
42230}
42231
42232// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42233func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
42234	return nil, false
42235}
42236
42237// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42238func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
42239	return nil, false
42240}
42241
42242// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42243func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
42244	return nil, false
42245}
42246
42247// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42248func (shrce ServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
42249	return nil, false
42250}
42251
42252// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42253func (shrce ServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
42254	return nil, false
42255}
42256
42257// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42258func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
42259	return nil, false
42260}
42261
42262// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42263func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
42264	return nil, false
42265}
42266
42267// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42268func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
42269	return nil, false
42270}
42271
42272// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42273func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
42274	return nil, false
42275}
42276
42277// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42278func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
42279	return nil, false
42280}
42281
42282// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42283func (shrce ServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
42284	return nil, false
42285}
42286
42287// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42288func (shrce ServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
42289	return nil, false
42290}
42291
42292// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42293func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
42294	return nil, false
42295}
42296
42297// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42298func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
42299	return nil, false
42300}
42301
42302// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42303func (shrce ServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
42304	return nil, false
42305}
42306
42307// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
42308func (shrce ServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
42309	return &shrce, true
42310}
42311
42312// ServiceHealthReportExpiredEvent service Health Report Expired event.
42313type ServiceHealthReportExpiredEvent struct {
42314	// InstanceID - Id of Service instance.
42315	InstanceID *int64 `json:"InstanceId,omitempty"`
42316	// SourceID - Id of report source.
42317	SourceID *string `json:"SourceId,omitempty"`
42318	// Property - Describes the property.
42319	Property *string `json:"Property,omitempty"`
42320	// HealthState - Describes the property health state.
42321	HealthState *string `json:"HealthState,omitempty"`
42322	// TimeToLiveMs - Time to live in milli-seconds.
42323	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
42324	// SequenceNumber - Sequence number of report.
42325	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
42326	// Description - Description of report.
42327	Description *string `json:"Description,omitempty"`
42328	// RemoveWhenExpired - Indicates the removal when it expires.
42329	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
42330	// SourceUtcTimestamp - Source time.
42331	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
42332	// ServiceID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
42333	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
42334	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
42335	ServiceID *string `json:"ServiceId,omitempty"`
42336	// EventInstanceID - The identifier for the FabricEvent instance.
42337	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
42338	// TimeStamp - The time event was logged.
42339	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
42340	// HasCorrelatedEvents - Shows there is existing related events available.
42341	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
42342	// 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'
42343	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
42344}
42345
42346// MarshalJSON is the custom marshaler for ServiceHealthReportExpiredEvent.
42347func (shree ServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
42348	shree.Kind = KindServiceHealthReportExpired
42349	objectMap := make(map[string]interface{})
42350	if shree.InstanceID != nil {
42351		objectMap["InstanceId"] = shree.InstanceID
42352	}
42353	if shree.SourceID != nil {
42354		objectMap["SourceId"] = shree.SourceID
42355	}
42356	if shree.Property != nil {
42357		objectMap["Property"] = shree.Property
42358	}
42359	if shree.HealthState != nil {
42360		objectMap["HealthState"] = shree.HealthState
42361	}
42362	if shree.TimeToLiveMs != nil {
42363		objectMap["TimeToLiveMs"] = shree.TimeToLiveMs
42364	}
42365	if shree.SequenceNumber != nil {
42366		objectMap["SequenceNumber"] = shree.SequenceNumber
42367	}
42368	if shree.Description != nil {
42369		objectMap["Description"] = shree.Description
42370	}
42371	if shree.RemoveWhenExpired != nil {
42372		objectMap["RemoveWhenExpired"] = shree.RemoveWhenExpired
42373	}
42374	if shree.SourceUtcTimestamp != nil {
42375		objectMap["SourceUtcTimestamp"] = shree.SourceUtcTimestamp
42376	}
42377	if shree.ServiceID != nil {
42378		objectMap["ServiceId"] = shree.ServiceID
42379	}
42380	if shree.EventInstanceID != nil {
42381		objectMap["EventInstanceId"] = shree.EventInstanceID
42382	}
42383	if shree.TimeStamp != nil {
42384		objectMap["TimeStamp"] = shree.TimeStamp
42385	}
42386	if shree.HasCorrelatedEvents != nil {
42387		objectMap["HasCorrelatedEvents"] = shree.HasCorrelatedEvents
42388	}
42389	if shree.Kind != "" {
42390		objectMap["Kind"] = shree.Kind
42391	}
42392	return json.Marshal(objectMap)
42393}
42394
42395// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42396func (shree ServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
42397	return nil, false
42398}
42399
42400// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42401func (shree ServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
42402	return nil, false
42403}
42404
42405// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42406func (shree ServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
42407	return nil, false
42408}
42409
42410// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42411func (shree ServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
42412	return nil, false
42413}
42414
42415// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42416func (shree ServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
42417	return nil, false
42418}
42419
42420// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42421func (shree ServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
42422	return nil, false
42423}
42424
42425// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42426func (shree ServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
42427	return nil, false
42428}
42429
42430// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42431func (shree ServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
42432	return nil, false
42433}
42434
42435// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42436func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
42437	return nil, false
42438}
42439
42440// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42441func (shree ServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
42442	return nil, false
42443}
42444
42445// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42446func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
42447	return nil, false
42448}
42449
42450// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42451func (shree ServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
42452	return nil, false
42453}
42454
42455// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42456func (shree ServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
42457	return nil, false
42458}
42459
42460// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42461func (shree ServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
42462	return nil, false
42463}
42464
42465// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42466func (shree ServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
42467	return &shree, true
42468}
42469
42470// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42471func (shree ServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
42472	return nil, false
42473}
42474
42475// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42476func (shree ServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
42477	return nil, false
42478}
42479
42480// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42481func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
42482	return nil, false
42483}
42484
42485// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42486func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
42487	return nil, false
42488}
42489
42490// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42491func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
42492	return nil, false
42493}
42494
42495// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42496func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
42497	return nil, false
42498}
42499
42500// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42501func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
42502	return nil, false
42503}
42504
42505// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42506func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
42507	return nil, false
42508}
42509
42510// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42511func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
42512	return nil, false
42513}
42514
42515// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42516func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
42517	return nil, false
42518}
42519
42520// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42521func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
42522	return nil, false
42523}
42524
42525// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42526func (shree ServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
42527	return nil, false
42528}
42529
42530// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42531func (shree ServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
42532	return nil, false
42533}
42534
42535// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42536func (shree ServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
42537	return nil, false
42538}
42539
42540// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42541func (shree ServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
42542	return nil, false
42543}
42544
42545// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42546func (shree ServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
42547	return nil, false
42548}
42549
42550// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42551func (shree ServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
42552	return nil, false
42553}
42554
42555// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42556func (shree ServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
42557	return nil, false
42558}
42559
42560// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42561func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
42562	return nil, false
42563}
42564
42565// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42566func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
42567	return nil, false
42568}
42569
42570// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42571func (shree ServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
42572	return nil, false
42573}
42574
42575// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42576func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
42577	return nil, false
42578}
42579
42580// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42581func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
42582	return nil, false
42583}
42584
42585// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42586func (shree ServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
42587	return nil, false
42588}
42589
42590// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42591func (shree ServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
42592	return nil, false
42593}
42594
42595// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42596func (shree ServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
42597	return nil, false
42598}
42599
42600// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42601func (shree ServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
42602	return nil, false
42603}
42604
42605// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42606func (shree ServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
42607	return nil, false
42608}
42609
42610// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42611func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
42612	return nil, false
42613}
42614
42615// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42616func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
42617	return nil, false
42618}
42619
42620// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42621func (shree ServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
42622	return nil, false
42623}
42624
42625// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42626func (shree ServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
42627	return nil, false
42628}
42629
42630// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42631func (shree ServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
42632	return nil, false
42633}
42634
42635// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42636func (shree ServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
42637	return nil, false
42638}
42639
42640// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42641func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
42642	return nil, false
42643}
42644
42645// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42646func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
42647	return &shree, true
42648}
42649
42650// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42651func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
42652	return nil, false
42653}
42654
42655// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42656func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
42657	return nil, false
42658}
42659
42660// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42661func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
42662	return nil, false
42663}
42664
42665// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42666func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
42667	return nil, false
42668}
42669
42670// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42671func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
42672	return nil, false
42673}
42674
42675// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42676func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
42677	return nil, false
42678}
42679
42680// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42681func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
42682	return nil, false
42683}
42684
42685// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42686func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
42687	return nil, false
42688}
42689
42690// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42691func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
42692	return nil, false
42693}
42694
42695// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42696func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
42697	return nil, false
42698}
42699
42700// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42701func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
42702	return nil, false
42703}
42704
42705// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42706func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
42707	return nil, false
42708}
42709
42710// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42711func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
42712	return nil, false
42713}
42714
42715// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42716func (shree ServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
42717	return nil, false
42718}
42719
42720// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42721func (shree ServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
42722	return nil, false
42723}
42724
42725// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42726func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
42727	return nil, false
42728}
42729
42730// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42731func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
42732	return nil, false
42733}
42734
42735// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42736func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
42737	return nil, false
42738}
42739
42740// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42741func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
42742	return nil, false
42743}
42744
42745// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42746func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
42747	return nil, false
42748}
42749
42750// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42751func (shree ServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
42752	return nil, false
42753}
42754
42755// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42756func (shree ServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
42757	return nil, false
42758}
42759
42760// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42761func (shree ServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
42762	return nil, false
42763}
42764
42765// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42766func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
42767	return nil, false
42768}
42769
42770// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42771func (shree ServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
42772	return nil, false
42773}
42774
42775// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
42776func (shree ServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
42777	return &shree, true
42778}
42779
42780// ServiceHealthState represents the health state of a service, which contains the service identifier and
42781// its aggregated health state.
42782type ServiceHealthState struct {
42783	// ServiceName - Name of the service whose health state is represented by this object.
42784	ServiceName *string `json:"ServiceName,omitempty"`
42785	// 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'
42786	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
42787}
42788
42789// ServiceHealthStateChunk represents the health state chunk of a service, which contains the service name,
42790// its aggregated health state and any partitions that respect the filters in the cluster health chunk
42791// query description.
42792type ServiceHealthStateChunk struct {
42793	// ServiceName - The name of the service whose health state chunk is provided in this object.
42794	ServiceName *string `json:"ServiceName,omitempty"`
42795	// PartitionHealthStateChunks - The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description.
42796	PartitionHealthStateChunks *PartitionHealthStateChunkList `json:"PartitionHealthStateChunks,omitempty"`
42797	// 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'
42798	HealthState HealthState `json:"HealthState,omitempty"`
42799}
42800
42801// ServiceHealthStateChunkList the list of service health state chunks that respect the input filters in
42802// the chunk query. Returned by get cluster health state chunks query.
42803type ServiceHealthStateChunkList struct {
42804	// Items - The list of service health state chunks that respect the input filters in the chunk query.
42805	Items *[]ServiceHealthStateChunk `json:"Items,omitempty"`
42806}
42807
42808// ServiceHealthStateFilter defines matching criteria to determine whether a service should be included as
42809// a child of an application in the cluster health chunk.
42810// The services are only returned if the parent application matches a filter specified in the cluster
42811// health chunk query description.
42812// One filter can match zero, one or multiple services, depending on its properties.
42813type ServiceHealthStateFilter struct {
42814	// ServiceNameFilter - The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.
42815	// If the service doesn't exist, no service is returned in the cluster health chunk based on this filter.
42816	// If the service exists, it is included as the application's child if the health state matches the other filter properties.
42817	// 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.
42818	ServiceNameFilter *string `json:"ServiceNameFilter,omitempty"`
42819	// HealthStateFilter - The filter for the health state of the services. It allows selecting services if they match the desired health states.
42820	// 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.
42821	// 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.
42822	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
42823	// For example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).
42824	// - Default - Default value. Matches any HealthState. The value is zero.
42825	// - 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.
42826	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
42827	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
42828	// - Error - Filter that matches input with HealthState value Error. The value is 8.
42829	// - All - Filter that matches input with any HealthState value. The value is 65535.
42830	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
42831	// 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.
42832	// 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.
42833	// The service filter may specify multiple partition filters.
42834	// 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.
42835	PartitionFilters *[]PartitionHealthStateFilter `json:"PartitionFilters,omitempty"`
42836}
42837
42838// BasicServiceInfo information about a Service Fabric service.
42839type BasicServiceInfo interface {
42840	AsStatefulServiceInfo() (*StatefulServiceInfo, bool)
42841	AsStatelessServiceInfo() (*StatelessServiceInfo, bool)
42842	AsServiceInfo() (*ServiceInfo, bool)
42843}
42844
42845// ServiceInfo information about a Service Fabric service.
42846type ServiceInfo struct {
42847	autorest.Response `json:"-"`
42848	// ID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
42849	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
42850	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
42851	ID *string `json:"Id,omitempty"`
42852	// Name - The full name of the service with 'fabric:' URI scheme.
42853	Name *string `json:"Name,omitempty"`
42854	// TypeName - Name of the service type as specified in the service manifest.
42855	TypeName *string `json:"TypeName,omitempty"`
42856	// ManifestVersion - The version of the service manifest.
42857	ManifestVersion *string `json:"ManifestVersion,omitempty"`
42858	// 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'
42859	HealthState HealthState `json:"HealthState,omitempty"`
42860	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
42861	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
42862	// IsServiceGroup - Whether the service is in a service group.
42863	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
42864	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
42865	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
42866}
42867
42868func unmarshalBasicServiceInfo(body []byte) (BasicServiceInfo, error) {
42869	var m map[string]interface{}
42870	err := json.Unmarshal(body, &m)
42871	if err != nil {
42872		return nil, err
42873	}
42874
42875	switch m["ServiceKind"] {
42876	case string(ServiceKindBasicServiceInfoServiceKindStateful):
42877		var ssi StatefulServiceInfo
42878		err := json.Unmarshal(body, &ssi)
42879		return ssi, err
42880	case string(ServiceKindBasicServiceInfoServiceKindStateless):
42881		var ssi StatelessServiceInfo
42882		err := json.Unmarshal(body, &ssi)
42883		return ssi, err
42884	default:
42885		var si ServiceInfo
42886		err := json.Unmarshal(body, &si)
42887		return si, err
42888	}
42889}
42890func unmarshalBasicServiceInfoArray(body []byte) ([]BasicServiceInfo, error) {
42891	var rawMessages []*json.RawMessage
42892	err := json.Unmarshal(body, &rawMessages)
42893	if err != nil {
42894		return nil, err
42895	}
42896
42897	siArray := make([]BasicServiceInfo, len(rawMessages))
42898
42899	for index, rawMessage := range rawMessages {
42900		si, err := unmarshalBasicServiceInfo(*rawMessage)
42901		if err != nil {
42902			return nil, err
42903		}
42904		siArray[index] = si
42905	}
42906	return siArray, nil
42907}
42908
42909// MarshalJSON is the custom marshaler for ServiceInfo.
42910func (si ServiceInfo) MarshalJSON() ([]byte, error) {
42911	si.ServiceKind = ServiceKindBasicServiceInfoServiceKindServiceInfo
42912	objectMap := make(map[string]interface{})
42913	if si.ID != nil {
42914		objectMap["Id"] = si.ID
42915	}
42916	if si.Name != nil {
42917		objectMap["Name"] = si.Name
42918	}
42919	if si.TypeName != nil {
42920		objectMap["TypeName"] = si.TypeName
42921	}
42922	if si.ManifestVersion != nil {
42923		objectMap["ManifestVersion"] = si.ManifestVersion
42924	}
42925	if si.HealthState != "" {
42926		objectMap["HealthState"] = si.HealthState
42927	}
42928	if si.ServiceStatus != "" {
42929		objectMap["ServiceStatus"] = si.ServiceStatus
42930	}
42931	if si.IsServiceGroup != nil {
42932		objectMap["IsServiceGroup"] = si.IsServiceGroup
42933	}
42934	if si.ServiceKind != "" {
42935		objectMap["ServiceKind"] = si.ServiceKind
42936	}
42937	return json.Marshal(objectMap)
42938}
42939
42940// AsStatefulServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
42941func (si ServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
42942	return nil, false
42943}
42944
42945// AsStatelessServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
42946func (si ServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
42947	return nil, false
42948}
42949
42950// AsServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
42951func (si ServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
42952	return &si, true
42953}
42954
42955// AsBasicServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
42956func (si ServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
42957	return &si, true
42958}
42959
42960// ServiceInfoModel ...
42961type ServiceInfoModel struct {
42962	autorest.Response `json:"-"`
42963	Value             BasicServiceInfo `json:"value,omitempty"`
42964}
42965
42966// UnmarshalJSON is the custom unmarshaler for ServiceInfoModel struct.
42967func (sim *ServiceInfoModel) UnmarshalJSON(body []byte) error {
42968	si, err := unmarshalBasicServiceInfo(body)
42969	if err != nil {
42970		return err
42971	}
42972	sim.Value = si
42973
42974	return nil
42975}
42976
42977// ServiceLoadMetricDescription specifies a metric to load balance a service during runtime.
42978type ServiceLoadMetricDescription struct {
42979	// 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.
42980	Name *string `json:"Name,omitempty"`
42981	// 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'
42982	Weight ServiceLoadMetricWeight `json:"Weight,omitempty"`
42983	// 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.
42984	PrimaryDefaultLoad *int32 `json:"PrimaryDefaultLoad,omitempty"`
42985	// 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.
42986	SecondaryDefaultLoad *int32 `json:"SecondaryDefaultLoad,omitempty"`
42987	// DefaultLoad - Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
42988	DefaultLoad *int32 `json:"DefaultLoad,omitempty"`
42989}
42990
42991// ServiceNameInfo information about the service name.
42992type ServiceNameInfo struct {
42993	autorest.Response `json:"-"`
42994	// ID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
42995	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
42996	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
42997	ID *string `json:"Id,omitempty"`
42998	// Name - The full name of the service with 'fabric:' URI scheme.
42999	Name *string `json:"Name,omitempty"`
43000}
43001
43002// BasicServicePartitionInfo information about a partition of a Service Fabric service.
43003type BasicServicePartitionInfo interface {
43004	AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool)
43005	AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool)
43006	AsServicePartitionInfo() (*ServicePartitionInfo, bool)
43007}
43008
43009// ServicePartitionInfo information about a partition of a Service Fabric service.
43010type ServicePartitionInfo struct {
43011	autorest.Response `json:"-"`
43012	// 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'
43013	HealthState HealthState `json:"HealthState,omitempty"`
43014	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
43015	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
43016	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
43017	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
43018	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
43019	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
43020}
43021
43022func unmarshalBasicServicePartitionInfo(body []byte) (BasicServicePartitionInfo, error) {
43023	var m map[string]interface{}
43024	err := json.Unmarshal(body, &m)
43025	if err != nil {
43026		return nil, err
43027	}
43028
43029	switch m["ServiceKind"] {
43030	case string(ServiceKindBasicServicePartitionInfoServiceKindStateful):
43031		var sspi StatefulServicePartitionInfo
43032		err := json.Unmarshal(body, &sspi)
43033		return sspi, err
43034	case string(ServiceKindBasicServicePartitionInfoServiceKindStateless):
43035		var sspi StatelessServicePartitionInfo
43036		err := json.Unmarshal(body, &sspi)
43037		return sspi, err
43038	default:
43039		var spi ServicePartitionInfo
43040		err := json.Unmarshal(body, &spi)
43041		return spi, err
43042	}
43043}
43044func unmarshalBasicServicePartitionInfoArray(body []byte) ([]BasicServicePartitionInfo, error) {
43045	var rawMessages []*json.RawMessage
43046	err := json.Unmarshal(body, &rawMessages)
43047	if err != nil {
43048		return nil, err
43049	}
43050
43051	spiArray := make([]BasicServicePartitionInfo, len(rawMessages))
43052
43053	for index, rawMessage := range rawMessages {
43054		spi, err := unmarshalBasicServicePartitionInfo(*rawMessage)
43055		if err != nil {
43056			return nil, err
43057		}
43058		spiArray[index] = spi
43059	}
43060	return spiArray, nil
43061}
43062
43063// MarshalJSON is the custom marshaler for ServicePartitionInfo.
43064func (spi ServicePartitionInfo) MarshalJSON() ([]byte, error) {
43065	spi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo
43066	objectMap := make(map[string]interface{})
43067	if spi.HealthState != "" {
43068		objectMap["HealthState"] = spi.HealthState
43069	}
43070	if spi.PartitionStatus != "" {
43071		objectMap["PartitionStatus"] = spi.PartitionStatus
43072	}
43073	objectMap["PartitionInformation"] = spi.PartitionInformation
43074	if spi.ServiceKind != "" {
43075		objectMap["ServiceKind"] = spi.ServiceKind
43076	}
43077	return json.Marshal(objectMap)
43078}
43079
43080// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43081func (spi ServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
43082	return nil, false
43083}
43084
43085// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43086func (spi ServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
43087	return nil, false
43088}
43089
43090// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43091func (spi ServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
43092	return &spi, true
43093}
43094
43095// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
43096func (spi ServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
43097	return &spi, true
43098}
43099
43100// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfo struct.
43101func (spi *ServicePartitionInfo) UnmarshalJSON(body []byte) error {
43102	var m map[string]*json.RawMessage
43103	err := json.Unmarshal(body, &m)
43104	if err != nil {
43105		return err
43106	}
43107	for k, v := range m {
43108		switch k {
43109		case "HealthState":
43110			if v != nil {
43111				var healthState HealthState
43112				err = json.Unmarshal(*v, &healthState)
43113				if err != nil {
43114					return err
43115				}
43116				spi.HealthState = healthState
43117			}
43118		case "PartitionStatus":
43119			if v != nil {
43120				var partitionStatus ServicePartitionStatus
43121				err = json.Unmarshal(*v, &partitionStatus)
43122				if err != nil {
43123					return err
43124				}
43125				spi.PartitionStatus = partitionStatus
43126			}
43127		case "PartitionInformation":
43128			if v != nil {
43129				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
43130				if err != nil {
43131					return err
43132				}
43133				spi.PartitionInformation = partitionInformation
43134			}
43135		case "ServiceKind":
43136			if v != nil {
43137				var serviceKind ServiceKindBasicServicePartitionInfo
43138				err = json.Unmarshal(*v, &serviceKind)
43139				if err != nil {
43140					return err
43141				}
43142				spi.ServiceKind = serviceKind
43143			}
43144		}
43145	}
43146
43147	return nil
43148}
43149
43150// ServicePartitionInfoModel ...
43151type ServicePartitionInfoModel struct {
43152	autorest.Response `json:"-"`
43153	Value             BasicServicePartitionInfo `json:"value,omitempty"`
43154}
43155
43156// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfoModel struct.
43157func (spim *ServicePartitionInfoModel) UnmarshalJSON(body []byte) error {
43158	spi, err := unmarshalBasicServicePartitionInfo(body)
43159	if err != nil {
43160		return err
43161	}
43162	spim.Value = spi
43163
43164	return nil
43165}
43166
43167// ServicePlacementInvalidDomainPolicyDescription describes the policy to be used for placement of a
43168// Service Fabric service where a particular fault or upgrade domain should not be used for placement of
43169// the instances or replicas of that service.
43170type ServicePlacementInvalidDomainPolicyDescription struct {
43171	// DomainName - The name of the domain that should not be used for placement.
43172	DomainName *string `json:"DomainName,omitempty"`
43173	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43174	Type Type `json:"Type,omitempty"`
43175}
43176
43177// MarshalJSON is the custom marshaler for ServicePlacementInvalidDomainPolicyDescription.
43178func (spidpd ServicePlacementInvalidDomainPolicyDescription) MarshalJSON() ([]byte, error) {
43179	spidpd.Type = TypeInvalidDomain
43180	objectMap := make(map[string]interface{})
43181	if spidpd.DomainName != nil {
43182		objectMap["DomainName"] = spidpd.DomainName
43183	}
43184	if spidpd.Type != "" {
43185		objectMap["Type"] = spidpd.Type
43186	}
43187	return json.Marshal(objectMap)
43188}
43189
43190// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43191func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43192	return &spidpd, true
43193}
43194
43195// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43196func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43197	return nil, false
43198}
43199
43200// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43201func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43202	return nil, false
43203}
43204
43205// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43206func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43207	return nil, false
43208}
43209
43210// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43211func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43212	return nil, false
43213}
43214
43215// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43216func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43217	return nil, false
43218}
43219
43220// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
43221func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43222	return &spidpd, true
43223}
43224
43225// ServicePlacementNonPartiallyPlaceServicePolicyDescription describes the policy to be used for placement
43226// of a Service Fabric service where all replicas must be able to be placed in order for any replicas to be
43227// created.
43228type ServicePlacementNonPartiallyPlaceServicePolicyDescription struct {
43229	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43230	Type Type `json:"Type,omitempty"`
43231}
43232
43233// MarshalJSON is the custom marshaler for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43234func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) MarshalJSON() ([]byte, error) {
43235	spnppspd.Type = TypeNonPartiallyPlaceService
43236	objectMap := make(map[string]interface{})
43237	if spnppspd.Type != "" {
43238		objectMap["Type"] = spnppspd.Type
43239	}
43240	return json.Marshal(objectMap)
43241}
43242
43243// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43244func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43245	return nil, false
43246}
43247
43248// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43249func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43250	return &spnppspd, true
43251}
43252
43253// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43254func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43255	return nil, false
43256}
43257
43258// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43259func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43260	return nil, false
43261}
43262
43263// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43264func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43265	return nil, false
43266}
43267
43268// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43269func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43270	return nil, false
43271}
43272
43273// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
43274func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43275	return &spnppspd, true
43276}
43277
43278// BasicServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
43279type BasicServicePlacementPolicyDescription interface {
43280	AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool)
43281	AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool)
43282	AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool)
43283	AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool)
43284	AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool)
43285	AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool)
43286}
43287
43288// ServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
43289type ServicePlacementPolicyDescription struct {
43290	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43291	Type Type `json:"Type,omitempty"`
43292}
43293
43294func unmarshalBasicServicePlacementPolicyDescription(body []byte) (BasicServicePlacementPolicyDescription, error) {
43295	var m map[string]interface{}
43296	err := json.Unmarshal(body, &m)
43297	if err != nil {
43298		return nil, err
43299	}
43300
43301	switch m["Type"] {
43302	case string(TypeInvalidDomain):
43303		var spidpd ServicePlacementInvalidDomainPolicyDescription
43304		err := json.Unmarshal(body, &spidpd)
43305		return spidpd, err
43306	case string(TypeNonPartiallyPlaceService):
43307		var spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription
43308		err := json.Unmarshal(body, &spnppspd)
43309		return spnppspd, err
43310	case string(TypePreferredPrimaryDomain):
43311		var spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription
43312		err := json.Unmarshal(body, &spppdpd)
43313		return spppdpd, err
43314	case string(TypeRequiredDomain):
43315		var sprdpd ServicePlacementRequiredDomainPolicyDescription
43316		err := json.Unmarshal(body, &sprdpd)
43317		return sprdpd, err
43318	case string(TypeRequiredDomainDistribution):
43319		var sprddpd ServicePlacementRequireDomainDistributionPolicyDescription
43320		err := json.Unmarshal(body, &sprddpd)
43321		return sprddpd, err
43322	default:
43323		var sppd ServicePlacementPolicyDescription
43324		err := json.Unmarshal(body, &sppd)
43325		return sppd, err
43326	}
43327}
43328func unmarshalBasicServicePlacementPolicyDescriptionArray(body []byte) ([]BasicServicePlacementPolicyDescription, error) {
43329	var rawMessages []*json.RawMessage
43330	err := json.Unmarshal(body, &rawMessages)
43331	if err != nil {
43332		return nil, err
43333	}
43334
43335	sppdArray := make([]BasicServicePlacementPolicyDescription, len(rawMessages))
43336
43337	for index, rawMessage := range rawMessages {
43338		sppd, err := unmarshalBasicServicePlacementPolicyDescription(*rawMessage)
43339		if err != nil {
43340			return nil, err
43341		}
43342		sppdArray[index] = sppd
43343	}
43344	return sppdArray, nil
43345}
43346
43347// MarshalJSON is the custom marshaler for ServicePlacementPolicyDescription.
43348func (sppd ServicePlacementPolicyDescription) MarshalJSON() ([]byte, error) {
43349	sppd.Type = TypeServicePlacementPolicyDescription
43350	objectMap := make(map[string]interface{})
43351	if sppd.Type != "" {
43352		objectMap["Type"] = sppd.Type
43353	}
43354	return json.Marshal(objectMap)
43355}
43356
43357// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43358func (sppd ServicePlacementPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43359	return nil, false
43360}
43361
43362// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43363func (sppd ServicePlacementPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43364	return nil, false
43365}
43366
43367// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43368func (sppd ServicePlacementPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43369	return nil, false
43370}
43371
43372// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43373func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43374	return nil, false
43375}
43376
43377// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43378func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43379	return nil, false
43380}
43381
43382// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43383func (sppd ServicePlacementPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43384	return &sppd, true
43385}
43386
43387// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
43388func (sppd ServicePlacementPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43389	return &sppd, true
43390}
43391
43392// ServicePlacementPreferPrimaryDomainPolicyDescription describes the policy to be used for placement of a
43393// Service Fabric service where the service's Primary replicas should optimally be placed in a particular
43394// domain.
43395//
43396// This placement policy is usually used with fault domains in scenarios where the Service Fabric cluster
43397// is geographically distributed in order to indicate that a service's primary replica should be located in
43398// a particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter
43399// boundaries. Note that since this is an optimization it is possible that the Primary replica may not end
43400// up located in this domain due to failures, capacity limits, or other constraints.
43401type ServicePlacementPreferPrimaryDomainPolicyDescription struct {
43402	// DomainName - The name of the domain that should used for placement as per this policy.
43403	DomainName *string `json:"DomainName,omitempty"`
43404	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43405	Type Type `json:"Type,omitempty"`
43406}
43407
43408// MarshalJSON is the custom marshaler for ServicePlacementPreferPrimaryDomainPolicyDescription.
43409func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) MarshalJSON() ([]byte, error) {
43410	spppdpd.Type = TypePreferredPrimaryDomain
43411	objectMap := make(map[string]interface{})
43412	if spppdpd.DomainName != nil {
43413		objectMap["DomainName"] = spppdpd.DomainName
43414	}
43415	if spppdpd.Type != "" {
43416		objectMap["Type"] = spppdpd.Type
43417	}
43418	return json.Marshal(objectMap)
43419}
43420
43421// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43422func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43423	return nil, false
43424}
43425
43426// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43427func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43428	return nil, false
43429}
43430
43431// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43432func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43433	return &spppdpd, true
43434}
43435
43436// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43437func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43438	return nil, false
43439}
43440
43441// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43442func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43443	return nil, false
43444}
43445
43446// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43447func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43448	return nil, false
43449}
43450
43451// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
43452func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43453	return &spppdpd, true
43454}
43455
43456// ServicePlacementRequiredDomainPolicyDescription describes the policy to be used for placement of a
43457// Service Fabric service where the instances or replicas of that service must be placed in a particular
43458// domain
43459type ServicePlacementRequiredDomainPolicyDescription struct {
43460	// DomainName - The name of the domain that should used for placement as per this policy.
43461	DomainName *string `json:"DomainName,omitempty"`
43462	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43463	Type Type `json:"Type,omitempty"`
43464}
43465
43466// MarshalJSON is the custom marshaler for ServicePlacementRequiredDomainPolicyDescription.
43467func (sprdpd ServicePlacementRequiredDomainPolicyDescription) MarshalJSON() ([]byte, error) {
43468	sprdpd.Type = TypeRequiredDomain
43469	objectMap := make(map[string]interface{})
43470	if sprdpd.DomainName != nil {
43471		objectMap["DomainName"] = sprdpd.DomainName
43472	}
43473	if sprdpd.Type != "" {
43474		objectMap["Type"] = sprdpd.Type
43475	}
43476	return json.Marshal(objectMap)
43477}
43478
43479// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43480func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43481	return nil, false
43482}
43483
43484// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43485func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43486	return nil, false
43487}
43488
43489// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43490func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43491	return nil, false
43492}
43493
43494// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43495func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43496	return &sprdpd, true
43497}
43498
43499// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43500func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43501	return nil, false
43502}
43503
43504// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43505func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43506	return nil, false
43507}
43508
43509// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
43510func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43511	return &sprdpd, true
43512}
43513
43514// ServicePlacementRequireDomainDistributionPolicyDescription describes the policy to be used for placement
43515// of a Service Fabric service where two replicas from the same partition should never be placed in the
43516// same fault or upgrade domain.
43517//
43518// While this is not common it can expose the service to an increased risk of concurrent failures due to
43519// unplanned outages or other cases of subsequent/concurrent failures. As an example, consider a case where
43520// replicas are deployed across different data center, with one replica per location. In the event that one
43521// of the datacenters goes offline, normally the replica that was placed in that datacenter will be packed
43522// into one of the remaining datacenters. If this is not desirable then this policy should be set.
43523type ServicePlacementRequireDomainDistributionPolicyDescription struct {
43524	// DomainName - The name of the domain that should used for placement as per this policy.
43525	DomainName *string `json:"DomainName,omitempty"`
43526	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
43527	Type Type `json:"Type,omitempty"`
43528}
43529
43530// MarshalJSON is the custom marshaler for ServicePlacementRequireDomainDistributionPolicyDescription.
43531func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) MarshalJSON() ([]byte, error) {
43532	sprddpd.Type = TypeRequiredDomainDistribution
43533	objectMap := make(map[string]interface{})
43534	if sprddpd.DomainName != nil {
43535		objectMap["DomainName"] = sprddpd.DomainName
43536	}
43537	if sprddpd.Type != "" {
43538		objectMap["Type"] = sprddpd.Type
43539	}
43540	return json.Marshal(objectMap)
43541}
43542
43543// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43544func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
43545	return nil, false
43546}
43547
43548// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43549func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
43550	return nil, false
43551}
43552
43553// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43554func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
43555	return nil, false
43556}
43557
43558// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43559func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
43560	return nil, false
43561}
43562
43563// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43564func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
43565	return &sprddpd, true
43566}
43567
43568// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43569func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
43570	return nil, false
43571}
43572
43573// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
43574func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
43575	return &sprddpd, true
43576}
43577
43578// ServicesHealthEvaluation represents health evaluation for services of a certain service type belonging
43579// to an application, containing health evaluations for each unhealthy service that impacted current
43580// aggregated health state. Can be returned when evaluating application health and the aggregated health
43581// state is either Error or Warning.
43582type ServicesHealthEvaluation struct {
43583	// ServiceTypeName - Name of the service type of the services.
43584	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
43585	// MaxPercentUnhealthyServices - Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy.
43586	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
43587	// TotalCount - Total number of services of the current service type in the application from the health store.
43588	TotalCount *int64 `json:"TotalCount,omitempty"`
43589	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health.
43590	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
43591	// 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'
43592	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
43593	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
43594	Description *string `json:"Description,omitempty"`
43595	// 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'
43596	Kind Kind `json:"Kind,omitempty"`
43597}
43598
43599// MarshalJSON is the custom marshaler for ServicesHealthEvaluation.
43600func (she ServicesHealthEvaluation) MarshalJSON() ([]byte, error) {
43601	she.Kind = KindServices
43602	objectMap := make(map[string]interface{})
43603	if she.ServiceTypeName != nil {
43604		objectMap["ServiceTypeName"] = she.ServiceTypeName
43605	}
43606	if she.MaxPercentUnhealthyServices != nil {
43607		objectMap["MaxPercentUnhealthyServices"] = she.MaxPercentUnhealthyServices
43608	}
43609	if she.TotalCount != nil {
43610		objectMap["TotalCount"] = she.TotalCount
43611	}
43612	if she.UnhealthyEvaluations != nil {
43613		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
43614	}
43615	if she.AggregatedHealthState != "" {
43616		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
43617	}
43618	if she.Description != nil {
43619		objectMap["Description"] = she.Description
43620	}
43621	if she.Kind != "" {
43622		objectMap["Kind"] = she.Kind
43623	}
43624	return json.Marshal(objectMap)
43625}
43626
43627// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43628func (she ServicesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
43629	return nil, false
43630}
43631
43632// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43633func (she ServicesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
43634	return nil, false
43635}
43636
43637// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43638func (she ServicesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
43639	return nil, false
43640}
43641
43642// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43643func (she ServicesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
43644	return nil, false
43645}
43646
43647// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43648func (she ServicesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
43649	return nil, false
43650}
43651
43652// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43653func (she ServicesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
43654	return nil, false
43655}
43656
43657// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43658func (she ServicesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
43659	return nil, false
43660}
43661
43662// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43663func (she ServicesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
43664	return nil, false
43665}
43666
43667// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43668func (she ServicesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
43669	return nil, false
43670}
43671
43672// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43673func (she ServicesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
43674	return nil, false
43675}
43676
43677// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43678func (she ServicesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
43679	return nil, false
43680}
43681
43682// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43683func (she ServicesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
43684	return nil, false
43685}
43686
43687// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43688func (she ServicesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
43689	return nil, false
43690}
43691
43692// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43693func (she ServicesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
43694	return nil, false
43695}
43696
43697// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43698func (she ServicesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
43699	return nil, false
43700}
43701
43702// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43703func (she ServicesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
43704	return nil, false
43705}
43706
43707// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43708func (she ServicesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
43709	return &she, true
43710}
43711
43712// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43713func (she ServicesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
43714	return nil, false
43715}
43716
43717// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43718func (she ServicesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
43719	return nil, false
43720}
43721
43722// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43723func (she ServicesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
43724	return nil, false
43725}
43726
43727// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43728func (she ServicesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
43729	return nil, false
43730}
43731
43732// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
43733func (she ServicesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
43734	return &she, true
43735}
43736
43737// BasicServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
43738// type. The properties the ones defined in the service manifest.
43739type BasicServiceTypeDescription interface {
43740	AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool)
43741	AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool)
43742	AsServiceTypeDescription() (*ServiceTypeDescription, bool)
43743}
43744
43745// ServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
43746// type. The properties the ones defined in the service manifest.
43747type ServiceTypeDescription struct {
43748	// 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.
43749	IsStateful *bool `json:"IsStateful,omitempty"`
43750	// ServiceTypeName - Name of the service type as specified in the service manifest.
43751	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
43752	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
43753	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
43754	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
43755	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
43756	// ServicePlacementPolicies - List of service placement policy descriptions.
43757	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
43758	// Extensions - List of service type extensions.
43759	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
43760	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
43761	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
43762}
43763
43764func unmarshalBasicServiceTypeDescription(body []byte) (BasicServiceTypeDescription, error) {
43765	var m map[string]interface{}
43766	err := json.Unmarshal(body, &m)
43767	if err != nil {
43768		return nil, err
43769	}
43770
43771	switch m["Kind"] {
43772	case string(KindStateful):
43773		var sstd StatefulServiceTypeDescription
43774		err := json.Unmarshal(body, &sstd)
43775		return sstd, err
43776	case string(KindStateless):
43777		var sstd StatelessServiceTypeDescription
43778		err := json.Unmarshal(body, &sstd)
43779		return sstd, err
43780	default:
43781		var std ServiceTypeDescription
43782		err := json.Unmarshal(body, &std)
43783		return std, err
43784	}
43785}
43786func unmarshalBasicServiceTypeDescriptionArray(body []byte) ([]BasicServiceTypeDescription, error) {
43787	var rawMessages []*json.RawMessage
43788	err := json.Unmarshal(body, &rawMessages)
43789	if err != nil {
43790		return nil, err
43791	}
43792
43793	stdArray := make([]BasicServiceTypeDescription, len(rawMessages))
43794
43795	for index, rawMessage := range rawMessages {
43796		std, err := unmarshalBasicServiceTypeDescription(*rawMessage)
43797		if err != nil {
43798			return nil, err
43799		}
43800		stdArray[index] = std
43801	}
43802	return stdArray, nil
43803}
43804
43805// MarshalJSON is the custom marshaler for ServiceTypeDescription.
43806func (std ServiceTypeDescription) MarshalJSON() ([]byte, error) {
43807	std.Kind = KindServiceTypeDescription
43808	objectMap := make(map[string]interface{})
43809	if std.IsStateful != nil {
43810		objectMap["IsStateful"] = std.IsStateful
43811	}
43812	if std.ServiceTypeName != nil {
43813		objectMap["ServiceTypeName"] = std.ServiceTypeName
43814	}
43815	if std.PlacementConstraints != nil {
43816		objectMap["PlacementConstraints"] = std.PlacementConstraints
43817	}
43818	if std.LoadMetrics != nil {
43819		objectMap["LoadMetrics"] = std.LoadMetrics
43820	}
43821	if std.ServicePlacementPolicies != nil {
43822		objectMap["ServicePlacementPolicies"] = std.ServicePlacementPolicies
43823	}
43824	if std.Extensions != nil {
43825		objectMap["Extensions"] = std.Extensions
43826	}
43827	if std.Kind != "" {
43828		objectMap["Kind"] = std.Kind
43829	}
43830	return json.Marshal(objectMap)
43831}
43832
43833// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
43834func (std ServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
43835	return nil, false
43836}
43837
43838// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
43839func (std ServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
43840	return nil, false
43841}
43842
43843// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
43844func (std ServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
43845	return &std, true
43846}
43847
43848// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
43849func (std ServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
43850	return &std, true
43851}
43852
43853// UnmarshalJSON is the custom unmarshaler for ServiceTypeDescription struct.
43854func (std *ServiceTypeDescription) UnmarshalJSON(body []byte) error {
43855	var m map[string]*json.RawMessage
43856	err := json.Unmarshal(body, &m)
43857	if err != nil {
43858		return err
43859	}
43860	for k, v := range m {
43861		switch k {
43862		case "IsStateful":
43863			if v != nil {
43864				var isStateful bool
43865				err = json.Unmarshal(*v, &isStateful)
43866				if err != nil {
43867					return err
43868				}
43869				std.IsStateful = &isStateful
43870			}
43871		case "ServiceTypeName":
43872			if v != nil {
43873				var serviceTypeName string
43874				err = json.Unmarshal(*v, &serviceTypeName)
43875				if err != nil {
43876					return err
43877				}
43878				std.ServiceTypeName = &serviceTypeName
43879			}
43880		case "PlacementConstraints":
43881			if v != nil {
43882				var placementConstraints string
43883				err = json.Unmarshal(*v, &placementConstraints)
43884				if err != nil {
43885					return err
43886				}
43887				std.PlacementConstraints = &placementConstraints
43888			}
43889		case "LoadMetrics":
43890			if v != nil {
43891				var loadMetrics []ServiceLoadMetricDescription
43892				err = json.Unmarshal(*v, &loadMetrics)
43893				if err != nil {
43894					return err
43895				}
43896				std.LoadMetrics = &loadMetrics
43897			}
43898		case "ServicePlacementPolicies":
43899			if v != nil {
43900				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
43901				if err != nil {
43902					return err
43903				}
43904				std.ServicePlacementPolicies = &servicePlacementPolicies
43905			}
43906		case "Extensions":
43907			if v != nil {
43908				var extensions []ServiceTypeExtensionDescription
43909				err = json.Unmarshal(*v, &extensions)
43910				if err != nil {
43911					return err
43912				}
43913				std.Extensions = &extensions
43914			}
43915		case "Kind":
43916			if v != nil {
43917				var kind KindBasicServiceTypeDescription
43918				err = json.Unmarshal(*v, &kind)
43919				if err != nil {
43920					return err
43921				}
43922				std.Kind = kind
43923			}
43924		}
43925	}
43926
43927	return nil
43928}
43929
43930// ServiceTypeExtensionDescription describes extension of a service type defined in the service manifest.
43931type ServiceTypeExtensionDescription struct {
43932	// Key - The name of the extension.
43933	Key *string `json:"Key,omitempty"`
43934	// Value - The extension value.
43935	Value *string `json:"Value,omitempty"`
43936}
43937
43938// ServiceTypeHealthPolicy represents the health policy used to evaluate the health of services belonging
43939// to a service type.
43940type ServiceTypeHealthPolicy struct {
43941	// MaxPercentUnhealthyPartitionsPerService - The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100
43942	// The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
43943	// If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
43944	// The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
43945	// The computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.
43946	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
43947	// MaxPercentUnhealthyReplicasPerPartition - The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.
43948	// The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
43949	// If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
43950	// The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
43951	// The computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.
43952	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
43953	// MaxPercentUnhealthyServices - The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.
43954	// The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
43955	// If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
43956	// 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.
43957	// The computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.
43958	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
43959}
43960
43961// ServiceTypeHealthPolicyMapItem defines an item in ServiceTypeHealthPolicyMap.
43962type ServiceTypeHealthPolicyMapItem struct {
43963	// Key - The key of the service type health policy map item. This is the name of the service type.
43964	Key *string `json:"Key,omitempty"`
43965	// Value - The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type.
43966	Value *ServiceTypeHealthPolicy `json:"Value,omitempty"`
43967}
43968
43969// ServiceTypeInfo information about a service type that is defined in a service manifest of a provisioned
43970// application type.
43971type ServiceTypeInfo struct {
43972	autorest.Response `json:"-"`
43973	// ServiceTypeDescription - Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.
43974	ServiceTypeDescription BasicServiceTypeDescription `json:"ServiceTypeDescription,omitempty"`
43975	// ServiceManifestName - The name of the service manifest in which this service type is defined.
43976	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
43977	// ServiceManifestVersion - The version of the service manifest in which this service type is defined.
43978	ServiceManifestVersion *string `json:"ServiceManifestVersion,omitempty"`
43979	// IsServiceGroup - Indicates whether the service is a service group. If it is, the property value is true otherwise false.
43980	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
43981}
43982
43983// UnmarshalJSON is the custom unmarshaler for ServiceTypeInfo struct.
43984func (sti *ServiceTypeInfo) UnmarshalJSON(body []byte) error {
43985	var m map[string]*json.RawMessage
43986	err := json.Unmarshal(body, &m)
43987	if err != nil {
43988		return err
43989	}
43990	for k, v := range m {
43991		switch k {
43992		case "ServiceTypeDescription":
43993			if v != nil {
43994				serviceTypeDescription, err := unmarshalBasicServiceTypeDescription(*v)
43995				if err != nil {
43996					return err
43997				}
43998				sti.ServiceTypeDescription = serviceTypeDescription
43999			}
44000		case "ServiceManifestName":
44001			if v != nil {
44002				var serviceManifestName string
44003				err = json.Unmarshal(*v, &serviceManifestName)
44004				if err != nil {
44005					return err
44006				}
44007				sti.ServiceManifestName = &serviceManifestName
44008			}
44009		case "ServiceManifestVersion":
44010			if v != nil {
44011				var serviceManifestVersion string
44012				err = json.Unmarshal(*v, &serviceManifestVersion)
44013				if err != nil {
44014					return err
44015				}
44016				sti.ServiceManifestVersion = &serviceManifestVersion
44017			}
44018		case "IsServiceGroup":
44019			if v != nil {
44020				var isServiceGroup bool
44021				err = json.Unmarshal(*v, &isServiceGroup)
44022				if err != nil {
44023					return err
44024				}
44025				sti.IsServiceGroup = &isServiceGroup
44026			}
44027		}
44028	}
44029
44030	return nil
44031}
44032
44033// ServiceTypeManifest contains the manifest describing a service type registered as part of an application
44034// in a Service Fabric cluster.
44035type ServiceTypeManifest struct {
44036	autorest.Response `json:"-"`
44037	// Manifest - The XML manifest as a string.
44038	Manifest *string `json:"Manifest,omitempty"`
44039}
44040
44041// BasicServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
44042// service.
44043type BasicServiceUpdateDescription interface {
44044	AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool)
44045	AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool)
44046	AsServiceUpdateDescription() (*ServiceUpdateDescription, bool)
44047}
44048
44049// ServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
44050// service.
44051type ServiceUpdateDescription struct {
44052	// 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.
44053	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
44054	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
44055	// - None - Does not indicate any other properties are set. The value is zero.
44056	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
44057	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
44058	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
44059	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
44060	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
44061	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
44062	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
44063	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
44064	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
44065	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
44066	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
44067	Flags *string `json:"Flags,omitempty"`
44068	// 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)".
44069	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
44070	// CorrelationScheme - The correlation scheme.
44071	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
44072	// LoadMetrics - The service load metrics.
44073	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
44074	// ServicePlacementPolicies - The service placement policies.
44075	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
44076	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
44077	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
44078	// ScalingPolicies - Scaling policies for this service.
44079	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
44080	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
44081	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
44082}
44083
44084func unmarshalBasicServiceUpdateDescription(body []byte) (BasicServiceUpdateDescription, error) {
44085	var m map[string]interface{}
44086	err := json.Unmarshal(body, &m)
44087	if err != nil {
44088		return nil, err
44089	}
44090
44091	switch m["ServiceKind"] {
44092	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateful):
44093		var ssud StatefulServiceUpdateDescription
44094		err := json.Unmarshal(body, &ssud)
44095		return ssud, err
44096	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateless):
44097		var ssud StatelessServiceUpdateDescription
44098		err := json.Unmarshal(body, &ssud)
44099		return ssud, err
44100	default:
44101		var sud ServiceUpdateDescription
44102		err := json.Unmarshal(body, &sud)
44103		return sud, err
44104	}
44105}
44106func unmarshalBasicServiceUpdateDescriptionArray(body []byte) ([]BasicServiceUpdateDescription, error) {
44107	var rawMessages []*json.RawMessage
44108	err := json.Unmarshal(body, &rawMessages)
44109	if err != nil {
44110		return nil, err
44111	}
44112
44113	sudArray := make([]BasicServiceUpdateDescription, len(rawMessages))
44114
44115	for index, rawMessage := range rawMessages {
44116		sud, err := unmarshalBasicServiceUpdateDescription(*rawMessage)
44117		if err != nil {
44118			return nil, err
44119		}
44120		sudArray[index] = sud
44121	}
44122	return sudArray, nil
44123}
44124
44125// MarshalJSON is the custom marshaler for ServiceUpdateDescription.
44126func (sud ServiceUpdateDescription) MarshalJSON() ([]byte, error) {
44127	sud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription
44128	objectMap := make(map[string]interface{})
44129	if sud.Flags != nil {
44130		objectMap["Flags"] = sud.Flags
44131	}
44132	if sud.PlacementConstraints != nil {
44133		objectMap["PlacementConstraints"] = sud.PlacementConstraints
44134	}
44135	if sud.CorrelationScheme != nil {
44136		objectMap["CorrelationScheme"] = sud.CorrelationScheme
44137	}
44138	if sud.LoadMetrics != nil {
44139		objectMap["LoadMetrics"] = sud.LoadMetrics
44140	}
44141	if sud.ServicePlacementPolicies != nil {
44142		objectMap["ServicePlacementPolicies"] = sud.ServicePlacementPolicies
44143	}
44144	if sud.DefaultMoveCost != "" {
44145		objectMap["DefaultMoveCost"] = sud.DefaultMoveCost
44146	}
44147	if sud.ScalingPolicies != nil {
44148		objectMap["ScalingPolicies"] = sud.ScalingPolicies
44149	}
44150	if sud.ServiceKind != "" {
44151		objectMap["ServiceKind"] = sud.ServiceKind
44152	}
44153	return json.Marshal(objectMap)
44154}
44155
44156// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44157func (sud ServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
44158	return nil, false
44159}
44160
44161// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44162func (sud ServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
44163	return nil, false
44164}
44165
44166// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44167func (sud ServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
44168	return &sud, true
44169}
44170
44171// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
44172func (sud ServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
44173	return &sud, true
44174}
44175
44176// UnmarshalJSON is the custom unmarshaler for ServiceUpdateDescription struct.
44177func (sud *ServiceUpdateDescription) UnmarshalJSON(body []byte) error {
44178	var m map[string]*json.RawMessage
44179	err := json.Unmarshal(body, &m)
44180	if err != nil {
44181		return err
44182	}
44183	for k, v := range m {
44184		switch k {
44185		case "Flags":
44186			if v != nil {
44187				var flags string
44188				err = json.Unmarshal(*v, &flags)
44189				if err != nil {
44190					return err
44191				}
44192				sud.Flags = &flags
44193			}
44194		case "PlacementConstraints":
44195			if v != nil {
44196				var placementConstraints string
44197				err = json.Unmarshal(*v, &placementConstraints)
44198				if err != nil {
44199					return err
44200				}
44201				sud.PlacementConstraints = &placementConstraints
44202			}
44203		case "CorrelationScheme":
44204			if v != nil {
44205				var correlationScheme []ServiceCorrelationDescription
44206				err = json.Unmarshal(*v, &correlationScheme)
44207				if err != nil {
44208					return err
44209				}
44210				sud.CorrelationScheme = &correlationScheme
44211			}
44212		case "LoadMetrics":
44213			if v != nil {
44214				var loadMetrics []ServiceLoadMetricDescription
44215				err = json.Unmarshal(*v, &loadMetrics)
44216				if err != nil {
44217					return err
44218				}
44219				sud.LoadMetrics = &loadMetrics
44220			}
44221		case "ServicePlacementPolicies":
44222			if v != nil {
44223				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
44224				if err != nil {
44225					return err
44226				}
44227				sud.ServicePlacementPolicies = &servicePlacementPolicies
44228			}
44229		case "DefaultMoveCost":
44230			if v != nil {
44231				var defaultMoveCost MoveCost
44232				err = json.Unmarshal(*v, &defaultMoveCost)
44233				if err != nil {
44234					return err
44235				}
44236				sud.DefaultMoveCost = defaultMoveCost
44237			}
44238		case "ScalingPolicies":
44239			if v != nil {
44240				var scalingPolicies []ScalingPolicyDescription
44241				err = json.Unmarshal(*v, &scalingPolicies)
44242				if err != nil {
44243					return err
44244				}
44245				sud.ScalingPolicies = &scalingPolicies
44246			}
44247		case "ServiceKind":
44248			if v != nil {
44249				var serviceKind ServiceKindBasicServiceUpdateDescription
44250				err = json.Unmarshal(*v, &serviceKind)
44251				if err != nil {
44252					return err
44253				}
44254				sud.ServiceKind = serviceKind
44255			}
44256		}
44257	}
44258
44259	return nil
44260}
44261
44262// SingletonPartitionInformation information about a partition that is singleton. The services with
44263// singleton partitioning scheme are effectively non-partitioned. They only have one partition.
44264type SingletonPartitionInformation struct {
44265	// 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.
44266	ID *uuid.UUID `json:"Id,omitempty"`
44267	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
44268	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
44269}
44270
44271// MarshalJSON is the custom marshaler for SingletonPartitionInformation.
44272func (spi SingletonPartitionInformation) MarshalJSON() ([]byte, error) {
44273	spi.ServicePartitionKind = ServicePartitionKindSingleton1
44274	objectMap := make(map[string]interface{})
44275	if spi.ID != nil {
44276		objectMap["Id"] = spi.ID
44277	}
44278	if spi.ServicePartitionKind != "" {
44279		objectMap["ServicePartitionKind"] = spi.ServicePartitionKind
44280	}
44281	return json.Marshal(objectMap)
44282}
44283
44284// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44285func (spi SingletonPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
44286	return nil, false
44287}
44288
44289// AsNamedPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44290func (spi SingletonPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
44291	return nil, false
44292}
44293
44294// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44295func (spi SingletonPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
44296	return &spi, true
44297}
44298
44299// AsPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44300func (spi SingletonPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
44301	return nil, false
44302}
44303
44304// AsBasicPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
44305func (spi SingletonPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
44306	return &spi, true
44307}
44308
44309// SingletonPartitionSchemeDescription describes the partition scheme of a singleton-partitioned, or
44310// non-partitioned service.
44311type SingletonPartitionSchemeDescription struct {
44312	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
44313	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
44314}
44315
44316// MarshalJSON is the custom marshaler for SingletonPartitionSchemeDescription.
44317func (spsd SingletonPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
44318	spsd.PartitionScheme = PartitionSchemeSingleton1
44319	objectMap := make(map[string]interface{})
44320	if spsd.PartitionScheme != "" {
44321		objectMap["PartitionScheme"] = spsd.PartitionScheme
44322	}
44323	return json.Marshal(objectMap)
44324}
44325
44326// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44327func (spsd SingletonPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
44328	return nil, false
44329}
44330
44331// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44332func (spsd SingletonPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
44333	return &spsd, true
44334}
44335
44336// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44337func (spsd SingletonPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
44338	return nil, false
44339}
44340
44341// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44342func (spsd SingletonPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
44343	return nil, false
44344}
44345
44346// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
44347func (spsd SingletonPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
44348	return &spsd, true
44349}
44350
44351// StartClusterUpgradeDescription describes the parameters for starting a cluster upgrade.
44352type StartClusterUpgradeDescription struct {
44353	// CodeVersion - The cluster code version.
44354	CodeVersion *string `json:"CodeVersion,omitempty"`
44355	// ConfigVersion - The cluster configuration version.
44356	ConfigVersion *string `json:"ConfigVersion,omitempty"`
44357	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
44358	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
44359	// 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'
44360	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
44361	// 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).
44362	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
44363	// 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).
44364	ForceRestart *bool `json:"ForceRestart,omitempty"`
44365	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
44366	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
44367	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
44368	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
44369	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
44370	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
44371	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
44372	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
44373	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
44374	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
44375}
44376
44377// StartedChaosEvent describes a Chaos event that gets generated when Chaos is started.
44378type StartedChaosEvent struct {
44379	// ChaosParameters - Defines all the parameters to configure a Chaos run.
44380	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
44381	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
44382	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
44383	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
44384	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
44385}
44386
44387// MarshalJSON is the custom marshaler for StartedChaosEvent.
44388func (sce StartedChaosEvent) MarshalJSON() ([]byte, error) {
44389	sce.Kind = KindStarted
44390	objectMap := make(map[string]interface{})
44391	if sce.ChaosParameters != nil {
44392		objectMap["ChaosParameters"] = sce.ChaosParameters
44393	}
44394	if sce.TimeStampUtc != nil {
44395		objectMap["TimeStampUtc"] = sce.TimeStampUtc
44396	}
44397	if sce.Kind != "" {
44398		objectMap["Kind"] = sce.Kind
44399	}
44400	return json.Marshal(objectMap)
44401}
44402
44403// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44404func (sce StartedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
44405	return nil, false
44406}
44407
44408// AsStartedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44409func (sce StartedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
44410	return &sce, true
44411}
44412
44413// AsStoppedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44414func (sce StartedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
44415	return nil, false
44416}
44417
44418// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44419func (sce StartedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
44420	return nil, false
44421}
44422
44423// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44424func (sce StartedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
44425	return nil, false
44426}
44427
44428// AsWaitingChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44429func (sce StartedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
44430	return nil, false
44431}
44432
44433// AsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44434func (sce StartedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
44435	return nil, false
44436}
44437
44438// AsBasicChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
44439func (sce StartedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
44440	return &sce, true
44441}
44442
44443// StatefulReplicaHealthReportCreatedEvent stateful Replica Health Report Created event.
44444type StatefulReplicaHealthReportCreatedEvent struct {
44445	// ReplicaInstanceID - Id of Replica instance.
44446	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
44447	// SourceID - Id of report source.
44448	SourceID *string `json:"SourceId,omitempty"`
44449	// Property - Describes the property.
44450	Property *string `json:"Property,omitempty"`
44451	// HealthState - Describes the property health state.
44452	HealthState *string `json:"HealthState,omitempty"`
44453	// TimeToLiveMs - Time to live in milli-seconds.
44454	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
44455	// SequenceNumber - Sequence number of report.
44456	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
44457	// Description - Description of report.
44458	Description *string `json:"Description,omitempty"`
44459	// RemoveWhenExpired - Indicates the removal when it expires.
44460	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
44461	// SourceUtcTimestamp - Source time.
44462	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
44463	// 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.
44464	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
44465	// 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.
44466	ReplicaID *int64 `json:"ReplicaId,omitempty"`
44467	// EventInstanceID - The identifier for the FabricEvent instance.
44468	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
44469	// TimeStamp - The time event was logged.
44470	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
44471	// HasCorrelatedEvents - Shows there is existing related events available.
44472	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
44473	// 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'
44474	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
44475}
44476
44477// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportCreatedEvent.
44478func (srhrce StatefulReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
44479	srhrce.Kind = KindStatefulReplicaHealthReportCreated
44480	objectMap := make(map[string]interface{})
44481	if srhrce.ReplicaInstanceID != nil {
44482		objectMap["ReplicaInstanceId"] = srhrce.ReplicaInstanceID
44483	}
44484	if srhrce.SourceID != nil {
44485		objectMap["SourceId"] = srhrce.SourceID
44486	}
44487	if srhrce.Property != nil {
44488		objectMap["Property"] = srhrce.Property
44489	}
44490	if srhrce.HealthState != nil {
44491		objectMap["HealthState"] = srhrce.HealthState
44492	}
44493	if srhrce.TimeToLiveMs != nil {
44494		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
44495	}
44496	if srhrce.SequenceNumber != nil {
44497		objectMap["SequenceNumber"] = srhrce.SequenceNumber
44498	}
44499	if srhrce.Description != nil {
44500		objectMap["Description"] = srhrce.Description
44501	}
44502	if srhrce.RemoveWhenExpired != nil {
44503		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
44504	}
44505	if srhrce.SourceUtcTimestamp != nil {
44506		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
44507	}
44508	if srhrce.PartitionID != nil {
44509		objectMap["PartitionId"] = srhrce.PartitionID
44510	}
44511	if srhrce.ReplicaID != nil {
44512		objectMap["ReplicaId"] = srhrce.ReplicaID
44513	}
44514	if srhrce.EventInstanceID != nil {
44515		objectMap["EventInstanceId"] = srhrce.EventInstanceID
44516	}
44517	if srhrce.TimeStamp != nil {
44518		objectMap["TimeStamp"] = srhrce.TimeStamp
44519	}
44520	if srhrce.HasCorrelatedEvents != nil {
44521		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
44522	}
44523	if srhrce.Kind != "" {
44524		objectMap["Kind"] = srhrce.Kind
44525	}
44526	return json.Marshal(objectMap)
44527}
44528
44529// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44530func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
44531	return nil, false
44532}
44533
44534// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44535func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
44536	return nil, false
44537}
44538
44539// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44540func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
44541	return nil, false
44542}
44543
44544// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44545func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
44546	return nil, false
44547}
44548
44549// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44550func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
44551	return nil, false
44552}
44553
44554// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44555func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
44556	return nil, false
44557}
44558
44559// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44560func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
44561	return nil, false
44562}
44563
44564// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44565func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
44566	return nil, false
44567}
44568
44569// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44570func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
44571	return nil, false
44572}
44573
44574// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44575func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
44576	return nil, false
44577}
44578
44579// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44580func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
44581	return nil, false
44582}
44583
44584// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44585func (srhrce StatefulReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
44586	return nil, false
44587}
44588
44589// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44590func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
44591	return &srhrce, true
44592}
44593
44594// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44595func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
44596	return nil, false
44597}
44598
44599// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44600func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
44601	return nil, false
44602}
44603
44604// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44605func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
44606	return nil, false
44607}
44608
44609// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44610func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
44611	return nil, false
44612}
44613
44614// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44615func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
44616	return nil, false
44617}
44618
44619// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44620func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
44621	return nil, false
44622}
44623
44624// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44625func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
44626	return nil, false
44627}
44628
44629// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44630func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
44631	return nil, false
44632}
44633
44634// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44635func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
44636	return nil, false
44637}
44638
44639// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44640func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
44641	return nil, false
44642}
44643
44644// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44645func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
44646	return nil, false
44647}
44648
44649// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44650func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
44651	return nil, false
44652}
44653
44654// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44655func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
44656	return nil, false
44657}
44658
44659// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44660func (srhrce StatefulReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
44661	return nil, false
44662}
44663
44664// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44665func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
44666	return nil, false
44667}
44668
44669// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44670func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
44671	return nil, false
44672}
44673
44674// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44675func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
44676	return nil, false
44677}
44678
44679// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44680func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
44681	return nil, false
44682}
44683
44684// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44685func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
44686	return nil, false
44687}
44688
44689// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44690func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
44691	return nil, false
44692}
44693
44694// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44695func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
44696	return nil, false
44697}
44698
44699// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44700func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
44701	return nil, false
44702}
44703
44704// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44705func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
44706	return nil, false
44707}
44708
44709// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44710func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
44711	return nil, false
44712}
44713
44714// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44715func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
44716	return nil, false
44717}
44718
44719// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44720func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
44721	return nil, false
44722}
44723
44724// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44725func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
44726	return nil, false
44727}
44728
44729// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44730func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
44731	return nil, false
44732}
44733
44734// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44735func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
44736	return nil, false
44737}
44738
44739// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44740func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
44741	return nil, false
44742}
44743
44744// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44745func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
44746	return nil, false
44747}
44748
44749// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44750func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
44751	return nil, false
44752}
44753
44754// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44755func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
44756	return nil, false
44757}
44758
44759// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44760func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
44761	return nil, false
44762}
44763
44764// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44765func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
44766	return nil, false
44767}
44768
44769// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44770func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
44771	return nil, false
44772}
44773
44774// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44775func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
44776	return nil, false
44777}
44778
44779// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44780func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
44781	return nil, false
44782}
44783
44784// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44785func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
44786	return nil, false
44787}
44788
44789// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44790func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
44791	return nil, false
44792}
44793
44794// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44795func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
44796	return &srhrce, true
44797}
44798
44799// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44800func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
44801	return nil, false
44802}
44803
44804// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44805func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
44806	return nil, false
44807}
44808
44809// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44810func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
44811	return nil, false
44812}
44813
44814// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44815func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
44816	return nil, false
44817}
44818
44819// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44820func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
44821	return nil, false
44822}
44823
44824// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44825func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
44826	return nil, false
44827}
44828
44829// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44830func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
44831	return nil, false
44832}
44833
44834// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44835func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
44836	return nil, false
44837}
44838
44839// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44840func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
44841	return nil, false
44842}
44843
44844// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44845func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
44846	return nil, false
44847}
44848
44849// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44850func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
44851	return nil, false
44852}
44853
44854// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44855func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
44856	return nil, false
44857}
44858
44859// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44860func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
44861	return nil, false
44862}
44863
44864// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44865func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
44866	return nil, false
44867}
44868
44869// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44870func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
44871	return nil, false
44872}
44873
44874// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44875func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
44876	return nil, false
44877}
44878
44879// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44880func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
44881	return nil, false
44882}
44883
44884// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44885func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
44886	return nil, false
44887}
44888
44889// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44890func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
44891	return nil, false
44892}
44893
44894// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44895func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
44896	return nil, false
44897}
44898
44899// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44900func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
44901	return nil, false
44902}
44903
44904// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44905func (srhrce StatefulReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
44906	return nil, false
44907}
44908
44909// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
44910func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
44911	return &srhrce, true
44912}
44913
44914// StatefulReplicaHealthReportExpiredEvent stateful Replica Health Report Expired event.
44915type StatefulReplicaHealthReportExpiredEvent struct {
44916	// ReplicaInstanceID - Id of Replica instance.
44917	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
44918	// SourceID - Id of report source.
44919	SourceID *string `json:"SourceId,omitempty"`
44920	// Property - Describes the property.
44921	Property *string `json:"Property,omitempty"`
44922	// HealthState - Describes the property health state.
44923	HealthState *string `json:"HealthState,omitempty"`
44924	// TimeToLiveMs - Time to live in milli-seconds.
44925	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
44926	// SequenceNumber - Sequence number of report.
44927	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
44928	// Description - Description of report.
44929	Description *string `json:"Description,omitempty"`
44930	// RemoveWhenExpired - Indicates the removal when it expires.
44931	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
44932	// SourceUtcTimestamp - Source time.
44933	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
44934	// 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.
44935	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
44936	// 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.
44937	ReplicaID *int64 `json:"ReplicaId,omitempty"`
44938	// EventInstanceID - The identifier for the FabricEvent instance.
44939	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
44940	// TimeStamp - The time event was logged.
44941	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
44942	// HasCorrelatedEvents - Shows there is existing related events available.
44943	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
44944	// 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'
44945	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
44946}
44947
44948// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportExpiredEvent.
44949func (srhree StatefulReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
44950	srhree.Kind = KindStatefulReplicaHealthReportExpired
44951	objectMap := make(map[string]interface{})
44952	if srhree.ReplicaInstanceID != nil {
44953		objectMap["ReplicaInstanceId"] = srhree.ReplicaInstanceID
44954	}
44955	if srhree.SourceID != nil {
44956		objectMap["SourceId"] = srhree.SourceID
44957	}
44958	if srhree.Property != nil {
44959		objectMap["Property"] = srhree.Property
44960	}
44961	if srhree.HealthState != nil {
44962		objectMap["HealthState"] = srhree.HealthState
44963	}
44964	if srhree.TimeToLiveMs != nil {
44965		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
44966	}
44967	if srhree.SequenceNumber != nil {
44968		objectMap["SequenceNumber"] = srhree.SequenceNumber
44969	}
44970	if srhree.Description != nil {
44971		objectMap["Description"] = srhree.Description
44972	}
44973	if srhree.RemoveWhenExpired != nil {
44974		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
44975	}
44976	if srhree.SourceUtcTimestamp != nil {
44977		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
44978	}
44979	if srhree.PartitionID != nil {
44980		objectMap["PartitionId"] = srhree.PartitionID
44981	}
44982	if srhree.ReplicaID != nil {
44983		objectMap["ReplicaId"] = srhree.ReplicaID
44984	}
44985	if srhree.EventInstanceID != nil {
44986		objectMap["EventInstanceId"] = srhree.EventInstanceID
44987	}
44988	if srhree.TimeStamp != nil {
44989		objectMap["TimeStamp"] = srhree.TimeStamp
44990	}
44991	if srhree.HasCorrelatedEvents != nil {
44992		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
44993	}
44994	if srhree.Kind != "" {
44995		objectMap["Kind"] = srhree.Kind
44996	}
44997	return json.Marshal(objectMap)
44998}
44999
45000// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45001func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
45002	return nil, false
45003}
45004
45005// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45006func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
45007	return nil, false
45008}
45009
45010// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45011func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
45012	return nil, false
45013}
45014
45015// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45016func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
45017	return nil, false
45018}
45019
45020// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45021func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
45022	return nil, false
45023}
45024
45025// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45026func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
45027	return nil, false
45028}
45029
45030// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45031func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
45032	return nil, false
45033}
45034
45035// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45036func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
45037	return nil, false
45038}
45039
45040// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45041func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
45042	return nil, false
45043}
45044
45045// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45046func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
45047	return nil, false
45048}
45049
45050// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45051func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
45052	return nil, false
45053}
45054
45055// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45056func (srhree StatefulReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
45057	return nil, false
45058}
45059
45060// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45061func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
45062	return &srhree, true
45063}
45064
45065// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45066func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
45067	return nil, false
45068}
45069
45070// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45071func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
45072	return nil, false
45073}
45074
45075// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45076func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
45077	return nil, false
45078}
45079
45080// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45081func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
45082	return nil, false
45083}
45084
45085// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45086func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
45087	return nil, false
45088}
45089
45090// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45091func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
45092	return nil, false
45093}
45094
45095// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45096func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
45097	return nil, false
45098}
45099
45100// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45101func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
45102	return nil, false
45103}
45104
45105// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45106func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
45107	return nil, false
45108}
45109
45110// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45111func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
45112	return nil, false
45113}
45114
45115// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45116func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
45117	return nil, false
45118}
45119
45120// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45121func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
45122	return nil, false
45123}
45124
45125// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45126func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
45127	return nil, false
45128}
45129
45130// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45131func (srhree StatefulReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
45132	return nil, false
45133}
45134
45135// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45136func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
45137	return nil, false
45138}
45139
45140// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45141func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
45142	return nil, false
45143}
45144
45145// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45146func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
45147	return nil, false
45148}
45149
45150// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45151func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
45152	return nil, false
45153}
45154
45155// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45156func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
45157	return nil, false
45158}
45159
45160// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45161func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
45162	return nil, false
45163}
45164
45165// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45166func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
45167	return nil, false
45168}
45169
45170// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45171func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
45172	return nil, false
45173}
45174
45175// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45176func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
45177	return nil, false
45178}
45179
45180// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45181func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
45182	return nil, false
45183}
45184
45185// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45186func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
45187	return nil, false
45188}
45189
45190// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45191func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
45192	return nil, false
45193}
45194
45195// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45196func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
45197	return nil, false
45198}
45199
45200// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45201func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
45202	return nil, false
45203}
45204
45205// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45206func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
45207	return nil, false
45208}
45209
45210// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45211func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
45212	return nil, false
45213}
45214
45215// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45216func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
45217	return nil, false
45218}
45219
45220// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45221func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
45222	return nil, false
45223}
45224
45225// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45226func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
45227	return nil, false
45228}
45229
45230// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45231func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
45232	return nil, false
45233}
45234
45235// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45236func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
45237	return nil, false
45238}
45239
45240// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45241func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
45242	return nil, false
45243}
45244
45245// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45246func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
45247	return nil, false
45248}
45249
45250// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45251func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
45252	return nil, false
45253}
45254
45255// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45256func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
45257	return nil, false
45258}
45259
45260// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45261func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
45262	return nil, false
45263}
45264
45265// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45266func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
45267	return nil, false
45268}
45269
45270// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45271func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
45272	return &srhree, true
45273}
45274
45275// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45276func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
45277	return nil, false
45278}
45279
45280// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45281func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
45282	return nil, false
45283}
45284
45285// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45286func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
45287	return nil, false
45288}
45289
45290// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45291func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
45292	return nil, false
45293}
45294
45295// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45296func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
45297	return nil, false
45298}
45299
45300// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45301func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
45302	return nil, false
45303}
45304
45305// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45306func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
45307	return nil, false
45308}
45309
45310// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45311func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
45312	return nil, false
45313}
45314
45315// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45316func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
45317	return nil, false
45318}
45319
45320// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45321func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
45322	return nil, false
45323}
45324
45325// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45326func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
45327	return nil, false
45328}
45329
45330// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45331func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
45332	return nil, false
45333}
45334
45335// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45336func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
45337	return nil, false
45338}
45339
45340// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45341func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
45342	return nil, false
45343}
45344
45345// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45346func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
45347	return nil, false
45348}
45349
45350// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45351func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
45352	return nil, false
45353}
45354
45355// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45356func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
45357	return nil, false
45358}
45359
45360// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45361func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
45362	return nil, false
45363}
45364
45365// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45366func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
45367	return nil, false
45368}
45369
45370// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45371func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
45372	return nil, false
45373}
45374
45375// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45376func (srhree StatefulReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
45377	return nil, false
45378}
45379
45380// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
45381func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
45382	return &srhree, true
45383}
45384
45385// StatefulServiceDescription describes a stateful service.
45386type StatefulServiceDescription struct {
45387	// TargetReplicaSetSize - The target replica set size as a number.
45388	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
45389	// MinReplicaSetSize - The minimum replica set size as a number.
45390	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
45391	// 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.
45392	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
45393	// 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.
45394	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
45395	// For example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.
45396	// - None - Does not indicate any other properties are set. The value is zero.
45397	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.
45398	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.
45399	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.
45400	Flags *int32 `json:"Flags,omitempty"`
45401	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
45402	ReplicaRestartWaitDurationSeconds *int64 `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
45403	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
45404	QuorumLossWaitDurationSeconds *int64 `json:"QuorumLossWaitDurationSeconds,omitempty"`
45405	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
45406	StandByReplicaKeepDurationSeconds *int64 `json:"StandByReplicaKeepDurationSeconds,omitempty"`
45407	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
45408	ApplicationName *string `json:"ApplicationName,omitempty"`
45409	// ServiceName - The full name of the service with 'fabric:' URI scheme.
45410	ServiceName *string `json:"ServiceName,omitempty"`
45411	// ServiceTypeName - Name of the service type as specified in the service manifest.
45412	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
45413	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
45414	InitializationData *[]int32 `json:"InitializationData,omitempty"`
45415	// PartitionDescription - The partition description as an object.
45416	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
45417	// 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)".
45418	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
45419	// CorrelationScheme - The correlation scheme.
45420	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
45421	// ServiceLoadMetrics - The service load metrics.
45422	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
45423	// ServicePlacementPolicies - The service placement policies.
45424	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
45425	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
45426	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
45427	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
45428	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
45429	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
45430	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
45431	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
45432	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
45433	// ScalingPolicies - Scaling policies for this service.
45434	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
45435	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
45436	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
45437}
45438
45439// MarshalJSON is the custom marshaler for StatefulServiceDescription.
45440func (ssd StatefulServiceDescription) MarshalJSON() ([]byte, error) {
45441	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateful
45442	objectMap := make(map[string]interface{})
45443	if ssd.TargetReplicaSetSize != nil {
45444		objectMap["TargetReplicaSetSize"] = ssd.TargetReplicaSetSize
45445	}
45446	if ssd.MinReplicaSetSize != nil {
45447		objectMap["MinReplicaSetSize"] = ssd.MinReplicaSetSize
45448	}
45449	if ssd.HasPersistedState != nil {
45450		objectMap["HasPersistedState"] = ssd.HasPersistedState
45451	}
45452	if ssd.Flags != nil {
45453		objectMap["Flags"] = ssd.Flags
45454	}
45455	if ssd.ReplicaRestartWaitDurationSeconds != nil {
45456		objectMap["ReplicaRestartWaitDurationSeconds"] = ssd.ReplicaRestartWaitDurationSeconds
45457	}
45458	if ssd.QuorumLossWaitDurationSeconds != nil {
45459		objectMap["QuorumLossWaitDurationSeconds"] = ssd.QuorumLossWaitDurationSeconds
45460	}
45461	if ssd.StandByReplicaKeepDurationSeconds != nil {
45462		objectMap["StandByReplicaKeepDurationSeconds"] = ssd.StandByReplicaKeepDurationSeconds
45463	}
45464	if ssd.ApplicationName != nil {
45465		objectMap["ApplicationName"] = ssd.ApplicationName
45466	}
45467	if ssd.ServiceName != nil {
45468		objectMap["ServiceName"] = ssd.ServiceName
45469	}
45470	if ssd.ServiceTypeName != nil {
45471		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
45472	}
45473	if ssd.InitializationData != nil {
45474		objectMap["InitializationData"] = ssd.InitializationData
45475	}
45476	objectMap["PartitionDescription"] = ssd.PartitionDescription
45477	if ssd.PlacementConstraints != nil {
45478		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
45479	}
45480	if ssd.CorrelationScheme != nil {
45481		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
45482	}
45483	if ssd.ServiceLoadMetrics != nil {
45484		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
45485	}
45486	if ssd.ServicePlacementPolicies != nil {
45487		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
45488	}
45489	if ssd.DefaultMoveCost != "" {
45490		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
45491	}
45492	if ssd.IsDefaultMoveCostSpecified != nil {
45493		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
45494	}
45495	if ssd.ServicePackageActivationMode != "" {
45496		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
45497	}
45498	if ssd.ServiceDNSName != nil {
45499		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
45500	}
45501	if ssd.ScalingPolicies != nil {
45502		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
45503	}
45504	if ssd.ServiceKind != "" {
45505		objectMap["ServiceKind"] = ssd.ServiceKind
45506	}
45507	return json.Marshal(objectMap)
45508}
45509
45510// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
45511func (ssd StatefulServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
45512	return &ssd, true
45513}
45514
45515// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
45516func (ssd StatefulServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
45517	return nil, false
45518}
45519
45520// AsServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
45521func (ssd StatefulServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
45522	return nil, false
45523}
45524
45525// AsBasicServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
45526func (ssd StatefulServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
45527	return &ssd, true
45528}
45529
45530// UnmarshalJSON is the custom unmarshaler for StatefulServiceDescription struct.
45531func (ssd *StatefulServiceDescription) UnmarshalJSON(body []byte) error {
45532	var m map[string]*json.RawMessage
45533	err := json.Unmarshal(body, &m)
45534	if err != nil {
45535		return err
45536	}
45537	for k, v := range m {
45538		switch k {
45539		case "TargetReplicaSetSize":
45540			if v != nil {
45541				var targetReplicaSetSize int32
45542				err = json.Unmarshal(*v, &targetReplicaSetSize)
45543				if err != nil {
45544					return err
45545				}
45546				ssd.TargetReplicaSetSize = &targetReplicaSetSize
45547			}
45548		case "MinReplicaSetSize":
45549			if v != nil {
45550				var minReplicaSetSize int32
45551				err = json.Unmarshal(*v, &minReplicaSetSize)
45552				if err != nil {
45553					return err
45554				}
45555				ssd.MinReplicaSetSize = &minReplicaSetSize
45556			}
45557		case "HasPersistedState":
45558			if v != nil {
45559				var hasPersistedState bool
45560				err = json.Unmarshal(*v, &hasPersistedState)
45561				if err != nil {
45562					return err
45563				}
45564				ssd.HasPersistedState = &hasPersistedState
45565			}
45566		case "Flags":
45567			if v != nil {
45568				var flags int32
45569				err = json.Unmarshal(*v, &flags)
45570				if err != nil {
45571					return err
45572				}
45573				ssd.Flags = &flags
45574			}
45575		case "ReplicaRestartWaitDurationSeconds":
45576			if v != nil {
45577				var replicaRestartWaitDurationSeconds int64
45578				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
45579				if err != nil {
45580					return err
45581				}
45582				ssd.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
45583			}
45584		case "QuorumLossWaitDurationSeconds":
45585			if v != nil {
45586				var quorumLossWaitDurationSeconds int64
45587				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
45588				if err != nil {
45589					return err
45590				}
45591				ssd.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
45592			}
45593		case "StandByReplicaKeepDurationSeconds":
45594			if v != nil {
45595				var standByReplicaKeepDurationSeconds int64
45596				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
45597				if err != nil {
45598					return err
45599				}
45600				ssd.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
45601			}
45602		case "ApplicationName":
45603			if v != nil {
45604				var applicationName string
45605				err = json.Unmarshal(*v, &applicationName)
45606				if err != nil {
45607					return err
45608				}
45609				ssd.ApplicationName = &applicationName
45610			}
45611		case "ServiceName":
45612			if v != nil {
45613				var serviceName string
45614				err = json.Unmarshal(*v, &serviceName)
45615				if err != nil {
45616					return err
45617				}
45618				ssd.ServiceName = &serviceName
45619			}
45620		case "ServiceTypeName":
45621			if v != nil {
45622				var serviceTypeName string
45623				err = json.Unmarshal(*v, &serviceTypeName)
45624				if err != nil {
45625					return err
45626				}
45627				ssd.ServiceTypeName = &serviceTypeName
45628			}
45629		case "InitializationData":
45630			if v != nil {
45631				var initializationData []int32
45632				err = json.Unmarshal(*v, &initializationData)
45633				if err != nil {
45634					return err
45635				}
45636				ssd.InitializationData = &initializationData
45637			}
45638		case "PartitionDescription":
45639			if v != nil {
45640				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
45641				if err != nil {
45642					return err
45643				}
45644				ssd.PartitionDescription = partitionDescription
45645			}
45646		case "PlacementConstraints":
45647			if v != nil {
45648				var placementConstraints string
45649				err = json.Unmarshal(*v, &placementConstraints)
45650				if err != nil {
45651					return err
45652				}
45653				ssd.PlacementConstraints = &placementConstraints
45654			}
45655		case "CorrelationScheme":
45656			if v != nil {
45657				var correlationScheme []ServiceCorrelationDescription
45658				err = json.Unmarshal(*v, &correlationScheme)
45659				if err != nil {
45660					return err
45661				}
45662				ssd.CorrelationScheme = &correlationScheme
45663			}
45664		case "ServiceLoadMetrics":
45665			if v != nil {
45666				var serviceLoadMetrics []ServiceLoadMetricDescription
45667				err = json.Unmarshal(*v, &serviceLoadMetrics)
45668				if err != nil {
45669					return err
45670				}
45671				ssd.ServiceLoadMetrics = &serviceLoadMetrics
45672			}
45673		case "ServicePlacementPolicies":
45674			if v != nil {
45675				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
45676				if err != nil {
45677					return err
45678				}
45679				ssd.ServicePlacementPolicies = &servicePlacementPolicies
45680			}
45681		case "DefaultMoveCost":
45682			if v != nil {
45683				var defaultMoveCost MoveCost
45684				err = json.Unmarshal(*v, &defaultMoveCost)
45685				if err != nil {
45686					return err
45687				}
45688				ssd.DefaultMoveCost = defaultMoveCost
45689			}
45690		case "IsDefaultMoveCostSpecified":
45691			if v != nil {
45692				var isDefaultMoveCostSpecified bool
45693				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
45694				if err != nil {
45695					return err
45696				}
45697				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
45698			}
45699		case "ServicePackageActivationMode":
45700			if v != nil {
45701				var servicePackageActivationMode ServicePackageActivationMode
45702				err = json.Unmarshal(*v, &servicePackageActivationMode)
45703				if err != nil {
45704					return err
45705				}
45706				ssd.ServicePackageActivationMode = servicePackageActivationMode
45707			}
45708		case "ServiceDnsName":
45709			if v != nil {
45710				var serviceDNSName string
45711				err = json.Unmarshal(*v, &serviceDNSName)
45712				if err != nil {
45713					return err
45714				}
45715				ssd.ServiceDNSName = &serviceDNSName
45716			}
45717		case "ScalingPolicies":
45718			if v != nil {
45719				var scalingPolicies []ScalingPolicyDescription
45720				err = json.Unmarshal(*v, &scalingPolicies)
45721				if err != nil {
45722					return err
45723				}
45724				ssd.ScalingPolicies = &scalingPolicies
45725			}
45726		case "ServiceKind":
45727			if v != nil {
45728				var serviceKind ServiceKindBasicServiceDescription
45729				err = json.Unmarshal(*v, &serviceKind)
45730				if err != nil {
45731					return err
45732				}
45733				ssd.ServiceKind = serviceKind
45734			}
45735		}
45736	}
45737
45738	return nil
45739}
45740
45741// StatefulServiceInfo information about a stateful Service Fabric service.
45742type StatefulServiceInfo struct {
45743	// HasPersistedState - Whether the service has persisted state.
45744	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
45745	// ID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
45746	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
45747	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
45748	ID *string `json:"Id,omitempty"`
45749	// Name - The full name of the service with 'fabric:' URI scheme.
45750	Name *string `json:"Name,omitempty"`
45751	// TypeName - Name of the service type as specified in the service manifest.
45752	TypeName *string `json:"TypeName,omitempty"`
45753	// ManifestVersion - The version of the service manifest.
45754	ManifestVersion *string `json:"ManifestVersion,omitempty"`
45755	// 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'
45756	HealthState HealthState `json:"HealthState,omitempty"`
45757	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
45758	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
45759	// IsServiceGroup - Whether the service is in a service group.
45760	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
45761	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
45762	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
45763}
45764
45765// MarshalJSON is the custom marshaler for StatefulServiceInfo.
45766func (ssi StatefulServiceInfo) MarshalJSON() ([]byte, error) {
45767	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateful
45768	objectMap := make(map[string]interface{})
45769	if ssi.HasPersistedState != nil {
45770		objectMap["HasPersistedState"] = ssi.HasPersistedState
45771	}
45772	if ssi.ID != nil {
45773		objectMap["Id"] = ssi.ID
45774	}
45775	if ssi.Name != nil {
45776		objectMap["Name"] = ssi.Name
45777	}
45778	if ssi.TypeName != nil {
45779		objectMap["TypeName"] = ssi.TypeName
45780	}
45781	if ssi.ManifestVersion != nil {
45782		objectMap["ManifestVersion"] = ssi.ManifestVersion
45783	}
45784	if ssi.HealthState != "" {
45785		objectMap["HealthState"] = ssi.HealthState
45786	}
45787	if ssi.ServiceStatus != "" {
45788		objectMap["ServiceStatus"] = ssi.ServiceStatus
45789	}
45790	if ssi.IsServiceGroup != nil {
45791		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
45792	}
45793	if ssi.ServiceKind != "" {
45794		objectMap["ServiceKind"] = ssi.ServiceKind
45795	}
45796	return json.Marshal(objectMap)
45797}
45798
45799// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
45800func (ssi StatefulServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
45801	return &ssi, true
45802}
45803
45804// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
45805func (ssi StatefulServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
45806	return nil, false
45807}
45808
45809// AsServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
45810func (ssi StatefulServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
45811	return nil, false
45812}
45813
45814// AsBasicServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
45815func (ssi StatefulServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
45816	return &ssi, true
45817}
45818
45819// StatefulServicePartitionInfo information about a partition of a stateful Service Fabric service..
45820type StatefulServicePartitionInfo struct {
45821	// TargetReplicaSetSize - The target replica set size as a number.
45822	TargetReplicaSetSize *int64 `json:"TargetReplicaSetSize,omitempty"`
45823	// MinReplicaSetSize - The minimum replica set size as a number.
45824	MinReplicaSetSize *int64 `json:"MinReplicaSetSize,omitempty"`
45825	// 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.
45826	LastQuorumLossDuration *string `json:"LastQuorumLossDuration,omitempty"`
45827	// 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.
45828	CurrentConfigurationEpoch *Epoch `json:"CurrentConfigurationEpoch,omitempty"`
45829	// 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'
45830	HealthState HealthState `json:"HealthState,omitempty"`
45831	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
45832	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
45833	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
45834	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
45835	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
45836	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
45837}
45838
45839// MarshalJSON is the custom marshaler for StatefulServicePartitionInfo.
45840func (sspi StatefulServicePartitionInfo) MarshalJSON() ([]byte, error) {
45841	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateful
45842	objectMap := make(map[string]interface{})
45843	if sspi.TargetReplicaSetSize != nil {
45844		objectMap["TargetReplicaSetSize"] = sspi.TargetReplicaSetSize
45845	}
45846	if sspi.MinReplicaSetSize != nil {
45847		objectMap["MinReplicaSetSize"] = sspi.MinReplicaSetSize
45848	}
45849	if sspi.LastQuorumLossDuration != nil {
45850		objectMap["LastQuorumLossDuration"] = sspi.LastQuorumLossDuration
45851	}
45852	if sspi.CurrentConfigurationEpoch != nil {
45853		objectMap["CurrentConfigurationEpoch"] = sspi.CurrentConfigurationEpoch
45854	}
45855	if sspi.HealthState != "" {
45856		objectMap["HealthState"] = sspi.HealthState
45857	}
45858	if sspi.PartitionStatus != "" {
45859		objectMap["PartitionStatus"] = sspi.PartitionStatus
45860	}
45861	objectMap["PartitionInformation"] = sspi.PartitionInformation
45862	if sspi.ServiceKind != "" {
45863		objectMap["ServiceKind"] = sspi.ServiceKind
45864	}
45865	return json.Marshal(objectMap)
45866}
45867
45868// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
45869func (sspi StatefulServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
45870	return &sspi, true
45871}
45872
45873// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
45874func (sspi StatefulServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
45875	return nil, false
45876}
45877
45878// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
45879func (sspi StatefulServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
45880	return nil, false
45881}
45882
45883// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
45884func (sspi StatefulServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
45885	return &sspi, true
45886}
45887
45888// UnmarshalJSON is the custom unmarshaler for StatefulServicePartitionInfo struct.
45889func (sspi *StatefulServicePartitionInfo) UnmarshalJSON(body []byte) error {
45890	var m map[string]*json.RawMessage
45891	err := json.Unmarshal(body, &m)
45892	if err != nil {
45893		return err
45894	}
45895	for k, v := range m {
45896		switch k {
45897		case "TargetReplicaSetSize":
45898			if v != nil {
45899				var targetReplicaSetSize int64
45900				err = json.Unmarshal(*v, &targetReplicaSetSize)
45901				if err != nil {
45902					return err
45903				}
45904				sspi.TargetReplicaSetSize = &targetReplicaSetSize
45905			}
45906		case "MinReplicaSetSize":
45907			if v != nil {
45908				var minReplicaSetSize int64
45909				err = json.Unmarshal(*v, &minReplicaSetSize)
45910				if err != nil {
45911					return err
45912				}
45913				sspi.MinReplicaSetSize = &minReplicaSetSize
45914			}
45915		case "LastQuorumLossDuration":
45916			if v != nil {
45917				var lastQuorumLossDuration string
45918				err = json.Unmarshal(*v, &lastQuorumLossDuration)
45919				if err != nil {
45920					return err
45921				}
45922				sspi.LastQuorumLossDuration = &lastQuorumLossDuration
45923			}
45924		case "CurrentConfigurationEpoch":
45925			if v != nil {
45926				var currentConfigurationEpoch Epoch
45927				err = json.Unmarshal(*v, &currentConfigurationEpoch)
45928				if err != nil {
45929					return err
45930				}
45931				sspi.CurrentConfigurationEpoch = &currentConfigurationEpoch
45932			}
45933		case "HealthState":
45934			if v != nil {
45935				var healthState HealthState
45936				err = json.Unmarshal(*v, &healthState)
45937				if err != nil {
45938					return err
45939				}
45940				sspi.HealthState = healthState
45941			}
45942		case "PartitionStatus":
45943			if v != nil {
45944				var partitionStatus ServicePartitionStatus
45945				err = json.Unmarshal(*v, &partitionStatus)
45946				if err != nil {
45947					return err
45948				}
45949				sspi.PartitionStatus = partitionStatus
45950			}
45951		case "PartitionInformation":
45952			if v != nil {
45953				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
45954				if err != nil {
45955					return err
45956				}
45957				sspi.PartitionInformation = partitionInformation
45958			}
45959		case "ServiceKind":
45960			if v != nil {
45961				var serviceKind ServiceKindBasicServicePartitionInfo
45962				err = json.Unmarshal(*v, &serviceKind)
45963				if err != nil {
45964					return err
45965				}
45966				sspi.ServiceKind = serviceKind
45967			}
45968		}
45969	}
45970
45971	return nil
45972}
45973
45974// StatefulServiceReplicaHealth represents the health of the stateful service replica.
45975// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
45976type StatefulServiceReplicaHealth struct {
45977	// 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.
45978	ReplicaID *string `json:"ReplicaId,omitempty"`
45979	// PartitionID - Id of the partition to which this replica belongs.
45980	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
45981	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
45982	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
45983	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
45984	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
45985	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
45986	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
45987	// HealthEvents - The list of health events reported on the entity.
45988	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
45989	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
45990	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
45991	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
45992	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
45993}
45994
45995// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealth.
45996func (ssrh StatefulServiceReplicaHealth) MarshalJSON() ([]byte, error) {
45997	ssrh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateful
45998	objectMap := make(map[string]interface{})
45999	if ssrh.ReplicaID != nil {
46000		objectMap["ReplicaId"] = ssrh.ReplicaID
46001	}
46002	if ssrh.PartitionID != nil {
46003		objectMap["PartitionId"] = ssrh.PartitionID
46004	}
46005	if ssrh.ServiceKind != "" {
46006		objectMap["ServiceKind"] = ssrh.ServiceKind
46007	}
46008	if ssrh.AggregatedHealthState != "" {
46009		objectMap["AggregatedHealthState"] = ssrh.AggregatedHealthState
46010	}
46011	if ssrh.HealthEvents != nil {
46012		objectMap["HealthEvents"] = ssrh.HealthEvents
46013	}
46014	if ssrh.UnhealthyEvaluations != nil {
46015		objectMap["UnhealthyEvaluations"] = ssrh.UnhealthyEvaluations
46016	}
46017	if ssrh.HealthStatistics != nil {
46018		objectMap["HealthStatistics"] = ssrh.HealthStatistics
46019	}
46020	return json.Marshal(objectMap)
46021}
46022
46023// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46024func (ssrh StatefulServiceReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
46025	return &ssrh, true
46026}
46027
46028// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46029func (ssrh StatefulServiceReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
46030	return nil, false
46031}
46032
46033// AsReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46034func (ssrh StatefulServiceReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
46035	return nil, false
46036}
46037
46038// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
46039func (ssrh StatefulServiceReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
46040	return &ssrh, true
46041}
46042
46043// StatefulServiceReplicaHealthState represents the health state of the stateful service replica, which
46044// contains the replica ID and the aggregated health state.
46045type StatefulServiceReplicaHealthState struct {
46046	// 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.
46047	ReplicaID *string `json:"ReplicaId,omitempty"`
46048	// PartitionID - The ID of the partition to which this replica belongs.
46049	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
46050	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
46051	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
46052	// 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'
46053	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
46054}
46055
46056// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealthState.
46057func (ssrhs StatefulServiceReplicaHealthState) MarshalJSON() ([]byte, error) {
46058	ssrhs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateful
46059	objectMap := make(map[string]interface{})
46060	if ssrhs.ReplicaID != nil {
46061		objectMap["ReplicaId"] = ssrhs.ReplicaID
46062	}
46063	if ssrhs.PartitionID != nil {
46064		objectMap["PartitionId"] = ssrhs.PartitionID
46065	}
46066	if ssrhs.ServiceKind != "" {
46067		objectMap["ServiceKind"] = ssrhs.ServiceKind
46068	}
46069	if ssrhs.AggregatedHealthState != "" {
46070		objectMap["AggregatedHealthState"] = ssrhs.AggregatedHealthState
46071	}
46072	return json.Marshal(objectMap)
46073}
46074
46075// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46076func (ssrhs StatefulServiceReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
46077	return &ssrhs, true
46078}
46079
46080// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46081func (ssrhs StatefulServiceReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
46082	return nil, false
46083}
46084
46085// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46086func (ssrhs StatefulServiceReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
46087	return nil, false
46088}
46089
46090// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
46091func (ssrhs StatefulServiceReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
46092	return &ssrhs, true
46093}
46094
46095// StatefulServiceReplicaInfo represents a stateful service replica. This includes information about the
46096// identity, role, status, health, node name, uptime, and other details about the replica.
46097type StatefulServiceReplicaInfo struct {
46098	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
46099	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
46100	// 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.
46101	ReplicaID *string `json:"ReplicaId,omitempty"`
46102	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
46103	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
46104	// 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'
46105	HealthState HealthState `json:"HealthState,omitempty"`
46106	// NodeName - The name of a Service Fabric node.
46107	NodeName *string `json:"NodeName,omitempty"`
46108	// Address - The address the replica is listening on.
46109	Address *string `json:"Address,omitempty"`
46110	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
46111	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
46112	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
46113	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
46114}
46115
46116// MarshalJSON is the custom marshaler for StatefulServiceReplicaInfo.
46117func (ssri StatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
46118	ssri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateful
46119	objectMap := make(map[string]interface{})
46120	if ssri.ReplicaRole != "" {
46121		objectMap["ReplicaRole"] = ssri.ReplicaRole
46122	}
46123	if ssri.ReplicaID != nil {
46124		objectMap["ReplicaId"] = ssri.ReplicaID
46125	}
46126	if ssri.ReplicaStatus != "" {
46127		objectMap["ReplicaStatus"] = ssri.ReplicaStatus
46128	}
46129	if ssri.HealthState != "" {
46130		objectMap["HealthState"] = ssri.HealthState
46131	}
46132	if ssri.NodeName != nil {
46133		objectMap["NodeName"] = ssri.NodeName
46134	}
46135	if ssri.Address != nil {
46136		objectMap["Address"] = ssri.Address
46137	}
46138	if ssri.LastInBuildDurationInSeconds != nil {
46139		objectMap["LastInBuildDurationInSeconds"] = ssri.LastInBuildDurationInSeconds
46140	}
46141	if ssri.ServiceKind != "" {
46142		objectMap["ServiceKind"] = ssri.ServiceKind
46143	}
46144	return json.Marshal(objectMap)
46145}
46146
46147// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46148func (ssri StatefulServiceReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
46149	return &ssri, true
46150}
46151
46152// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46153func (ssri StatefulServiceReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
46154	return nil, false
46155}
46156
46157// AsReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46158func (ssri StatefulServiceReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
46159	return nil, false
46160}
46161
46162// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
46163func (ssri StatefulServiceReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
46164	return &ssri, true
46165}
46166
46167// StatefulServiceTypeDescription describes a stateful service type defined in the service manifest of a
46168// provisioned application type.
46169type StatefulServiceTypeDescription struct {
46170	// 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.
46171	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
46172	// 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.
46173	IsStateful *bool `json:"IsStateful,omitempty"`
46174	// ServiceTypeName - Name of the service type as specified in the service manifest.
46175	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
46176	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
46177	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
46178	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
46179	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
46180	// ServicePlacementPolicies - List of service placement policy descriptions.
46181	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
46182	// Extensions - List of service type extensions.
46183	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
46184	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
46185	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
46186}
46187
46188// MarshalJSON is the custom marshaler for StatefulServiceTypeDescription.
46189func (sstd StatefulServiceTypeDescription) MarshalJSON() ([]byte, error) {
46190	sstd.Kind = KindStateful
46191	objectMap := make(map[string]interface{})
46192	if sstd.HasPersistedState != nil {
46193		objectMap["HasPersistedState"] = sstd.HasPersistedState
46194	}
46195	if sstd.IsStateful != nil {
46196		objectMap["IsStateful"] = sstd.IsStateful
46197	}
46198	if sstd.ServiceTypeName != nil {
46199		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
46200	}
46201	if sstd.PlacementConstraints != nil {
46202		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
46203	}
46204	if sstd.LoadMetrics != nil {
46205		objectMap["LoadMetrics"] = sstd.LoadMetrics
46206	}
46207	if sstd.ServicePlacementPolicies != nil {
46208		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
46209	}
46210	if sstd.Extensions != nil {
46211		objectMap["Extensions"] = sstd.Extensions
46212	}
46213	if sstd.Kind != "" {
46214		objectMap["Kind"] = sstd.Kind
46215	}
46216	return json.Marshal(objectMap)
46217}
46218
46219// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46220func (sstd StatefulServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
46221	return &sstd, true
46222}
46223
46224// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46225func (sstd StatefulServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
46226	return nil, false
46227}
46228
46229// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46230func (sstd StatefulServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
46231	return nil, false
46232}
46233
46234// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
46235func (sstd StatefulServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
46236	return &sstd, true
46237}
46238
46239// UnmarshalJSON is the custom unmarshaler for StatefulServiceTypeDescription struct.
46240func (sstd *StatefulServiceTypeDescription) UnmarshalJSON(body []byte) error {
46241	var m map[string]*json.RawMessage
46242	err := json.Unmarshal(body, &m)
46243	if err != nil {
46244		return err
46245	}
46246	for k, v := range m {
46247		switch k {
46248		case "HasPersistedState":
46249			if v != nil {
46250				var hasPersistedState bool
46251				err = json.Unmarshal(*v, &hasPersistedState)
46252				if err != nil {
46253					return err
46254				}
46255				sstd.HasPersistedState = &hasPersistedState
46256			}
46257		case "IsStateful":
46258			if v != nil {
46259				var isStateful bool
46260				err = json.Unmarshal(*v, &isStateful)
46261				if err != nil {
46262					return err
46263				}
46264				sstd.IsStateful = &isStateful
46265			}
46266		case "ServiceTypeName":
46267			if v != nil {
46268				var serviceTypeName string
46269				err = json.Unmarshal(*v, &serviceTypeName)
46270				if err != nil {
46271					return err
46272				}
46273				sstd.ServiceTypeName = &serviceTypeName
46274			}
46275		case "PlacementConstraints":
46276			if v != nil {
46277				var placementConstraints string
46278				err = json.Unmarshal(*v, &placementConstraints)
46279				if err != nil {
46280					return err
46281				}
46282				sstd.PlacementConstraints = &placementConstraints
46283			}
46284		case "LoadMetrics":
46285			if v != nil {
46286				var loadMetrics []ServiceLoadMetricDescription
46287				err = json.Unmarshal(*v, &loadMetrics)
46288				if err != nil {
46289					return err
46290				}
46291				sstd.LoadMetrics = &loadMetrics
46292			}
46293		case "ServicePlacementPolicies":
46294			if v != nil {
46295				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
46296				if err != nil {
46297					return err
46298				}
46299				sstd.ServicePlacementPolicies = &servicePlacementPolicies
46300			}
46301		case "Extensions":
46302			if v != nil {
46303				var extensions []ServiceTypeExtensionDescription
46304				err = json.Unmarshal(*v, &extensions)
46305				if err != nil {
46306					return err
46307				}
46308				sstd.Extensions = &extensions
46309			}
46310		case "Kind":
46311			if v != nil {
46312				var kind KindBasicServiceTypeDescription
46313				err = json.Unmarshal(*v, &kind)
46314				if err != nil {
46315					return err
46316				}
46317				sstd.Kind = kind
46318			}
46319		}
46320	}
46321
46322	return nil
46323}
46324
46325// StatefulServiceUpdateDescription describes an update for a stateful service.
46326type StatefulServiceUpdateDescription struct {
46327	// TargetReplicaSetSize - The target replica set size as a number.
46328	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
46329	// MinReplicaSetSize - The minimum replica set size as a number.
46330	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
46331	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
46332	ReplicaRestartWaitDurationSeconds *string `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
46333	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
46334	QuorumLossWaitDurationSeconds *string `json:"QuorumLossWaitDurationSeconds,omitempty"`
46335	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
46336	StandByReplicaKeepDurationSeconds *string `json:"StandByReplicaKeepDurationSeconds,omitempty"`
46337	// 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.
46338	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
46339	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
46340	// - None - Does not indicate any other properties are set. The value is zero.
46341	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
46342	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
46343	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
46344	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
46345	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
46346	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
46347	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
46348	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
46349	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
46350	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
46351	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
46352	Flags *string `json:"Flags,omitempty"`
46353	// 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)".
46354	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
46355	// CorrelationScheme - The correlation scheme.
46356	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
46357	// LoadMetrics - The service load metrics.
46358	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
46359	// ServicePlacementPolicies - The service placement policies.
46360	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
46361	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
46362	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
46363	// ScalingPolicies - Scaling policies for this service.
46364	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
46365	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
46366	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
46367}
46368
46369// MarshalJSON is the custom marshaler for StatefulServiceUpdateDescription.
46370func (ssud StatefulServiceUpdateDescription) MarshalJSON() ([]byte, error) {
46371	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateful
46372	objectMap := make(map[string]interface{})
46373	if ssud.TargetReplicaSetSize != nil {
46374		objectMap["TargetReplicaSetSize"] = ssud.TargetReplicaSetSize
46375	}
46376	if ssud.MinReplicaSetSize != nil {
46377		objectMap["MinReplicaSetSize"] = ssud.MinReplicaSetSize
46378	}
46379	if ssud.ReplicaRestartWaitDurationSeconds != nil {
46380		objectMap["ReplicaRestartWaitDurationSeconds"] = ssud.ReplicaRestartWaitDurationSeconds
46381	}
46382	if ssud.QuorumLossWaitDurationSeconds != nil {
46383		objectMap["QuorumLossWaitDurationSeconds"] = ssud.QuorumLossWaitDurationSeconds
46384	}
46385	if ssud.StandByReplicaKeepDurationSeconds != nil {
46386		objectMap["StandByReplicaKeepDurationSeconds"] = ssud.StandByReplicaKeepDurationSeconds
46387	}
46388	if ssud.Flags != nil {
46389		objectMap["Flags"] = ssud.Flags
46390	}
46391	if ssud.PlacementConstraints != nil {
46392		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
46393	}
46394	if ssud.CorrelationScheme != nil {
46395		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
46396	}
46397	if ssud.LoadMetrics != nil {
46398		objectMap["LoadMetrics"] = ssud.LoadMetrics
46399	}
46400	if ssud.ServicePlacementPolicies != nil {
46401		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
46402	}
46403	if ssud.DefaultMoveCost != "" {
46404		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
46405	}
46406	if ssud.ScalingPolicies != nil {
46407		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
46408	}
46409	if ssud.ServiceKind != "" {
46410		objectMap["ServiceKind"] = ssud.ServiceKind
46411	}
46412	return json.Marshal(objectMap)
46413}
46414
46415// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
46416func (ssud StatefulServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
46417	return &ssud, true
46418}
46419
46420// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
46421func (ssud StatefulServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
46422	return nil, false
46423}
46424
46425// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
46426func (ssud StatefulServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
46427	return nil, false
46428}
46429
46430// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
46431func (ssud StatefulServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
46432	return &ssud, true
46433}
46434
46435// UnmarshalJSON is the custom unmarshaler for StatefulServiceUpdateDescription struct.
46436func (ssud *StatefulServiceUpdateDescription) UnmarshalJSON(body []byte) error {
46437	var m map[string]*json.RawMessage
46438	err := json.Unmarshal(body, &m)
46439	if err != nil {
46440		return err
46441	}
46442	for k, v := range m {
46443		switch k {
46444		case "TargetReplicaSetSize":
46445			if v != nil {
46446				var targetReplicaSetSize int32
46447				err = json.Unmarshal(*v, &targetReplicaSetSize)
46448				if err != nil {
46449					return err
46450				}
46451				ssud.TargetReplicaSetSize = &targetReplicaSetSize
46452			}
46453		case "MinReplicaSetSize":
46454			if v != nil {
46455				var minReplicaSetSize int32
46456				err = json.Unmarshal(*v, &minReplicaSetSize)
46457				if err != nil {
46458					return err
46459				}
46460				ssud.MinReplicaSetSize = &minReplicaSetSize
46461			}
46462		case "ReplicaRestartWaitDurationSeconds":
46463			if v != nil {
46464				var replicaRestartWaitDurationSeconds string
46465				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
46466				if err != nil {
46467					return err
46468				}
46469				ssud.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
46470			}
46471		case "QuorumLossWaitDurationSeconds":
46472			if v != nil {
46473				var quorumLossWaitDurationSeconds string
46474				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
46475				if err != nil {
46476					return err
46477				}
46478				ssud.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
46479			}
46480		case "StandByReplicaKeepDurationSeconds":
46481			if v != nil {
46482				var standByReplicaKeepDurationSeconds string
46483				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
46484				if err != nil {
46485					return err
46486				}
46487				ssud.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
46488			}
46489		case "Flags":
46490			if v != nil {
46491				var flags string
46492				err = json.Unmarshal(*v, &flags)
46493				if err != nil {
46494					return err
46495				}
46496				ssud.Flags = &flags
46497			}
46498		case "PlacementConstraints":
46499			if v != nil {
46500				var placementConstraints string
46501				err = json.Unmarshal(*v, &placementConstraints)
46502				if err != nil {
46503					return err
46504				}
46505				ssud.PlacementConstraints = &placementConstraints
46506			}
46507		case "CorrelationScheme":
46508			if v != nil {
46509				var correlationScheme []ServiceCorrelationDescription
46510				err = json.Unmarshal(*v, &correlationScheme)
46511				if err != nil {
46512					return err
46513				}
46514				ssud.CorrelationScheme = &correlationScheme
46515			}
46516		case "LoadMetrics":
46517			if v != nil {
46518				var loadMetrics []ServiceLoadMetricDescription
46519				err = json.Unmarshal(*v, &loadMetrics)
46520				if err != nil {
46521					return err
46522				}
46523				ssud.LoadMetrics = &loadMetrics
46524			}
46525		case "ServicePlacementPolicies":
46526			if v != nil {
46527				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
46528				if err != nil {
46529					return err
46530				}
46531				ssud.ServicePlacementPolicies = &servicePlacementPolicies
46532			}
46533		case "DefaultMoveCost":
46534			if v != nil {
46535				var defaultMoveCost MoveCost
46536				err = json.Unmarshal(*v, &defaultMoveCost)
46537				if err != nil {
46538					return err
46539				}
46540				ssud.DefaultMoveCost = defaultMoveCost
46541			}
46542		case "ScalingPolicies":
46543			if v != nil {
46544				var scalingPolicies []ScalingPolicyDescription
46545				err = json.Unmarshal(*v, &scalingPolicies)
46546				if err != nil {
46547					return err
46548				}
46549				ssud.ScalingPolicies = &scalingPolicies
46550			}
46551		case "ServiceKind":
46552			if v != nil {
46553				var serviceKind ServiceKindBasicServiceUpdateDescription
46554				err = json.Unmarshal(*v, &serviceKind)
46555				if err != nil {
46556					return err
46557				}
46558				ssud.ServiceKind = serviceKind
46559			}
46560		}
46561	}
46562
46563	return nil
46564}
46565
46566// StatelessReplicaHealthReportCreatedEvent stateless Replica Health Report Created event.
46567type StatelessReplicaHealthReportCreatedEvent struct {
46568	// SourceID - Id of report source.
46569	SourceID *string `json:"SourceId,omitempty"`
46570	// Property - Describes the property.
46571	Property *string `json:"Property,omitempty"`
46572	// HealthState - Describes the property health state.
46573	HealthState *string `json:"HealthState,omitempty"`
46574	// TimeToLiveMs - Time to live in milli-seconds.
46575	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
46576	// SequenceNumber - Sequence number of report.
46577	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
46578	// Description - Description of report.
46579	Description *string `json:"Description,omitempty"`
46580	// RemoveWhenExpired - Indicates the removal when it expires.
46581	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
46582	// SourceUtcTimestamp - Source time.
46583	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
46584	// 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.
46585	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
46586	// 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.
46587	ReplicaID *int64 `json:"ReplicaId,omitempty"`
46588	// EventInstanceID - The identifier for the FabricEvent instance.
46589	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
46590	// TimeStamp - The time event was logged.
46591	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
46592	// HasCorrelatedEvents - Shows there is existing related events available.
46593	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
46594	// 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'
46595	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
46596}
46597
46598// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportCreatedEvent.
46599func (srhrce StatelessReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
46600	srhrce.Kind = KindStatelessReplicaHealthReportCreated
46601	objectMap := make(map[string]interface{})
46602	if srhrce.SourceID != nil {
46603		objectMap["SourceId"] = srhrce.SourceID
46604	}
46605	if srhrce.Property != nil {
46606		objectMap["Property"] = srhrce.Property
46607	}
46608	if srhrce.HealthState != nil {
46609		objectMap["HealthState"] = srhrce.HealthState
46610	}
46611	if srhrce.TimeToLiveMs != nil {
46612		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
46613	}
46614	if srhrce.SequenceNumber != nil {
46615		objectMap["SequenceNumber"] = srhrce.SequenceNumber
46616	}
46617	if srhrce.Description != nil {
46618		objectMap["Description"] = srhrce.Description
46619	}
46620	if srhrce.RemoveWhenExpired != nil {
46621		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
46622	}
46623	if srhrce.SourceUtcTimestamp != nil {
46624		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
46625	}
46626	if srhrce.PartitionID != nil {
46627		objectMap["PartitionId"] = srhrce.PartitionID
46628	}
46629	if srhrce.ReplicaID != nil {
46630		objectMap["ReplicaId"] = srhrce.ReplicaID
46631	}
46632	if srhrce.EventInstanceID != nil {
46633		objectMap["EventInstanceId"] = srhrce.EventInstanceID
46634	}
46635	if srhrce.TimeStamp != nil {
46636		objectMap["TimeStamp"] = srhrce.TimeStamp
46637	}
46638	if srhrce.HasCorrelatedEvents != nil {
46639		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
46640	}
46641	if srhrce.Kind != "" {
46642		objectMap["Kind"] = srhrce.Kind
46643	}
46644	return json.Marshal(objectMap)
46645}
46646
46647// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46648func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
46649	return nil, false
46650}
46651
46652// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46653func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
46654	return nil, false
46655}
46656
46657// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46658func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
46659	return nil, false
46660}
46661
46662// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46663func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
46664	return nil, false
46665}
46666
46667// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46668func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
46669	return nil, false
46670}
46671
46672// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46673func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
46674	return nil, false
46675}
46676
46677// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46678func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
46679	return nil, false
46680}
46681
46682// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46683func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
46684	return nil, false
46685}
46686
46687// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46688func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
46689	return nil, false
46690}
46691
46692// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46693func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
46694	return nil, false
46695}
46696
46697// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46698func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
46699	return nil, false
46700}
46701
46702// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46703func (srhrce StatelessReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
46704	return nil, false
46705}
46706
46707// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46708func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
46709	return &srhrce, true
46710}
46711
46712// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46713func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
46714	return nil, false
46715}
46716
46717// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46718func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
46719	return nil, false
46720}
46721
46722// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46723func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
46724	return nil, false
46725}
46726
46727// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46728func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
46729	return nil, false
46730}
46731
46732// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46733func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
46734	return nil, false
46735}
46736
46737// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46738func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
46739	return nil, false
46740}
46741
46742// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46743func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
46744	return nil, false
46745}
46746
46747// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46748func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
46749	return nil, false
46750}
46751
46752// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46753func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
46754	return nil, false
46755}
46756
46757// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46758func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
46759	return nil, false
46760}
46761
46762// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46763func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
46764	return nil, false
46765}
46766
46767// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46768func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
46769	return nil, false
46770}
46771
46772// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46773func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
46774	return nil, false
46775}
46776
46777// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46778func (srhrce StatelessReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
46779	return nil, false
46780}
46781
46782// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46783func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
46784	return nil, false
46785}
46786
46787// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46788func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
46789	return nil, false
46790}
46791
46792// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46793func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
46794	return nil, false
46795}
46796
46797// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46798func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
46799	return nil, false
46800}
46801
46802// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46803func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
46804	return nil, false
46805}
46806
46807// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46808func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
46809	return nil, false
46810}
46811
46812// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46813func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
46814	return nil, false
46815}
46816
46817// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46818func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
46819	return nil, false
46820}
46821
46822// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46823func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
46824	return nil, false
46825}
46826
46827// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46828func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
46829	return nil, false
46830}
46831
46832// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46833func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
46834	return nil, false
46835}
46836
46837// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46838func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
46839	return nil, false
46840}
46841
46842// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46843func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
46844	return nil, false
46845}
46846
46847// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46848func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
46849	return nil, false
46850}
46851
46852// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46853func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
46854	return nil, false
46855}
46856
46857// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46858func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
46859	return nil, false
46860}
46861
46862// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46863func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
46864	return nil, false
46865}
46866
46867// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46868func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
46869	return nil, false
46870}
46871
46872// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46873func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
46874	return nil, false
46875}
46876
46877// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46878func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
46879	return nil, false
46880}
46881
46882// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46883func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
46884	return nil, false
46885}
46886
46887// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46888func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
46889	return nil, false
46890}
46891
46892// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46893func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
46894	return nil, false
46895}
46896
46897// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46898func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
46899	return nil, false
46900}
46901
46902// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46903func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
46904	return nil, false
46905}
46906
46907// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46908func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
46909	return nil, false
46910}
46911
46912// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46913func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
46914	return nil, false
46915}
46916
46917// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46918func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
46919	return nil, false
46920}
46921
46922// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46923func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
46924	return &srhrce, true
46925}
46926
46927// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46928func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
46929	return nil, false
46930}
46931
46932// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46933func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
46934	return nil, false
46935}
46936
46937// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46938func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
46939	return nil, false
46940}
46941
46942// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46943func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
46944	return nil, false
46945}
46946
46947// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46948func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
46949	return nil, false
46950}
46951
46952// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46953func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
46954	return nil, false
46955}
46956
46957// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46958func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
46959	return nil, false
46960}
46961
46962// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46963func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
46964	return nil, false
46965}
46966
46967// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46968func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
46969	return nil, false
46970}
46971
46972// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46973func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
46974	return nil, false
46975}
46976
46977// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46978func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
46979	return nil, false
46980}
46981
46982// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46983func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
46984	return nil, false
46985}
46986
46987// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46988func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
46989	return nil, false
46990}
46991
46992// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46993func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
46994	return nil, false
46995}
46996
46997// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
46998func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
46999	return nil, false
47000}
47001
47002// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47003func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
47004	return nil, false
47005}
47006
47007// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47008func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
47009	return nil, false
47010}
47011
47012// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47013func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
47014	return nil, false
47015}
47016
47017// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47018func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
47019	return nil, false
47020}
47021
47022// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47023func (srhrce StatelessReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
47024	return nil, false
47025}
47026
47027// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
47028func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
47029	return &srhrce, true
47030}
47031
47032// StatelessReplicaHealthReportExpiredEvent stateless Replica Health Report Expired event.
47033type StatelessReplicaHealthReportExpiredEvent struct {
47034	// SourceID - Id of report source.
47035	SourceID *string `json:"SourceId,omitempty"`
47036	// Property - Describes the property.
47037	Property *string `json:"Property,omitempty"`
47038	// HealthState - Describes the property health state.
47039	HealthState *string `json:"HealthState,omitempty"`
47040	// TimeToLiveMs - Time to live in milli-seconds.
47041	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
47042	// SequenceNumber - Sequence number of report.
47043	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
47044	// Description - Description of report.
47045	Description *string `json:"Description,omitempty"`
47046	// RemoveWhenExpired - Indicates the removal when it expires.
47047	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
47048	// SourceUtcTimestamp - Source time.
47049	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
47050	// 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.
47051	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
47052	// 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.
47053	ReplicaID *int64 `json:"ReplicaId,omitempty"`
47054	// EventInstanceID - The identifier for the FabricEvent instance.
47055	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
47056	// TimeStamp - The time event was logged.
47057	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
47058	// HasCorrelatedEvents - Shows there is existing related events available.
47059	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
47060	// 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'
47061	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
47062}
47063
47064// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportExpiredEvent.
47065func (srhree StatelessReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
47066	srhree.Kind = KindStatelessReplicaHealthReportExpired
47067	objectMap := make(map[string]interface{})
47068	if srhree.SourceID != nil {
47069		objectMap["SourceId"] = srhree.SourceID
47070	}
47071	if srhree.Property != nil {
47072		objectMap["Property"] = srhree.Property
47073	}
47074	if srhree.HealthState != nil {
47075		objectMap["HealthState"] = srhree.HealthState
47076	}
47077	if srhree.TimeToLiveMs != nil {
47078		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
47079	}
47080	if srhree.SequenceNumber != nil {
47081		objectMap["SequenceNumber"] = srhree.SequenceNumber
47082	}
47083	if srhree.Description != nil {
47084		objectMap["Description"] = srhree.Description
47085	}
47086	if srhree.RemoveWhenExpired != nil {
47087		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
47088	}
47089	if srhree.SourceUtcTimestamp != nil {
47090		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
47091	}
47092	if srhree.PartitionID != nil {
47093		objectMap["PartitionId"] = srhree.PartitionID
47094	}
47095	if srhree.ReplicaID != nil {
47096		objectMap["ReplicaId"] = srhree.ReplicaID
47097	}
47098	if srhree.EventInstanceID != nil {
47099		objectMap["EventInstanceId"] = srhree.EventInstanceID
47100	}
47101	if srhree.TimeStamp != nil {
47102		objectMap["TimeStamp"] = srhree.TimeStamp
47103	}
47104	if srhree.HasCorrelatedEvents != nil {
47105		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
47106	}
47107	if srhree.Kind != "" {
47108		objectMap["Kind"] = srhree.Kind
47109	}
47110	return json.Marshal(objectMap)
47111}
47112
47113// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47114func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
47115	return nil, false
47116}
47117
47118// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47119func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
47120	return nil, false
47121}
47122
47123// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47124func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
47125	return nil, false
47126}
47127
47128// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47129func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
47130	return nil, false
47131}
47132
47133// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47134func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
47135	return nil, false
47136}
47137
47138// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47139func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
47140	return nil, false
47141}
47142
47143// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47144func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
47145	return nil, false
47146}
47147
47148// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47149func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
47150	return nil, false
47151}
47152
47153// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47154func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
47155	return nil, false
47156}
47157
47158// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47159func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
47160	return nil, false
47161}
47162
47163// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47164func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
47165	return nil, false
47166}
47167
47168// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47169func (srhree StatelessReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
47170	return nil, false
47171}
47172
47173// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47174func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
47175	return &srhree, true
47176}
47177
47178// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47179func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
47180	return nil, false
47181}
47182
47183// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47184func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
47185	return nil, false
47186}
47187
47188// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47189func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
47190	return nil, false
47191}
47192
47193// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47194func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
47195	return nil, false
47196}
47197
47198// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47199func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
47200	return nil, false
47201}
47202
47203// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47204func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
47205	return nil, false
47206}
47207
47208// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47209func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
47210	return nil, false
47211}
47212
47213// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47214func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
47215	return nil, false
47216}
47217
47218// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47219func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
47220	return nil, false
47221}
47222
47223// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47224func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
47225	return nil, false
47226}
47227
47228// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47229func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
47230	return nil, false
47231}
47232
47233// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47234func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
47235	return nil, false
47236}
47237
47238// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47239func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
47240	return nil, false
47241}
47242
47243// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47244func (srhree StatelessReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
47245	return nil, false
47246}
47247
47248// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47249func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
47250	return nil, false
47251}
47252
47253// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47254func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
47255	return nil, false
47256}
47257
47258// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47259func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
47260	return nil, false
47261}
47262
47263// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47264func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
47265	return nil, false
47266}
47267
47268// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47269func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
47270	return nil, false
47271}
47272
47273// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47274func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
47275	return nil, false
47276}
47277
47278// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47279func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
47280	return nil, false
47281}
47282
47283// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47284func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
47285	return nil, false
47286}
47287
47288// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47289func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
47290	return nil, false
47291}
47292
47293// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47294func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
47295	return nil, false
47296}
47297
47298// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47299func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
47300	return nil, false
47301}
47302
47303// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47304func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
47305	return nil, false
47306}
47307
47308// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47309func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
47310	return nil, false
47311}
47312
47313// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47314func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
47315	return nil, false
47316}
47317
47318// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47319func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
47320	return nil, false
47321}
47322
47323// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47324func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
47325	return nil, false
47326}
47327
47328// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47329func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
47330	return nil, false
47331}
47332
47333// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47334func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
47335	return nil, false
47336}
47337
47338// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47339func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
47340	return nil, false
47341}
47342
47343// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47344func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
47345	return nil, false
47346}
47347
47348// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47349func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
47350	return nil, false
47351}
47352
47353// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47354func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
47355	return nil, false
47356}
47357
47358// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47359func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
47360	return nil, false
47361}
47362
47363// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47364func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
47365	return nil, false
47366}
47367
47368// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47369func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
47370	return nil, false
47371}
47372
47373// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47374func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
47375	return nil, false
47376}
47377
47378// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47379func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
47380	return nil, false
47381}
47382
47383// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47384func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
47385	return nil, false
47386}
47387
47388// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47389func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
47390	return nil, false
47391}
47392
47393// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47394func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
47395	return &srhree, true
47396}
47397
47398// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47399func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
47400	return nil, false
47401}
47402
47403// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47404func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
47405	return nil, false
47406}
47407
47408// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47409func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
47410	return nil, false
47411}
47412
47413// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47414func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
47415	return nil, false
47416}
47417
47418// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47419func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
47420	return nil, false
47421}
47422
47423// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47424func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
47425	return nil, false
47426}
47427
47428// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47429func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
47430	return nil, false
47431}
47432
47433// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47434func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
47435	return nil, false
47436}
47437
47438// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47439func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
47440	return nil, false
47441}
47442
47443// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47444func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
47445	return nil, false
47446}
47447
47448// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47449func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
47450	return nil, false
47451}
47452
47453// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47454func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
47455	return nil, false
47456}
47457
47458// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47459func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
47460	return nil, false
47461}
47462
47463// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47464func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
47465	return nil, false
47466}
47467
47468// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47469func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
47470	return nil, false
47471}
47472
47473// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47474func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
47475	return nil, false
47476}
47477
47478// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47479func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
47480	return nil, false
47481}
47482
47483// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47484func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
47485	return nil, false
47486}
47487
47488// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47489func (srhree StatelessReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
47490	return nil, false
47491}
47492
47493// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
47494func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
47495	return &srhree, true
47496}
47497
47498// StatelessServiceDescription describes a stateless service.
47499type StatelessServiceDescription struct {
47500	// InstanceCount - The instance count.
47501	InstanceCount *int32 `json:"InstanceCount,omitempty"`
47502	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
47503	ApplicationName *string `json:"ApplicationName,omitempty"`
47504	// ServiceName - The full name of the service with 'fabric:' URI scheme.
47505	ServiceName *string `json:"ServiceName,omitempty"`
47506	// ServiceTypeName - Name of the service type as specified in the service manifest.
47507	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
47508	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
47509	InitializationData *[]int32 `json:"InitializationData,omitempty"`
47510	// PartitionDescription - The partition description as an object.
47511	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
47512	// 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)".
47513	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
47514	// CorrelationScheme - The correlation scheme.
47515	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
47516	// ServiceLoadMetrics - The service load metrics.
47517	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
47518	// ServicePlacementPolicies - The service placement policies.
47519	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
47520	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
47521	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
47522	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
47523	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
47524	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
47525	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
47526	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
47527	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
47528	// ScalingPolicies - Scaling policies for this service.
47529	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
47530	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
47531	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
47532}
47533
47534// MarshalJSON is the custom marshaler for StatelessServiceDescription.
47535func (ssd StatelessServiceDescription) MarshalJSON() ([]byte, error) {
47536	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateless
47537	objectMap := make(map[string]interface{})
47538	if ssd.InstanceCount != nil {
47539		objectMap["InstanceCount"] = ssd.InstanceCount
47540	}
47541	if ssd.ApplicationName != nil {
47542		objectMap["ApplicationName"] = ssd.ApplicationName
47543	}
47544	if ssd.ServiceName != nil {
47545		objectMap["ServiceName"] = ssd.ServiceName
47546	}
47547	if ssd.ServiceTypeName != nil {
47548		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
47549	}
47550	if ssd.InitializationData != nil {
47551		objectMap["InitializationData"] = ssd.InitializationData
47552	}
47553	objectMap["PartitionDescription"] = ssd.PartitionDescription
47554	if ssd.PlacementConstraints != nil {
47555		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
47556	}
47557	if ssd.CorrelationScheme != nil {
47558		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
47559	}
47560	if ssd.ServiceLoadMetrics != nil {
47561		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
47562	}
47563	if ssd.ServicePlacementPolicies != nil {
47564		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
47565	}
47566	if ssd.DefaultMoveCost != "" {
47567		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
47568	}
47569	if ssd.IsDefaultMoveCostSpecified != nil {
47570		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
47571	}
47572	if ssd.ServicePackageActivationMode != "" {
47573		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
47574	}
47575	if ssd.ServiceDNSName != nil {
47576		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
47577	}
47578	if ssd.ScalingPolicies != nil {
47579		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
47580	}
47581	if ssd.ServiceKind != "" {
47582		objectMap["ServiceKind"] = ssd.ServiceKind
47583	}
47584	return json.Marshal(objectMap)
47585}
47586
47587// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
47588func (ssd StatelessServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
47589	return nil, false
47590}
47591
47592// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
47593func (ssd StatelessServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
47594	return &ssd, true
47595}
47596
47597// AsServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
47598func (ssd StatelessServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
47599	return nil, false
47600}
47601
47602// AsBasicServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
47603func (ssd StatelessServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
47604	return &ssd, true
47605}
47606
47607// UnmarshalJSON is the custom unmarshaler for StatelessServiceDescription struct.
47608func (ssd *StatelessServiceDescription) UnmarshalJSON(body []byte) error {
47609	var m map[string]*json.RawMessage
47610	err := json.Unmarshal(body, &m)
47611	if err != nil {
47612		return err
47613	}
47614	for k, v := range m {
47615		switch k {
47616		case "InstanceCount":
47617			if v != nil {
47618				var instanceCount int32
47619				err = json.Unmarshal(*v, &instanceCount)
47620				if err != nil {
47621					return err
47622				}
47623				ssd.InstanceCount = &instanceCount
47624			}
47625		case "ApplicationName":
47626			if v != nil {
47627				var applicationName string
47628				err = json.Unmarshal(*v, &applicationName)
47629				if err != nil {
47630					return err
47631				}
47632				ssd.ApplicationName = &applicationName
47633			}
47634		case "ServiceName":
47635			if v != nil {
47636				var serviceName string
47637				err = json.Unmarshal(*v, &serviceName)
47638				if err != nil {
47639					return err
47640				}
47641				ssd.ServiceName = &serviceName
47642			}
47643		case "ServiceTypeName":
47644			if v != nil {
47645				var serviceTypeName string
47646				err = json.Unmarshal(*v, &serviceTypeName)
47647				if err != nil {
47648					return err
47649				}
47650				ssd.ServiceTypeName = &serviceTypeName
47651			}
47652		case "InitializationData":
47653			if v != nil {
47654				var initializationData []int32
47655				err = json.Unmarshal(*v, &initializationData)
47656				if err != nil {
47657					return err
47658				}
47659				ssd.InitializationData = &initializationData
47660			}
47661		case "PartitionDescription":
47662			if v != nil {
47663				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
47664				if err != nil {
47665					return err
47666				}
47667				ssd.PartitionDescription = partitionDescription
47668			}
47669		case "PlacementConstraints":
47670			if v != nil {
47671				var placementConstraints string
47672				err = json.Unmarshal(*v, &placementConstraints)
47673				if err != nil {
47674					return err
47675				}
47676				ssd.PlacementConstraints = &placementConstraints
47677			}
47678		case "CorrelationScheme":
47679			if v != nil {
47680				var correlationScheme []ServiceCorrelationDescription
47681				err = json.Unmarshal(*v, &correlationScheme)
47682				if err != nil {
47683					return err
47684				}
47685				ssd.CorrelationScheme = &correlationScheme
47686			}
47687		case "ServiceLoadMetrics":
47688			if v != nil {
47689				var serviceLoadMetrics []ServiceLoadMetricDescription
47690				err = json.Unmarshal(*v, &serviceLoadMetrics)
47691				if err != nil {
47692					return err
47693				}
47694				ssd.ServiceLoadMetrics = &serviceLoadMetrics
47695			}
47696		case "ServicePlacementPolicies":
47697			if v != nil {
47698				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
47699				if err != nil {
47700					return err
47701				}
47702				ssd.ServicePlacementPolicies = &servicePlacementPolicies
47703			}
47704		case "DefaultMoveCost":
47705			if v != nil {
47706				var defaultMoveCost MoveCost
47707				err = json.Unmarshal(*v, &defaultMoveCost)
47708				if err != nil {
47709					return err
47710				}
47711				ssd.DefaultMoveCost = defaultMoveCost
47712			}
47713		case "IsDefaultMoveCostSpecified":
47714			if v != nil {
47715				var isDefaultMoveCostSpecified bool
47716				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
47717				if err != nil {
47718					return err
47719				}
47720				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
47721			}
47722		case "ServicePackageActivationMode":
47723			if v != nil {
47724				var servicePackageActivationMode ServicePackageActivationMode
47725				err = json.Unmarshal(*v, &servicePackageActivationMode)
47726				if err != nil {
47727					return err
47728				}
47729				ssd.ServicePackageActivationMode = servicePackageActivationMode
47730			}
47731		case "ServiceDnsName":
47732			if v != nil {
47733				var serviceDNSName string
47734				err = json.Unmarshal(*v, &serviceDNSName)
47735				if err != nil {
47736					return err
47737				}
47738				ssd.ServiceDNSName = &serviceDNSName
47739			}
47740		case "ScalingPolicies":
47741			if v != nil {
47742				var scalingPolicies []ScalingPolicyDescription
47743				err = json.Unmarshal(*v, &scalingPolicies)
47744				if err != nil {
47745					return err
47746				}
47747				ssd.ScalingPolicies = &scalingPolicies
47748			}
47749		case "ServiceKind":
47750			if v != nil {
47751				var serviceKind ServiceKindBasicServiceDescription
47752				err = json.Unmarshal(*v, &serviceKind)
47753				if err != nil {
47754					return err
47755				}
47756				ssd.ServiceKind = serviceKind
47757			}
47758		}
47759	}
47760
47761	return nil
47762}
47763
47764// StatelessServiceInfo information about a stateless Service Fabric service.
47765type StatelessServiceInfo struct {
47766	// ID - The identity of the service. This is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
47767	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
47768	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
47769	ID *string `json:"Id,omitempty"`
47770	// Name - The full name of the service with 'fabric:' URI scheme.
47771	Name *string `json:"Name,omitempty"`
47772	// TypeName - Name of the service type as specified in the service manifest.
47773	TypeName *string `json:"TypeName,omitempty"`
47774	// ManifestVersion - The version of the service manifest.
47775	ManifestVersion *string `json:"ManifestVersion,omitempty"`
47776	// 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'
47777	HealthState HealthState `json:"HealthState,omitempty"`
47778	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
47779	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
47780	// IsServiceGroup - Whether the service is in a service group.
47781	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
47782	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
47783	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
47784}
47785
47786// MarshalJSON is the custom marshaler for StatelessServiceInfo.
47787func (ssi StatelessServiceInfo) MarshalJSON() ([]byte, error) {
47788	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateless
47789	objectMap := make(map[string]interface{})
47790	if ssi.ID != nil {
47791		objectMap["Id"] = ssi.ID
47792	}
47793	if ssi.Name != nil {
47794		objectMap["Name"] = ssi.Name
47795	}
47796	if ssi.TypeName != nil {
47797		objectMap["TypeName"] = ssi.TypeName
47798	}
47799	if ssi.ManifestVersion != nil {
47800		objectMap["ManifestVersion"] = ssi.ManifestVersion
47801	}
47802	if ssi.HealthState != "" {
47803		objectMap["HealthState"] = ssi.HealthState
47804	}
47805	if ssi.ServiceStatus != "" {
47806		objectMap["ServiceStatus"] = ssi.ServiceStatus
47807	}
47808	if ssi.IsServiceGroup != nil {
47809		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
47810	}
47811	if ssi.ServiceKind != "" {
47812		objectMap["ServiceKind"] = ssi.ServiceKind
47813	}
47814	return json.Marshal(objectMap)
47815}
47816
47817// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
47818func (ssi StatelessServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
47819	return nil, false
47820}
47821
47822// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
47823func (ssi StatelessServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
47824	return &ssi, true
47825}
47826
47827// AsServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
47828func (ssi StatelessServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
47829	return nil, false
47830}
47831
47832// AsBasicServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
47833func (ssi StatelessServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
47834	return &ssi, true
47835}
47836
47837// StatelessServiceInstanceHealth represents the health of the stateless service instance.
47838// Contains the instance aggregated health state, the health events and the unhealthy evaluations.
47839type StatelessServiceInstanceHealth struct {
47840	// 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.
47841	InstanceID *string `json:"InstanceId,omitempty"`
47842	// PartitionID - Id of the partition to which this replica belongs.
47843	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
47844	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
47845	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
47846	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
47847	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
47848	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
47849	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
47850	// HealthEvents - The list of health events reported on the entity.
47851	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
47852	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
47853	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
47854	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
47855	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
47856}
47857
47858// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealth.
47859func (ssih StatelessServiceInstanceHealth) MarshalJSON() ([]byte, error) {
47860	ssih.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateless
47861	objectMap := make(map[string]interface{})
47862	if ssih.InstanceID != nil {
47863		objectMap["InstanceId"] = ssih.InstanceID
47864	}
47865	if ssih.PartitionID != nil {
47866		objectMap["PartitionId"] = ssih.PartitionID
47867	}
47868	if ssih.ServiceKind != "" {
47869		objectMap["ServiceKind"] = ssih.ServiceKind
47870	}
47871	if ssih.AggregatedHealthState != "" {
47872		objectMap["AggregatedHealthState"] = ssih.AggregatedHealthState
47873	}
47874	if ssih.HealthEvents != nil {
47875		objectMap["HealthEvents"] = ssih.HealthEvents
47876	}
47877	if ssih.UnhealthyEvaluations != nil {
47878		objectMap["UnhealthyEvaluations"] = ssih.UnhealthyEvaluations
47879	}
47880	if ssih.HealthStatistics != nil {
47881		objectMap["HealthStatistics"] = ssih.HealthStatistics
47882	}
47883	return json.Marshal(objectMap)
47884}
47885
47886// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
47887func (ssih StatelessServiceInstanceHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
47888	return nil, false
47889}
47890
47891// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
47892func (ssih StatelessServiceInstanceHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
47893	return &ssih, true
47894}
47895
47896// AsReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
47897func (ssih StatelessServiceInstanceHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
47898	return nil, false
47899}
47900
47901// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
47902func (ssih StatelessServiceInstanceHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
47903	return &ssih, true
47904}
47905
47906// StatelessServiceInstanceHealthState represents the health state of the stateless service instance, which
47907// contains the instance ID and the aggregated health state.
47908type StatelessServiceInstanceHealthState struct {
47909	// ReplicaID - Id of the stateless service instance on the wire this field is called ReplicaId.
47910	ReplicaID *string `json:"ReplicaId,omitempty"`
47911	// PartitionID - The ID of the partition to which this replica belongs.
47912	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
47913	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
47914	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
47915	// 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'
47916	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
47917}
47918
47919// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealthState.
47920func (ssihs StatelessServiceInstanceHealthState) MarshalJSON() ([]byte, error) {
47921	ssihs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateless
47922	objectMap := make(map[string]interface{})
47923	if ssihs.ReplicaID != nil {
47924		objectMap["ReplicaId"] = ssihs.ReplicaID
47925	}
47926	if ssihs.PartitionID != nil {
47927		objectMap["PartitionId"] = ssihs.PartitionID
47928	}
47929	if ssihs.ServiceKind != "" {
47930		objectMap["ServiceKind"] = ssihs.ServiceKind
47931	}
47932	if ssihs.AggregatedHealthState != "" {
47933		objectMap["AggregatedHealthState"] = ssihs.AggregatedHealthState
47934	}
47935	return json.Marshal(objectMap)
47936}
47937
47938// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
47939func (ssihs StatelessServiceInstanceHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
47940	return nil, false
47941}
47942
47943// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
47944func (ssihs StatelessServiceInstanceHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
47945	return &ssihs, true
47946}
47947
47948// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
47949func (ssihs StatelessServiceInstanceHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
47950	return nil, false
47951}
47952
47953// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
47954func (ssihs StatelessServiceInstanceHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
47955	return &ssihs, true
47956}
47957
47958// StatelessServiceInstanceInfo represents a stateless service instance. This includes information about
47959// the identity, status, health, node name, uptime, and other details about the instance.
47960type StatelessServiceInstanceInfo struct {
47961	// 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.
47962	InstanceID *string `json:"InstanceId,omitempty"`
47963	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
47964	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
47965	// 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'
47966	HealthState HealthState `json:"HealthState,omitempty"`
47967	// NodeName - The name of a Service Fabric node.
47968	NodeName *string `json:"NodeName,omitempty"`
47969	// Address - The address the replica is listening on.
47970	Address *string `json:"Address,omitempty"`
47971	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
47972	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
47973	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
47974	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
47975}
47976
47977// MarshalJSON is the custom marshaler for StatelessServiceInstanceInfo.
47978func (ssii StatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
47979	ssii.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateless
47980	objectMap := make(map[string]interface{})
47981	if ssii.InstanceID != nil {
47982		objectMap["InstanceId"] = ssii.InstanceID
47983	}
47984	if ssii.ReplicaStatus != "" {
47985		objectMap["ReplicaStatus"] = ssii.ReplicaStatus
47986	}
47987	if ssii.HealthState != "" {
47988		objectMap["HealthState"] = ssii.HealthState
47989	}
47990	if ssii.NodeName != nil {
47991		objectMap["NodeName"] = ssii.NodeName
47992	}
47993	if ssii.Address != nil {
47994		objectMap["Address"] = ssii.Address
47995	}
47996	if ssii.LastInBuildDurationInSeconds != nil {
47997		objectMap["LastInBuildDurationInSeconds"] = ssii.LastInBuildDurationInSeconds
47998	}
47999	if ssii.ServiceKind != "" {
48000		objectMap["ServiceKind"] = ssii.ServiceKind
48001	}
48002	return json.Marshal(objectMap)
48003}
48004
48005// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48006func (ssii StatelessServiceInstanceInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
48007	return nil, false
48008}
48009
48010// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48011func (ssii StatelessServiceInstanceInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
48012	return &ssii, true
48013}
48014
48015// AsReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48016func (ssii StatelessServiceInstanceInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
48017	return nil, false
48018}
48019
48020// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
48021func (ssii StatelessServiceInstanceInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
48022	return &ssii, true
48023}
48024
48025// StatelessServicePartitionInfo information about a partition of a stateless Service Fabric service.
48026type StatelessServicePartitionInfo struct {
48027	// InstanceCount - Number of instances of this partition.
48028	InstanceCount *int64 `json:"InstanceCount,omitempty"`
48029	// 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'
48030	HealthState HealthState `json:"HealthState,omitempty"`
48031	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
48032	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
48033	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
48034	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
48035	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
48036	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
48037}
48038
48039// MarshalJSON is the custom marshaler for StatelessServicePartitionInfo.
48040func (sspi StatelessServicePartitionInfo) MarshalJSON() ([]byte, error) {
48041	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateless
48042	objectMap := make(map[string]interface{})
48043	if sspi.InstanceCount != nil {
48044		objectMap["InstanceCount"] = sspi.InstanceCount
48045	}
48046	if sspi.HealthState != "" {
48047		objectMap["HealthState"] = sspi.HealthState
48048	}
48049	if sspi.PartitionStatus != "" {
48050		objectMap["PartitionStatus"] = sspi.PartitionStatus
48051	}
48052	objectMap["PartitionInformation"] = sspi.PartitionInformation
48053	if sspi.ServiceKind != "" {
48054		objectMap["ServiceKind"] = sspi.ServiceKind
48055	}
48056	return json.Marshal(objectMap)
48057}
48058
48059// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48060func (sspi StatelessServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
48061	return nil, false
48062}
48063
48064// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48065func (sspi StatelessServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
48066	return &sspi, true
48067}
48068
48069// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48070func (sspi StatelessServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
48071	return nil, false
48072}
48073
48074// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
48075func (sspi StatelessServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
48076	return &sspi, true
48077}
48078
48079// UnmarshalJSON is the custom unmarshaler for StatelessServicePartitionInfo struct.
48080func (sspi *StatelessServicePartitionInfo) UnmarshalJSON(body []byte) error {
48081	var m map[string]*json.RawMessage
48082	err := json.Unmarshal(body, &m)
48083	if err != nil {
48084		return err
48085	}
48086	for k, v := range m {
48087		switch k {
48088		case "InstanceCount":
48089			if v != nil {
48090				var instanceCount int64
48091				err = json.Unmarshal(*v, &instanceCount)
48092				if err != nil {
48093					return err
48094				}
48095				sspi.InstanceCount = &instanceCount
48096			}
48097		case "HealthState":
48098			if v != nil {
48099				var healthState HealthState
48100				err = json.Unmarshal(*v, &healthState)
48101				if err != nil {
48102					return err
48103				}
48104				sspi.HealthState = healthState
48105			}
48106		case "PartitionStatus":
48107			if v != nil {
48108				var partitionStatus ServicePartitionStatus
48109				err = json.Unmarshal(*v, &partitionStatus)
48110				if err != nil {
48111					return err
48112				}
48113				sspi.PartitionStatus = partitionStatus
48114			}
48115		case "PartitionInformation":
48116			if v != nil {
48117				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
48118				if err != nil {
48119					return err
48120				}
48121				sspi.PartitionInformation = partitionInformation
48122			}
48123		case "ServiceKind":
48124			if v != nil {
48125				var serviceKind ServiceKindBasicServicePartitionInfo
48126				err = json.Unmarshal(*v, &serviceKind)
48127				if err != nil {
48128					return err
48129				}
48130				sspi.ServiceKind = serviceKind
48131			}
48132		}
48133	}
48134
48135	return nil
48136}
48137
48138// StatelessServiceTypeDescription describes a stateless service type defined in the service manifest of a
48139// provisioned application type.
48140type StatelessServiceTypeDescription struct {
48141	// 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.
48142	UseImplicitHost *bool `json:"UseImplicitHost,omitempty"`
48143	// 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.
48144	IsStateful *bool `json:"IsStateful,omitempty"`
48145	// ServiceTypeName - Name of the service type as specified in the service manifest.
48146	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
48147	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
48148	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
48149	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
48150	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
48151	// ServicePlacementPolicies - List of service placement policy descriptions.
48152	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
48153	// Extensions - List of service type extensions.
48154	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
48155	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
48156	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
48157}
48158
48159// MarshalJSON is the custom marshaler for StatelessServiceTypeDescription.
48160func (sstd StatelessServiceTypeDescription) MarshalJSON() ([]byte, error) {
48161	sstd.Kind = KindStateless
48162	objectMap := make(map[string]interface{})
48163	if sstd.UseImplicitHost != nil {
48164		objectMap["UseImplicitHost"] = sstd.UseImplicitHost
48165	}
48166	if sstd.IsStateful != nil {
48167		objectMap["IsStateful"] = sstd.IsStateful
48168	}
48169	if sstd.ServiceTypeName != nil {
48170		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
48171	}
48172	if sstd.PlacementConstraints != nil {
48173		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
48174	}
48175	if sstd.LoadMetrics != nil {
48176		objectMap["LoadMetrics"] = sstd.LoadMetrics
48177	}
48178	if sstd.ServicePlacementPolicies != nil {
48179		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
48180	}
48181	if sstd.Extensions != nil {
48182		objectMap["Extensions"] = sstd.Extensions
48183	}
48184	if sstd.Kind != "" {
48185		objectMap["Kind"] = sstd.Kind
48186	}
48187	return json.Marshal(objectMap)
48188}
48189
48190// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48191func (sstd StatelessServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
48192	return nil, false
48193}
48194
48195// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48196func (sstd StatelessServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
48197	return &sstd, true
48198}
48199
48200// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48201func (sstd StatelessServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
48202	return nil, false
48203}
48204
48205// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
48206func (sstd StatelessServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
48207	return &sstd, true
48208}
48209
48210// UnmarshalJSON is the custom unmarshaler for StatelessServiceTypeDescription struct.
48211func (sstd *StatelessServiceTypeDescription) UnmarshalJSON(body []byte) error {
48212	var m map[string]*json.RawMessage
48213	err := json.Unmarshal(body, &m)
48214	if err != nil {
48215		return err
48216	}
48217	for k, v := range m {
48218		switch k {
48219		case "UseImplicitHost":
48220			if v != nil {
48221				var useImplicitHost bool
48222				err = json.Unmarshal(*v, &useImplicitHost)
48223				if err != nil {
48224					return err
48225				}
48226				sstd.UseImplicitHost = &useImplicitHost
48227			}
48228		case "IsStateful":
48229			if v != nil {
48230				var isStateful bool
48231				err = json.Unmarshal(*v, &isStateful)
48232				if err != nil {
48233					return err
48234				}
48235				sstd.IsStateful = &isStateful
48236			}
48237		case "ServiceTypeName":
48238			if v != nil {
48239				var serviceTypeName string
48240				err = json.Unmarshal(*v, &serviceTypeName)
48241				if err != nil {
48242					return err
48243				}
48244				sstd.ServiceTypeName = &serviceTypeName
48245			}
48246		case "PlacementConstraints":
48247			if v != nil {
48248				var placementConstraints string
48249				err = json.Unmarshal(*v, &placementConstraints)
48250				if err != nil {
48251					return err
48252				}
48253				sstd.PlacementConstraints = &placementConstraints
48254			}
48255		case "LoadMetrics":
48256			if v != nil {
48257				var loadMetrics []ServiceLoadMetricDescription
48258				err = json.Unmarshal(*v, &loadMetrics)
48259				if err != nil {
48260					return err
48261				}
48262				sstd.LoadMetrics = &loadMetrics
48263			}
48264		case "ServicePlacementPolicies":
48265			if v != nil {
48266				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
48267				if err != nil {
48268					return err
48269				}
48270				sstd.ServicePlacementPolicies = &servicePlacementPolicies
48271			}
48272		case "Extensions":
48273			if v != nil {
48274				var extensions []ServiceTypeExtensionDescription
48275				err = json.Unmarshal(*v, &extensions)
48276				if err != nil {
48277					return err
48278				}
48279				sstd.Extensions = &extensions
48280			}
48281		case "Kind":
48282			if v != nil {
48283				var kind KindBasicServiceTypeDescription
48284				err = json.Unmarshal(*v, &kind)
48285				if err != nil {
48286					return err
48287				}
48288				sstd.Kind = kind
48289			}
48290		}
48291	}
48292
48293	return nil
48294}
48295
48296// StatelessServiceUpdateDescription describes an update for a stateless service.
48297type StatelessServiceUpdateDescription struct {
48298	// InstanceCount - The instance count.
48299	InstanceCount *int32 `json:"InstanceCount,omitempty"`
48300	// 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.
48301	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
48302	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
48303	// - None - Does not indicate any other properties are set. The value is zero.
48304	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
48305	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
48306	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
48307	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
48308	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
48309	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
48310	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
48311	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
48312	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
48313	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
48314	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
48315	Flags *string `json:"Flags,omitempty"`
48316	// 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)".
48317	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
48318	// CorrelationScheme - The correlation scheme.
48319	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
48320	// LoadMetrics - The service load metrics.
48321	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
48322	// ServicePlacementPolicies - The service placement policies.
48323	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
48324	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
48325	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
48326	// ScalingPolicies - Scaling policies for this service.
48327	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
48328	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
48329	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
48330}
48331
48332// MarshalJSON is the custom marshaler for StatelessServiceUpdateDescription.
48333func (ssud StatelessServiceUpdateDescription) MarshalJSON() ([]byte, error) {
48334	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateless
48335	objectMap := make(map[string]interface{})
48336	if ssud.InstanceCount != nil {
48337		objectMap["InstanceCount"] = ssud.InstanceCount
48338	}
48339	if ssud.Flags != nil {
48340		objectMap["Flags"] = ssud.Flags
48341	}
48342	if ssud.PlacementConstraints != nil {
48343		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
48344	}
48345	if ssud.CorrelationScheme != nil {
48346		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
48347	}
48348	if ssud.LoadMetrics != nil {
48349		objectMap["LoadMetrics"] = ssud.LoadMetrics
48350	}
48351	if ssud.ServicePlacementPolicies != nil {
48352		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
48353	}
48354	if ssud.DefaultMoveCost != "" {
48355		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
48356	}
48357	if ssud.ScalingPolicies != nil {
48358		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
48359	}
48360	if ssud.ServiceKind != "" {
48361		objectMap["ServiceKind"] = ssud.ServiceKind
48362	}
48363	return json.Marshal(objectMap)
48364}
48365
48366// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48367func (ssud StatelessServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
48368	return nil, false
48369}
48370
48371// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48372func (ssud StatelessServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
48373	return &ssud, true
48374}
48375
48376// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48377func (ssud StatelessServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
48378	return nil, false
48379}
48380
48381// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
48382func (ssud StatelessServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
48383	return &ssud, true
48384}
48385
48386// UnmarshalJSON is the custom unmarshaler for StatelessServiceUpdateDescription struct.
48387func (ssud *StatelessServiceUpdateDescription) UnmarshalJSON(body []byte) error {
48388	var m map[string]*json.RawMessage
48389	err := json.Unmarshal(body, &m)
48390	if err != nil {
48391		return err
48392	}
48393	for k, v := range m {
48394		switch k {
48395		case "InstanceCount":
48396			if v != nil {
48397				var instanceCount int32
48398				err = json.Unmarshal(*v, &instanceCount)
48399				if err != nil {
48400					return err
48401				}
48402				ssud.InstanceCount = &instanceCount
48403			}
48404		case "Flags":
48405			if v != nil {
48406				var flags string
48407				err = json.Unmarshal(*v, &flags)
48408				if err != nil {
48409					return err
48410				}
48411				ssud.Flags = &flags
48412			}
48413		case "PlacementConstraints":
48414			if v != nil {
48415				var placementConstraints string
48416				err = json.Unmarshal(*v, &placementConstraints)
48417				if err != nil {
48418					return err
48419				}
48420				ssud.PlacementConstraints = &placementConstraints
48421			}
48422		case "CorrelationScheme":
48423			if v != nil {
48424				var correlationScheme []ServiceCorrelationDescription
48425				err = json.Unmarshal(*v, &correlationScheme)
48426				if err != nil {
48427					return err
48428				}
48429				ssud.CorrelationScheme = &correlationScheme
48430			}
48431		case "LoadMetrics":
48432			if v != nil {
48433				var loadMetrics []ServiceLoadMetricDescription
48434				err = json.Unmarshal(*v, &loadMetrics)
48435				if err != nil {
48436					return err
48437				}
48438				ssud.LoadMetrics = &loadMetrics
48439			}
48440		case "ServicePlacementPolicies":
48441			if v != nil {
48442				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
48443				if err != nil {
48444					return err
48445				}
48446				ssud.ServicePlacementPolicies = &servicePlacementPolicies
48447			}
48448		case "DefaultMoveCost":
48449			if v != nil {
48450				var defaultMoveCost MoveCost
48451				err = json.Unmarshal(*v, &defaultMoveCost)
48452				if err != nil {
48453					return err
48454				}
48455				ssud.DefaultMoveCost = defaultMoveCost
48456			}
48457		case "ScalingPolicies":
48458			if v != nil {
48459				var scalingPolicies []ScalingPolicyDescription
48460				err = json.Unmarshal(*v, &scalingPolicies)
48461				if err != nil {
48462					return err
48463				}
48464				ssud.ScalingPolicies = &scalingPolicies
48465			}
48466		case "ServiceKind":
48467			if v != nil {
48468				var serviceKind ServiceKindBasicServiceUpdateDescription
48469				err = json.Unmarshal(*v, &serviceKind)
48470				if err != nil {
48471					return err
48472				}
48473				ssud.ServiceKind = serviceKind
48474			}
48475		}
48476	}
48477
48478	return nil
48479}
48480
48481// StoppedChaosEvent describes a Chaos event that gets generated when Chaos stops because either the user
48482// issued a stop or the time to run was up.
48483type StoppedChaosEvent struct {
48484	// Reason - Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over.
48485	Reason *string `json:"Reason,omitempty"`
48486	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
48487	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
48488	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
48489	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
48490}
48491
48492// MarshalJSON is the custom marshaler for StoppedChaosEvent.
48493func (sce StoppedChaosEvent) MarshalJSON() ([]byte, error) {
48494	sce.Kind = KindStopped
48495	objectMap := make(map[string]interface{})
48496	if sce.Reason != nil {
48497		objectMap["Reason"] = sce.Reason
48498	}
48499	if sce.TimeStampUtc != nil {
48500		objectMap["TimeStampUtc"] = sce.TimeStampUtc
48501	}
48502	if sce.Kind != "" {
48503		objectMap["Kind"] = sce.Kind
48504	}
48505	return json.Marshal(objectMap)
48506}
48507
48508// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48509func (sce StoppedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
48510	return nil, false
48511}
48512
48513// AsStartedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48514func (sce StoppedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
48515	return nil, false
48516}
48517
48518// AsStoppedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48519func (sce StoppedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
48520	return &sce, true
48521}
48522
48523// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48524func (sce StoppedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
48525	return nil, false
48526}
48527
48528// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48529func (sce StoppedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
48530	return nil, false
48531}
48532
48533// AsWaitingChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48534func (sce StoppedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
48535	return nil, false
48536}
48537
48538// AsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48539func (sce StoppedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
48540	return nil, false
48541}
48542
48543// AsBasicChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
48544func (sce StoppedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
48545	return &sce, true
48546}
48547
48548// String ...
48549type String struct {
48550	autorest.Response `json:"-"`
48551	Value             *string `json:"value,omitempty"`
48552}
48553
48554// StringPropertyValue describes a Service Fabric property value of type String.
48555type StringPropertyValue struct {
48556	// Data - The data of the property value.
48557	Data *string `json:"Data,omitempty"`
48558	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
48559	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
48560}
48561
48562// MarshalJSON is the custom marshaler for StringPropertyValue.
48563func (spv StringPropertyValue) MarshalJSON() ([]byte, error) {
48564	spv.Kind = KindString
48565	objectMap := make(map[string]interface{})
48566	if spv.Data != nil {
48567		objectMap["Data"] = spv.Data
48568	}
48569	if spv.Kind != "" {
48570		objectMap["Kind"] = spv.Kind
48571	}
48572	return json.Marshal(objectMap)
48573}
48574
48575// AsBinaryPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
48576func (spv StringPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
48577	return nil, false
48578}
48579
48580// AsInt64PropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
48581func (spv StringPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
48582	return nil, false
48583}
48584
48585// AsDoublePropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
48586func (spv StringPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
48587	return nil, false
48588}
48589
48590// AsStringPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
48591func (spv StringPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
48592	return &spv, true
48593}
48594
48595// AsGUIDPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
48596func (spv StringPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
48597	return nil, false
48598}
48599
48600// AsPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
48601func (spv StringPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
48602	return nil, false
48603}
48604
48605// AsBasicPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
48606func (spv StringPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
48607	return &spv, true
48608}
48609
48610// SuccessfulPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch succeeding.
48611// Contains the results of any "Get" operations in the batch.
48612type SuccessfulPropertyBatchInfo struct {
48613	// 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.
48614	Properties map[string]*PropertyInfo `json:"Properties"`
48615	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
48616	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
48617}
48618
48619// MarshalJSON is the custom marshaler for SuccessfulPropertyBatchInfo.
48620func (spbi SuccessfulPropertyBatchInfo) MarshalJSON() ([]byte, error) {
48621	spbi.Kind = KindSuccessful
48622	objectMap := make(map[string]interface{})
48623	if spbi.Properties != nil {
48624		objectMap["Properties"] = spbi.Properties
48625	}
48626	if spbi.Kind != "" {
48627		objectMap["Kind"] = spbi.Kind
48628	}
48629	return json.Marshal(objectMap)
48630}
48631
48632// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
48633func (spbi SuccessfulPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
48634	return &spbi, true
48635}
48636
48637// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
48638func (spbi SuccessfulPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
48639	return nil, false
48640}
48641
48642// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
48643func (spbi SuccessfulPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
48644	return nil, false
48645}
48646
48647// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
48648func (spbi SuccessfulPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
48649	return &spbi, true
48650}
48651
48652// SystemApplicationHealthEvaluation represents health evaluation for the fabric:/System application,
48653// containing information about the data and the algorithm used by health store to evaluate health. The
48654// evaluation is returned only when the aggregated health state of the cluster is either Error or Warning.
48655type SystemApplicationHealthEvaluation struct {
48656	// 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.
48657	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
48658	// 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'
48659	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
48660	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
48661	Description *string `json:"Description,omitempty"`
48662	// 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'
48663	Kind Kind `json:"Kind,omitempty"`
48664}
48665
48666// MarshalJSON is the custom marshaler for SystemApplicationHealthEvaluation.
48667func (sahe SystemApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
48668	sahe.Kind = KindSystemApplication
48669	objectMap := make(map[string]interface{})
48670	if sahe.UnhealthyEvaluations != nil {
48671		objectMap["UnhealthyEvaluations"] = sahe.UnhealthyEvaluations
48672	}
48673	if sahe.AggregatedHealthState != "" {
48674		objectMap["AggregatedHealthState"] = sahe.AggregatedHealthState
48675	}
48676	if sahe.Description != nil {
48677		objectMap["Description"] = sahe.Description
48678	}
48679	if sahe.Kind != "" {
48680		objectMap["Kind"] = sahe.Kind
48681	}
48682	return json.Marshal(objectMap)
48683}
48684
48685// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48686func (sahe SystemApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
48687	return nil, false
48688}
48689
48690// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48691func (sahe SystemApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
48692	return nil, false
48693}
48694
48695// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48696func (sahe SystemApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
48697	return nil, false
48698}
48699
48700// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48701func (sahe SystemApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
48702	return nil, false
48703}
48704
48705// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48706func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
48707	return nil, false
48708}
48709
48710// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48711func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
48712	return nil, false
48713}
48714
48715// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48716func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
48717	return nil, false
48718}
48719
48720// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48721func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
48722	return nil, false
48723}
48724
48725// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48726func (sahe SystemApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
48727	return nil, false
48728}
48729
48730// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48731func (sahe SystemApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
48732	return nil, false
48733}
48734
48735// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48736func (sahe SystemApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
48737	return nil, false
48738}
48739
48740// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48741func (sahe SystemApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
48742	return nil, false
48743}
48744
48745// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48746func (sahe SystemApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
48747	return nil, false
48748}
48749
48750// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48751func (sahe SystemApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
48752	return nil, false
48753}
48754
48755// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48756func (sahe SystemApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
48757	return nil, false
48758}
48759
48760// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48761func (sahe SystemApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
48762	return nil, false
48763}
48764
48765// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48766func (sahe SystemApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
48767	return nil, false
48768}
48769
48770// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48771func (sahe SystemApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
48772	return &sahe, true
48773}
48774
48775// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48776func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
48777	return nil, false
48778}
48779
48780// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48781func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
48782	return nil, false
48783}
48784
48785// AsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48786func (sahe SystemApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
48787	return nil, false
48788}
48789
48790// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
48791func (sahe SystemApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
48792	return &sahe, true
48793}
48794
48795// TestErrorChaosEvent describes a Chaos event that gets generated when an unexpected event occurs in the
48796// Chaos engine.
48797// For example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that
48798// the entity was already faulted -- which would be an unexpected event.
48799type TestErrorChaosEvent struct {
48800	// 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.
48801	Reason *string `json:"Reason,omitempty"`
48802	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
48803	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
48804	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
48805	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
48806}
48807
48808// MarshalJSON is the custom marshaler for TestErrorChaosEvent.
48809func (tece TestErrorChaosEvent) MarshalJSON() ([]byte, error) {
48810	tece.Kind = KindTestError
48811	objectMap := make(map[string]interface{})
48812	if tece.Reason != nil {
48813		objectMap["Reason"] = tece.Reason
48814	}
48815	if tece.TimeStampUtc != nil {
48816		objectMap["TimeStampUtc"] = tece.TimeStampUtc
48817	}
48818	if tece.Kind != "" {
48819		objectMap["Kind"] = tece.Kind
48820	}
48821	return json.Marshal(objectMap)
48822}
48823
48824// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48825func (tece TestErrorChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
48826	return nil, false
48827}
48828
48829// AsStartedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48830func (tece TestErrorChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
48831	return nil, false
48832}
48833
48834// AsStoppedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48835func (tece TestErrorChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
48836	return nil, false
48837}
48838
48839// AsTestErrorChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48840func (tece TestErrorChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
48841	return &tece, true
48842}
48843
48844// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48845func (tece TestErrorChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
48846	return nil, false
48847}
48848
48849// AsWaitingChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48850func (tece TestErrorChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
48851	return nil, false
48852}
48853
48854// AsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48855func (tece TestErrorChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
48856	return nil, false
48857}
48858
48859// AsBasicChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
48860func (tece TestErrorChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
48861	return &tece, true
48862}
48863
48864// TimeBasedBackupScheduleDescription describes the time based backup schedule.
48865type TimeBasedBackupScheduleDescription struct {
48866	// ScheduleFrequencyType - Describes the frequency with which to run the time based backup schedule. Possible values include: 'BackupScheduleFrequencyTypeInvalid', 'BackupScheduleFrequencyTypeDaily', 'BackupScheduleFrequencyTypeWeekly'
48867	ScheduleFrequencyType BackupScheduleFrequencyType `json:"ScheduleFrequencyType,omitempty"`
48868	// 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.
48869	RunDays *[]DayOfWeek `json:"RunDays,omitempty"`
48870	// 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.
48871	RunTimes *[]date.Time `json:"RunTimes,omitempty"`
48872	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
48873	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
48874}
48875
48876// MarshalJSON is the custom marshaler for TimeBasedBackupScheduleDescription.
48877func (tbbsd TimeBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
48878	tbbsd.ScheduleKind = ScheduleKindTimeBased
48879	objectMap := make(map[string]interface{})
48880	if tbbsd.ScheduleFrequencyType != "" {
48881		objectMap["ScheduleFrequencyType"] = tbbsd.ScheduleFrequencyType
48882	}
48883	if tbbsd.RunDays != nil {
48884		objectMap["RunDays"] = tbbsd.RunDays
48885	}
48886	if tbbsd.RunTimes != nil {
48887		objectMap["RunTimes"] = tbbsd.RunTimes
48888	}
48889	if tbbsd.ScheduleKind != "" {
48890		objectMap["ScheduleKind"] = tbbsd.ScheduleKind
48891	}
48892	return json.Marshal(objectMap)
48893}
48894
48895// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
48896func (tbbsd TimeBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
48897	return nil, false
48898}
48899
48900// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
48901func (tbbsd TimeBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
48902	return &tbbsd, true
48903}
48904
48905// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
48906func (tbbsd TimeBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
48907	return nil, false
48908}
48909
48910// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
48911func (tbbsd TimeBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
48912	return &tbbsd, true
48913}
48914
48915// TimeOfDay defines an hour and minute of the day specified in 24 hour time.
48916type TimeOfDay struct {
48917	// Hour - Represents the hour of the day. Value must be between 0 and 23 inclusive.
48918	Hour *int32 `json:"Hour,omitempty"`
48919	// Minute - Represents the minute of the hour. Value must be between 0 to 59 inclusive.
48920	Minute *int32 `json:"Minute,omitempty"`
48921}
48922
48923// TimeRange defines a time range in a 24 hour day specified by a start and end time.
48924type TimeRange struct {
48925	// StartTime - Defines an hour and minute of the day specified in 24 hour time.
48926	StartTime *TimeOfDay `json:"StartTime,omitempty"`
48927	// EndTime - Defines an hour and minute of the day specified in 24 hour time.
48928	EndTime *TimeOfDay `json:"EndTime,omitempty"`
48929}
48930
48931// UniformInt64RangePartitionSchemeDescription describes a partitioning scheme where an integer range is
48932// allocated evenly across a number of partitions.
48933type UniformInt64RangePartitionSchemeDescription struct {
48934	// Count - The number of partitions.
48935	Count *int32 `json:"Count,omitempty"`
48936	// LowKey - String indicating the lower bound of the partition key range that
48937	// should be split between the partitions.
48938	LowKey *string `json:"LowKey,omitempty"`
48939	// HighKey - String indicating the upper bound of the partition key range that
48940	// should be split between the partitions.
48941	HighKey *string `json:"HighKey,omitempty"`
48942	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
48943	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
48944}
48945
48946// MarshalJSON is the custom marshaler for UniformInt64RangePartitionSchemeDescription.
48947func (ui6rpsd UniformInt64RangePartitionSchemeDescription) MarshalJSON() ([]byte, error) {
48948	ui6rpsd.PartitionScheme = PartitionSchemeUniformInt64Range1
48949	objectMap := make(map[string]interface{})
48950	if ui6rpsd.Count != nil {
48951		objectMap["Count"] = ui6rpsd.Count
48952	}
48953	if ui6rpsd.LowKey != nil {
48954		objectMap["LowKey"] = ui6rpsd.LowKey
48955	}
48956	if ui6rpsd.HighKey != nil {
48957		objectMap["HighKey"] = ui6rpsd.HighKey
48958	}
48959	if ui6rpsd.PartitionScheme != "" {
48960		objectMap["PartitionScheme"] = ui6rpsd.PartitionScheme
48961	}
48962	return json.Marshal(objectMap)
48963}
48964
48965// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
48966func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
48967	return nil, false
48968}
48969
48970// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
48971func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
48972	return nil, false
48973}
48974
48975// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
48976func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
48977	return &ui6rpsd, true
48978}
48979
48980// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
48981func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
48982	return nil, false
48983}
48984
48985// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
48986func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
48987	return &ui6rpsd, true
48988}
48989
48990// UnprovisionApplicationTypeDescriptionInfo describes the operation to unregister or unprovision an
48991// application type and its version that was registered with the Service Fabric.
48992type UnprovisionApplicationTypeDescriptionInfo struct {
48993	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
48994	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
48995	// 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 to set it to true for large application packages that were provisioned.
48996	Async *bool `json:"Async,omitempty"`
48997}
48998
48999// UnprovisionFabricDescription describes the parameters for unprovisioning a cluster.
49000type UnprovisionFabricDescription struct {
49001	// CodeVersion - The cluster code package version.
49002	CodeVersion *string `json:"CodeVersion,omitempty"`
49003	// ConfigVersion - The cluster manifest version.
49004	ConfigVersion *string `json:"ConfigVersion,omitempty"`
49005}
49006
49007// UpdateClusterUpgradeDescription parameters for updating a cluster upgrade.
49008type UpdateClusterUpgradeDescription struct {
49009	// UpgradeKind - The type of upgrade out of the following possible values. Possible values include: 'UpgradeTypeInvalid', 'UpgradeTypeRolling', 'UpgradeTypeRollingForceRestart'
49010	UpgradeKind UpgradeType `json:"UpgradeKind,omitempty"`
49011	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
49012	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
49013	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
49014	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
49015	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
49016	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
49017	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
49018	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
49019	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
49020	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
49021}
49022
49023// UpgradeDomainDeltaNodesCheckHealthEvaluation represents health evaluation for delta unhealthy cluster
49024// nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current
49025// aggregated health state.
49026// Can be returned during cluster upgrade when cluster aggregated health state is Warning or Error.
49027type UpgradeDomainDeltaNodesCheckHealthEvaluation struct {
49028	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
49029	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
49030	// BaselineErrorCount - Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
49031	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
49032	// BaselineTotalCount - Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade.
49033	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
49034	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
49035	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
49036	// TotalCount - Total number of upgrade domain nodes in the health store.
49037	TotalCount *int64 `json:"TotalCount,omitempty"`
49038	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
49039	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
49040	// 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'
49041	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49042	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
49043	Description *string `json:"Description,omitempty"`
49044	// 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'
49045	Kind Kind `json:"Kind,omitempty"`
49046}
49047
49048// MarshalJSON is the custom marshaler for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49049func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
49050	uddnche.Kind = KindUpgradeDomainDeltaNodesCheck
49051	objectMap := make(map[string]interface{})
49052	if uddnche.UpgradeDomainName != nil {
49053		objectMap["UpgradeDomainName"] = uddnche.UpgradeDomainName
49054	}
49055	if uddnche.BaselineErrorCount != nil {
49056		objectMap["BaselineErrorCount"] = uddnche.BaselineErrorCount
49057	}
49058	if uddnche.BaselineTotalCount != nil {
49059		objectMap["BaselineTotalCount"] = uddnche.BaselineTotalCount
49060	}
49061	if uddnche.MaxPercentDeltaUnhealthyNodes != nil {
49062		objectMap["MaxPercentDeltaUnhealthyNodes"] = uddnche.MaxPercentDeltaUnhealthyNodes
49063	}
49064	if uddnche.TotalCount != nil {
49065		objectMap["TotalCount"] = uddnche.TotalCount
49066	}
49067	if uddnche.UnhealthyEvaluations != nil {
49068		objectMap["UnhealthyEvaluations"] = uddnche.UnhealthyEvaluations
49069	}
49070	if uddnche.AggregatedHealthState != "" {
49071		objectMap["AggregatedHealthState"] = uddnche.AggregatedHealthState
49072	}
49073	if uddnche.Description != nil {
49074		objectMap["Description"] = uddnche.Description
49075	}
49076	if uddnche.Kind != "" {
49077		objectMap["Kind"] = uddnche.Kind
49078	}
49079	return json.Marshal(objectMap)
49080}
49081
49082// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49083func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
49084	return nil, false
49085}
49086
49087// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49088func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
49089	return nil, false
49090}
49091
49092// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49093func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
49094	return nil, false
49095}
49096
49097// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49098func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
49099	return nil, false
49100}
49101
49102// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49103func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
49104	return nil, false
49105}
49106
49107// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49108func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
49109	return nil, false
49110}
49111
49112// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49113func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
49114	return nil, false
49115}
49116
49117// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49118func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
49119	return nil, false
49120}
49121
49122// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49123func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
49124	return nil, false
49125}
49126
49127// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49128func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
49129	return nil, false
49130}
49131
49132// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49133func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
49134	return nil, false
49135}
49136
49137// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49138func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
49139	return nil, false
49140}
49141
49142// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49143func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
49144	return nil, false
49145}
49146
49147// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49148func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
49149	return nil, false
49150}
49151
49152// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49153func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
49154	return nil, false
49155}
49156
49157// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49158func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
49159	return nil, false
49160}
49161
49162// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49163func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
49164	return nil, false
49165}
49166
49167// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49168func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
49169	return nil, false
49170}
49171
49172// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49173func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
49174	return &uddnche, true
49175}
49176
49177// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49178func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
49179	return nil, false
49180}
49181
49182// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49183func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
49184	return nil, false
49185}
49186
49187// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
49188func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
49189	return &uddnche, true
49190}
49191
49192// UpgradeDomainInfo information about an upgrade domain.
49193type UpgradeDomainInfo struct {
49194	// Name - The name of the upgrade domain
49195	Name *string `json:"Name,omitempty"`
49196	// State - The state of the upgrade domain. Possible values include: 'UpgradeDomainStateInvalid', 'UpgradeDomainStatePending', 'UpgradeDomainStateInProgress', 'UpgradeDomainStateCompleted'
49197	State UpgradeDomainState `json:"State,omitempty"`
49198}
49199
49200// UpgradeDomainNodesHealthEvaluation represents health evaluation for cluster nodes in an upgrade domain,
49201// containing health evaluations for each unhealthy node that impacted current aggregated health state. Can
49202// be returned when evaluating cluster health during cluster upgrade and the aggregated health state is
49203// either Error or Warning.
49204type UpgradeDomainNodesHealthEvaluation struct {
49205	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
49206	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
49207	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
49208	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
49209	// TotalCount - Total number of nodes in the current upgrade domain.
49210	TotalCount *int64 `json:"TotalCount,omitempty"`
49211	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
49212	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
49213	// 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'
49214	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49215	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
49216	Description *string `json:"Description,omitempty"`
49217	// 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'
49218	Kind Kind `json:"Kind,omitempty"`
49219}
49220
49221// MarshalJSON is the custom marshaler for UpgradeDomainNodesHealthEvaluation.
49222func (udnhe UpgradeDomainNodesHealthEvaluation) MarshalJSON() ([]byte, error) {
49223	udnhe.Kind = KindUpgradeDomainNodes
49224	objectMap := make(map[string]interface{})
49225	if udnhe.UpgradeDomainName != nil {
49226		objectMap["UpgradeDomainName"] = udnhe.UpgradeDomainName
49227	}
49228	if udnhe.MaxPercentUnhealthyNodes != nil {
49229		objectMap["MaxPercentUnhealthyNodes"] = udnhe.MaxPercentUnhealthyNodes
49230	}
49231	if udnhe.TotalCount != nil {
49232		objectMap["TotalCount"] = udnhe.TotalCount
49233	}
49234	if udnhe.UnhealthyEvaluations != nil {
49235		objectMap["UnhealthyEvaluations"] = udnhe.UnhealthyEvaluations
49236	}
49237	if udnhe.AggregatedHealthState != "" {
49238		objectMap["AggregatedHealthState"] = udnhe.AggregatedHealthState
49239	}
49240	if udnhe.Description != nil {
49241		objectMap["Description"] = udnhe.Description
49242	}
49243	if udnhe.Kind != "" {
49244		objectMap["Kind"] = udnhe.Kind
49245	}
49246	return json.Marshal(objectMap)
49247}
49248
49249// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49250func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
49251	return nil, false
49252}
49253
49254// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49255func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
49256	return nil, false
49257}
49258
49259// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49260func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
49261	return nil, false
49262}
49263
49264// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49265func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
49266	return nil, false
49267}
49268
49269// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49270func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
49271	return nil, false
49272}
49273
49274// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49275func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
49276	return nil, false
49277}
49278
49279// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49280func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
49281	return nil, false
49282}
49283
49284// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49285func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
49286	return nil, false
49287}
49288
49289// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49290func (udnhe UpgradeDomainNodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
49291	return nil, false
49292}
49293
49294// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49295func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
49296	return nil, false
49297}
49298
49299// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49300func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
49301	return nil, false
49302}
49303
49304// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49305func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
49306	return nil, false
49307}
49308
49309// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49310func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
49311	return nil, false
49312}
49313
49314// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49315func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
49316	return nil, false
49317}
49318
49319// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49320func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
49321	return nil, false
49322}
49323
49324// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49325func (udnhe UpgradeDomainNodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
49326	return nil, false
49327}
49328
49329// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49330func (udnhe UpgradeDomainNodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
49331	return nil, false
49332}
49333
49334// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49335func (udnhe UpgradeDomainNodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
49336	return nil, false
49337}
49338
49339// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49340func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
49341	return nil, false
49342}
49343
49344// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49345func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
49346	return &udnhe, true
49347}
49348
49349// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49350func (udnhe UpgradeDomainNodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
49351	return nil, false
49352}
49353
49354// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
49355func (udnhe UpgradeDomainNodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
49356	return &udnhe, true
49357}
49358
49359// UpgradeOrchestrationServiceState service state of Service Fabric Upgrade Orchestration Service.
49360type UpgradeOrchestrationServiceState struct {
49361	autorest.Response `json:"-"`
49362	// ServiceState - The state of Service Fabric Upgrade Orchestration Service.
49363	ServiceState *string `json:"ServiceState,omitempty"`
49364}
49365
49366// UpgradeOrchestrationServiceStateSummary service state summary of Service Fabric Upgrade Orchestration
49367// Service.
49368type UpgradeOrchestrationServiceStateSummary struct {
49369	autorest.Response `json:"-"`
49370	// CurrentCodeVersion - The current code version of the cluster.
49371	CurrentCodeVersion *string `json:"CurrentCodeVersion,omitempty"`
49372	// CurrentManifestVersion - The current manifest version of the cluster.
49373	CurrentManifestVersion *string `json:"CurrentManifestVersion,omitempty"`
49374	// TargetCodeVersion - The target code version of  the cluster.
49375	TargetCodeVersion *string `json:"TargetCodeVersion,omitempty"`
49376	// TargetManifestVersion - The target manifest version of the cluster.
49377	TargetManifestVersion *string `json:"TargetManifestVersion,omitempty"`
49378	// PendingUpgradeType - The type of the pending upgrade of the cluster.
49379	PendingUpgradeType *string `json:"PendingUpgradeType,omitempty"`
49380}
49381
49382// UploadChunkRange information about which portion of the file to upload.
49383type UploadChunkRange struct {
49384	// StartPosition - The start position of the portion of the file. It's represented by the number of bytes.
49385	StartPosition *string `json:"StartPosition,omitempty"`
49386	// EndPosition - The end position of the portion of the file. It's represented by the number of bytes.
49387	EndPosition *string `json:"EndPosition,omitempty"`
49388}
49389
49390// UploadSession information about a image store upload session
49391type UploadSession struct {
49392	autorest.Response `json:"-"`
49393	// 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.
49394	UploadSessions *[]UploadSessionInfo `json:"UploadSessions,omitempty"`
49395}
49396
49397// UploadSessionInfo information about an image store upload session. A session is associated with a
49398// relative path in the image store.
49399type UploadSessionInfo struct {
49400	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
49401	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
49402	// SessionID - A unique ID of the upload session. A session ID can be reused only if the session was committed or removed.
49403	SessionID *uuid.UUID `json:"SessionId,omitempty"`
49404	// ModifiedDate - The date and time when the upload session was last modified.
49405	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
49406	// FileSize - The size in bytes of the uploading file.
49407	FileSize *string `json:"FileSize,omitempty"`
49408	// ExpectedRanges - List of chunk ranges that image store has not received yet.
49409	ExpectedRanges *[]UploadChunkRange `json:"ExpectedRanges,omitempty"`
49410}
49411
49412// ValidationFailedChaosEvent chaos event corresponding to a failure during validation.
49413type ValidationFailedChaosEvent struct {
49414	// 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.
49415	Reason *string `json:"Reason,omitempty"`
49416	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
49417	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
49418	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
49419	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
49420}
49421
49422// MarshalJSON is the custom marshaler for ValidationFailedChaosEvent.
49423func (vfce ValidationFailedChaosEvent) MarshalJSON() ([]byte, error) {
49424	vfce.Kind = KindValidationFailed
49425	objectMap := make(map[string]interface{})
49426	if vfce.Reason != nil {
49427		objectMap["Reason"] = vfce.Reason
49428	}
49429	if vfce.TimeStampUtc != nil {
49430		objectMap["TimeStampUtc"] = vfce.TimeStampUtc
49431	}
49432	if vfce.Kind != "" {
49433		objectMap["Kind"] = vfce.Kind
49434	}
49435	return json.Marshal(objectMap)
49436}
49437
49438// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49439func (vfce ValidationFailedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
49440	return nil, false
49441}
49442
49443// AsStartedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49444func (vfce ValidationFailedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
49445	return nil, false
49446}
49447
49448// AsStoppedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49449func (vfce ValidationFailedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
49450	return nil, false
49451}
49452
49453// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49454func (vfce ValidationFailedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
49455	return nil, false
49456}
49457
49458// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49459func (vfce ValidationFailedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
49460	return &vfce, true
49461}
49462
49463// AsWaitingChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49464func (vfce ValidationFailedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
49465	return nil, false
49466}
49467
49468// AsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49469func (vfce ValidationFailedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
49470	return nil, false
49471}
49472
49473// AsBasicChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
49474func (vfce ValidationFailedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
49475	return &vfce, true
49476}
49477
49478// WaitForInbuildReplicaSafetyCheck safety check that waits for the replica build operation to finish. This
49479// indicates that there is a replica that is going through the copy or is providing data for building
49480// another replica. Bring the node down will abort this copy operation which are typically expensive
49481// involving data movements.
49482type WaitForInbuildReplicaSafetyCheck struct {
49483	// PartitionID - Id of the partition which is undergoing the safety check.
49484	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49485	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
49486	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
49487}
49488
49489// MarshalJSON is the custom marshaler for WaitForInbuildReplicaSafetyCheck.
49490func (wfirsc WaitForInbuildReplicaSafetyCheck) MarshalJSON() ([]byte, error) {
49491	wfirsc.Kind = KindWaitForInbuildReplica
49492	objectMap := make(map[string]interface{})
49493	if wfirsc.PartitionID != nil {
49494		objectMap["PartitionId"] = wfirsc.PartitionID
49495	}
49496	if wfirsc.Kind != "" {
49497		objectMap["Kind"] = wfirsc.Kind
49498	}
49499	return json.Marshal(objectMap)
49500}
49501
49502// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49503func (wfirsc WaitForInbuildReplicaSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
49504	return nil, false
49505}
49506
49507// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49508func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
49509	return &wfirsc, true
49510}
49511
49512// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49513func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
49514	return nil, false
49515}
49516
49517// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49518func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
49519	return nil, false
49520}
49521
49522// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49523func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
49524	return nil, false
49525}
49526
49527// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49528func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
49529	return &wfirsc, true
49530}
49531
49532// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49533func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
49534	return nil, false
49535}
49536
49537// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49538func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
49539	return nil, false
49540}
49541
49542// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49543func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
49544	return nil, false
49545}
49546
49547// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49548func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
49549	return nil, false
49550}
49551
49552// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
49553func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
49554	return &wfirsc, true
49555}
49556
49557// WaitForPrimaryPlacementSafetyCheck safety check that waits for the primary replica that was moved out of
49558// the node due to upgrade to be placed back again on that node.
49559type WaitForPrimaryPlacementSafetyCheck struct {
49560	// PartitionID - Id of the partition which is undergoing the safety check.
49561	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49562	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
49563	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
49564}
49565
49566// MarshalJSON is the custom marshaler for WaitForPrimaryPlacementSafetyCheck.
49567func (wfppsc WaitForPrimaryPlacementSafetyCheck) MarshalJSON() ([]byte, error) {
49568	wfppsc.Kind = KindWaitForPrimaryPlacement
49569	objectMap := make(map[string]interface{})
49570	if wfppsc.PartitionID != nil {
49571		objectMap["PartitionId"] = wfppsc.PartitionID
49572	}
49573	if wfppsc.Kind != "" {
49574		objectMap["Kind"] = wfppsc.Kind
49575	}
49576	return json.Marshal(objectMap)
49577}
49578
49579// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49580func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
49581	return nil, false
49582}
49583
49584// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49585func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
49586	return &wfppsc, true
49587}
49588
49589// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49590func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
49591	return nil, false
49592}
49593
49594// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49595func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
49596	return nil, false
49597}
49598
49599// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49600func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
49601	return nil, false
49602}
49603
49604// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49605func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
49606	return nil, false
49607}
49608
49609// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49610func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
49611	return &wfppsc, true
49612}
49613
49614// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49615func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
49616	return nil, false
49617}
49618
49619// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49620func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
49621	return nil, false
49622}
49623
49624// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49625func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
49626	return nil, false
49627}
49628
49629// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
49630func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
49631	return &wfppsc, true
49632}
49633
49634// WaitForPrimarySwapSafetyCheck safety check that waits for the primary replica to be moved out of the
49635// node before starting an upgrade to ensure the availability of the primary replica for the partition.
49636type WaitForPrimarySwapSafetyCheck struct {
49637	// PartitionID - Id of the partition which is undergoing the safety check.
49638	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49639	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
49640	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
49641}
49642
49643// MarshalJSON is the custom marshaler for WaitForPrimarySwapSafetyCheck.
49644func (wfpssc WaitForPrimarySwapSafetyCheck) MarshalJSON() ([]byte, error) {
49645	wfpssc.Kind = KindWaitForPrimarySwap
49646	objectMap := make(map[string]interface{})
49647	if wfpssc.PartitionID != nil {
49648		objectMap["PartitionId"] = wfpssc.PartitionID
49649	}
49650	if wfpssc.Kind != "" {
49651		objectMap["Kind"] = wfpssc.Kind
49652	}
49653	return json.Marshal(objectMap)
49654}
49655
49656// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49657func (wfpssc WaitForPrimarySwapSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
49658	return nil, false
49659}
49660
49661// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49662func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
49663	return &wfpssc, true
49664}
49665
49666// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49667func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
49668	return nil, false
49669}
49670
49671// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49672func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
49673	return nil, false
49674}
49675
49676// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49677func (wfpssc WaitForPrimarySwapSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
49678	return nil, false
49679}
49680
49681// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49682func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
49683	return nil, false
49684}
49685
49686// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49687func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
49688	return nil, false
49689}
49690
49691// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49692func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
49693	return &wfpssc, true
49694}
49695
49696// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49697func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
49698	return nil, false
49699}
49700
49701// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49702func (wfpssc WaitForPrimarySwapSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
49703	return nil, false
49704}
49705
49706// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
49707func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
49708	return &wfpssc, true
49709}
49710
49711// WaitForReconfigurationSafetyCheck safety check that waits for the current reconfiguration of the
49712// partition to be completed before starting an upgrade.
49713type WaitForReconfigurationSafetyCheck struct {
49714	// PartitionID - Id of the partition which is undergoing the safety check.
49715	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49716	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
49717	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
49718}
49719
49720// MarshalJSON is the custom marshaler for WaitForReconfigurationSafetyCheck.
49721func (wfrsc WaitForReconfigurationSafetyCheck) MarshalJSON() ([]byte, error) {
49722	wfrsc.Kind = KindWaitForReconfiguration
49723	objectMap := make(map[string]interface{})
49724	if wfrsc.PartitionID != nil {
49725		objectMap["PartitionId"] = wfrsc.PartitionID
49726	}
49727	if wfrsc.Kind != "" {
49728		objectMap["Kind"] = wfrsc.Kind
49729	}
49730	return json.Marshal(objectMap)
49731}
49732
49733// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49734func (wfrsc WaitForReconfigurationSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
49735	return nil, false
49736}
49737
49738// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49739func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
49740	return &wfrsc, true
49741}
49742
49743// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49744func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
49745	return nil, false
49746}
49747
49748// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49749func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
49750	return nil, false
49751}
49752
49753// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49754func (wfrsc WaitForReconfigurationSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
49755	return nil, false
49756}
49757
49758// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49759func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
49760	return nil, false
49761}
49762
49763// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49764func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
49765	return nil, false
49766}
49767
49768// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49769func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
49770	return nil, false
49771}
49772
49773// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49774func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
49775	return &wfrsc, true
49776}
49777
49778// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49779func (wfrsc WaitForReconfigurationSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
49780	return nil, false
49781}
49782
49783// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
49784func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
49785	return &wfrsc, true
49786}
49787
49788// WaitingChaosEvent describes a Chaos event that gets generated when Chaos is waiting for the cluster to
49789// become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.
49790type WaitingChaosEvent struct {
49791	// Reason - Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade.
49792	Reason *string `json:"Reason,omitempty"`
49793	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
49794	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
49795	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
49796	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
49797}
49798
49799// MarshalJSON is the custom marshaler for WaitingChaosEvent.
49800func (wce WaitingChaosEvent) MarshalJSON() ([]byte, error) {
49801	wce.Kind = KindWaiting
49802	objectMap := make(map[string]interface{})
49803	if wce.Reason != nil {
49804		objectMap["Reason"] = wce.Reason
49805	}
49806	if wce.TimeStampUtc != nil {
49807		objectMap["TimeStampUtc"] = wce.TimeStampUtc
49808	}
49809	if wce.Kind != "" {
49810		objectMap["Kind"] = wce.Kind
49811	}
49812	return json.Marshal(objectMap)
49813}
49814
49815// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49816func (wce WaitingChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
49817	return nil, false
49818}
49819
49820// AsStartedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49821func (wce WaitingChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
49822	return nil, false
49823}
49824
49825// AsStoppedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49826func (wce WaitingChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
49827	return nil, false
49828}
49829
49830// AsTestErrorChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49831func (wce WaitingChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
49832	return nil, false
49833}
49834
49835// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49836func (wce WaitingChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
49837	return nil, false
49838}
49839
49840// AsWaitingChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49841func (wce WaitingChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
49842	return &wce, true
49843}
49844
49845// AsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49846func (wce WaitingChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
49847	return nil, false
49848}
49849
49850// AsBasicChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
49851func (wce WaitingChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
49852	return &wce, true
49853}
49854